示例#1
0
文件: mongo_test.go 项目: ricobl/beat
func (s *S) TestFindOneItemSchemaWithNotFound(c *check.C) {
	filter, err := db.NewFilterFromQueryString("filter[where][collectionName]=not-found")
	c.Assert(err, check.IsNil)

	_, dbErr := s.Db.FindOneItemSchema(filter)
	c.Assert(dbErr, check.NotNil)
	c.Assert(dbErr.StatusCode(), check.Equals, 404)
}
示例#2
0
文件: mongo_test.go 项目: ricobl/beat
func (s *S) TestFindOneItemSchemaWithExactPattern(c *check.C) {
	for i := 0; i < 3; i++ {
		dbErr := s.Db.CreateItemSchema(&schemas.ItemSchema{CollectionName: fmt.Sprintf("find-one-exact-%d", i)})
		c.Assert(dbErr, check.IsNil)
	}
	filter, err := db.NewFilterFromQueryString("filter[where][collectionName]=find-one-exact-1")
	c.Assert(err, check.IsNil)

	itemSchema, dbErr := s.Db.FindOneItemSchema(filter)
	c.Assert(dbErr, check.IsNil)
	c.Assert(itemSchema.CollectionName, check.Equals, "find-one-exact-1")
}
示例#3
0
文件: mongo_test.go 项目: ricobl/beat
func (s *S) TestFindItemSchema(c *check.C) {
	for i := 0; i < 3; i++ {
		dbErr := s.Db.CreateItemSchema(&schemas.ItemSchema{CollectionName: fmt.Sprintf("find-%d", i)})
		c.Assert(dbErr, check.IsNil)
		i++
	}
	filter, err := db.NewFilterFromQueryString("")
	c.Assert(err, check.IsNil)

	reply, dbErr := s.Db.FindItemSchema(filter)
	c.Assert(dbErr, check.IsNil)
	c.Assert(len(reply.Items) > 3, check.Equals, true)
}
示例#4
0
文件: server.go 项目: ricobl/beat
func (s *Server) findItemSchema(t *transaction.Transaction) {
	filter, err := db.NewFilterFromQueryString(t.Req.URL.RawQuery)

	if err != nil {
		t.WriteError(errors.Wraps(err, 400))
		return
	}

	reply, findErr := s.DB.FindItemSchema(filter)
	if findErr != nil {
		t.WriteError(findErr)
		return
	}

	t.WriteResult(reply)
}
示例#5
0
func (s *Server) findOneItemSchema(t *transaction.Transaction) {
	filter, err := db.NewFilterFromQueryString(t.Req.URL.RawQuery)

	if err != nil {
		t.WriteError(errors.Wraps(err, 400))
		return
	}

	itemSchema, findErr := s.DB.FindOneItemSchema(filter)
	if findErr != nil {
		t.WriteError(findErr)
		return
	}

	itemSchema.AttachDefaultLinks(t.BaseUrl())
	t.WriteResult(itemSchema)
}
示例#6
0
func (s *Server) findItemSchema(t *transaction.Transaction) {
	filter, err := db.NewFilterFromQueryString(t.Req.URL.RawQuery)

	if err != nil {
		t.WriteError(errors.Wraps(err, 400))
		return
	}

	reply, findErr := s.DB.FindItemSchema(filter)
	if findErr != nil {
		t.WriteError(findErr)
		return
	}

	baseUrl := t.BaseUrl()
	for _, itemSchema := range reply.Items {
		itemSchema.AttachDefaultLinks(baseUrl)
	}

	t.WriteResult(reply)
}