示例#1
0
文件: otto_test.go 项目: nati/gohan
			context["auth"] = auth
			context["identity_service"] = &middleware.FakeIdentity{}

			env = otto.NewEnvironment(testDB, &middleware.FakeIdentity{})
			environmentManager.RegisterEnvironment(schemaID, env)
			extensions = []*schema.Extension{}
			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()