Ejemplo n.º 1
0
				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() {
			It("Should unregister it", func() {
				Expect(manager.UnRegisterEnvironment(schemaID1)).To(Succeed())
			})
		})

		Context("When it isn't registered", func() {
			It("Should return an error", func() {
				err := manager.UnRegisterEnvironment(schemaID2)
				Expect(err).To(MatchError("No environment registered for this schema"))
			})
		})
	})

	Describe("Executing a sequence of operations", func() {
		Context("A typical sequence", func() {
			It("Should do what expected", func() {
				By("Getting a registered environment")
Ejemplo n.º 2
0
			for event, javascript := range events {
				extension, err := schema.NewExtension(map[string]interface{}{
					"id":   event + "_extension",
					"code": `gohan_register_handler("` + event + `", function(context) {` + javascript + `});`,
					"path": path,
				})
				Expect(err).ToNot(HaveOccurred())
				extensions = append(extensions, extension)
			}
			Expect(env.LoadExtensionsForPath(extensions, path)).To(Succeed())
		})

		AfterEach(func() {
			tx, err := testDB.Begin()
			Expect(err).ToNot(HaveOccurred(), "Failed to create transaction.")
			environmentManager.UnRegisterEnvironment(schemaID)
			defer tx.Close()
			for _, schema := range schema.GetManager().Schemas() {
				if whitelist[schema.ID] {
					continue
				}
				err = clearTable(tx, schema)
				Expect(err).ToNot(HaveOccurred(), "Failed to clear table.")
			}
			err = tx.Commit()
			Expect(err).ToNot(HaveOccurred(), "Failed to commite transaction.")
		})

		Describe("Using gohan_db_* builtins", func() {
			BeforeEach(func() {
				schemaID = "network"