Beispiel #1
0
				Expect(manager.RegisterEnvironment(schemaID2, env2)).To(Succeed())
			})
		})

		Context("When it is registered", func() {
			It("Should return an error", func() {
				err := manager.RegisterEnvironment(schemaID1, env2)
				Expect(err).To(MatchError("Environment already registered for this schema"))
			})
		})
	})

	Describe("Getting an environment", func() {
		Context("When it is registered", func() {
			It("Should return it", func() {
				env, ok := manager.GetEnvironment(schemaID1)
				Expect(ok).To(BeTrue())
				Expect(env).To(Equal(env1))
			})
		})

		Context("When it isn't registered", func() {
			It("Should return a false ok", func() {
				_, ok := manager.GetEnvironment(schemaID2)
				Expect(ok).To(BeFalse())
			})
		})
	})

	Describe("Unregistering an environment", func() {
		Context("When it is registered", func() {
Beispiel #2
0
				var consume = function() {
					for (var i = 0; i < 10; i++) {
						var result = test_consume();
						console.log("consumed:", result);
					}
				}`)).To(BeNil())
				environmentManager.RegisterEnvironment("test_race", env)
			})

			It("Should work", func() {
				var consumerError = make(chan error)
				var producerError = make(chan error)

				go func() {
					testEnv, _ := environmentManager.GetEnvironment("test_race")
					ottoEnv := testEnv.(*otto.Environment)
					_, err := ottoEnv.VM.Call("consume", nil)
					consumerError <- err
				}()

				go func() {
					testEnv, _ := environmentManager.GetEnvironment("test_race")
					ottoEnv := testEnv.(*otto.Environment)
					_, err := ottoEnv.VM.Call("produce", nil)
					producerError <- err
				}()

				select {
				case err := <-consumerError:
					Expect(err).To(BeNil())