当前位置: 首页>>代码示例>>Golang>>正文


Golang test.NewAssert函数代码示例

本文整理汇总了Golang中github.com/speedland/wcg/gae/test.NewAssert函数的典型用法代码示例。如果您正苦于以下问题:Golang NewAssert函数的具体用法?Golang NewAssert怎么用?Golang NewAssert使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了NewAssert函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: TestDelChannelApi

func TestDelChannelApi(t *testing.T) {
	test.RunTestServer(func(ts *test.TestServer) {
		assert := test.NewAssert(t)
		// prepare
		d := NewTvChannelDriver(TEST_APP_KEY, ts.Context, wcg.NewLogger(nil))
		ent1 := &tv.TvChannel{"c1", "s1", "foo", "bar"}
		ent2 := &tv.TvChannel{"c2", "s2", "hoge", "piyo"}
		d.Put(d.NewKey(ent1.Key(), 0, nil), ent1)
		d.Put(d.NewKey(ent2.Key(), 0, nil), ent2)

		err := util.WaitFor(func() bool {
			c, _ := d.NewQuery().Count()
			return c == 2
		}, util.DefaultWaitForTimeout)
		assert.Nil(err, "Confirm TvChannel entities has been stored within a timeout window.")
		p := app.Api.Path("/channels/c1/s1.json")
		req := ts.Delete(p)
		lib.SetApiTokenForTest(req, lib.Admin)
		res := req.RouteTo(app.Routes())
		assert.HttpStatus(200, res)

		err = util.WaitFor(func() bool {
			c, _ := d.NewQuery().Count()
			return c == 1
		}, util.DefaultWaitForTimeout)
		assert.Nil(err, "DELETE %s Confirm TvChannel entities has been deleted via API within a timeout window.", p)

		// Confirm cache invalidation
		mc := memcache.NewDriver(ts.Context, wcg.NewLogger(nil))
		assert.Ok(!mc.Exists(MC_KEY_CHANNELS), "DELETE %s should invalidate the cache", p)

	})
}
开发者ID:speedland,项目名称:apps,代码行数:33,代码来源:api_channels_test.go

示例2: TestAddKeywordApi

func TestAddKeywordApi(t *testing.T) {
	test.RunTestServer(func(ts *test.TestServer) {
		assert := test.NewAssert(t)
		p := app.Api.Path("/keywords/")
		req := ts.PostForm(p, url.Values{
			"keyword":  []string{"モーニング娘。'15"},
			"category": []string{"モーニング娘。"},
			"scope":    []string{"1"},
		})
		lib.SetApiTokenForTest(req, lib.Admin)
		var got map[string]interface{}
		res := req.RouteTo(app.Routes())
		res.Json(&got)
		assert.HttpStatus(201, res)
		assert.EqStr(
			"http://localhost:8080/api/pt/keywords/モーニング娘。'15.json",
			got["location"].(string),
			"POST %s location",
			p,
		)

		// Confirm cache invalidation
		mc := memcache.NewDriver(ts.Context, wcg.NewLogger(nil))
		assert.Ok(!mc.Exists(MC_KEY_KEYWORDS), "POST %s should invalidate the cache", p)

	})
}
开发者ID:speedland,项目名称:apps,代码行数:27,代码来源:api_keywords_test.go

示例3: TestSave

func TestSave(t *testing.T) {
	test.RunTestServer(func(ts *test.TestServer) {
		assert := test.NewAssert(t)
		appCtx := apptest.NewAppContextFromTestServer(app.App, ts)

		// TODO: fixture
		// prepare
		p := &blog.Post{
			Title:     "test post",
			Content:   "test content",
			Tags:      []string{},
			IsDraft:   false,
			IsHidden:  false,
			PublishAt: time.Now(),
		}
		d := NewPostDriver(appCtx)
		_, err := d.Save(p)
		assert.Nil(err, "Save() should not return an error on creating a new post")
		assert.Ok(len(p.Id) > 0, "post Id should be set after Save().")

		lastUpdate := p.UpdatedAt

		_, err = d.Save(p)
		assert.Nil(err, "Save() should not return an error on updating an exising post")
		assert.Ok(p.UpdatedAt.After(lastUpdate), "UpdatedAt should be updated afeter Save()")
	})
}
开发者ID:speedland,项目名称:apps,代码行数:27,代码来源:post_driver_test.go

示例4: TestApiUpdateEvent

func TestApiUpdateEvent(t *testing.T) {
	test.RunTestServer(func(ts *test.TestServer) {
		assert := test.NewAssert(t)
		appCtx := apptest.NewAppContextFromTestServer(app.TestApp().App, ts)
		test.DatastoreFixture(ts.Context, "./fixtures/TestApiUpdateEvent.json", nil)
		d := NewEventDriver(appCtx)

		var e event.Event

		p := app.TestApp().Api.Path("/events/event1.json")
		req := ts.PutForm(p, url.Values{
			"title":      []string{"Updated Title"},
			"link":       []string{"http://www.up.example.com/"},
			"image_link": []string{"http://www.up.example.com/img.png"},
		})
		lib.SetApiTokenForTest(req, lib.Admin)
		res := req.RouteTo(app.TestApp().Routes())
		assert.HttpStatus(200, res)

		err := util.WaitFor(func() bool {
			d.Load("event1", &e)
			return e.Title == "Updated Title"
		}, util.DefaultWaitForTimeout)
		assert.Nil(err, "Confirm the show has been inserted within timeout window.")

		assert.EqStr("Updated Title", e.Title, "Title")
		assert.EqStr("http://www.up.example.com/", e.Link, "Link")
		assert.EqStr("http://www.up.example.com/img.png", e.ImageLink, "ImageLink")
	})
}
开发者ID:speedland,项目名称:apps,代码行数:30,代码来源:api_event_test.go

示例5: TestAddChannelApi

func TestAddChannelApi(t *testing.T) {
	test.RunTestServer(func(ts *test.TestServer) {
		assert := test.NewAssert(t)
		p := app.Api.Path("/channels/")
		req := ts.PostForm(p, url.Values{
			"cid":             []string{"c1"},
			"sid":             []string{"s1"},
			"name":            []string{"foo"},
			"iepg_station_id": []string{"bar"},
		})
		lib.SetApiTokenForTest(req, lib.Admin)
		var got map[string]interface{}
		res := req.RouteTo(app.Routes())
		res.Json(&got)
		assert.HttpStatus(201, res)
		assert.EqStr(
			"http://localhost:8080/api/pt/channels/c1/s1.json",
			got["location"].(string),
			"POST %s location",
			p,
		)

		// Confirm cache invalidation
		mc := memcache.NewDriver(ts.Context, wcg.NewLogger(nil))
		assert.Ok(!mc.Exists(MC_KEY_CHANNELS), "POST %s should invalidate the cache", p)

	})
}
开发者ID:speedland,项目名称:apps,代码行数:28,代码来源:api_channels_test.go

示例6: TestApiCreateEvent_201

func TestApiCreateEvent_201(t *testing.T) {
	test.RunTestServer(func(ts *test.TestServer) {
		assert := test.NewAssert(t)
		appCtx := apptest.NewAppContextFromTestServer(app.TestApp().App, ts)
		d := NewEventDriver(appCtx)

		var respJson map[string]interface{}
		var e event.Event

		p := app.TestApp().Api.Path("/events/")
		req := ts.PostForm(p, url.Values{
			"title":      []string{"test tour title"},
			"link":       []string{"http://www.example.com/"},
			"image_link": []string{"http://www.example.com/img.png"},
		})
		lib.SetApiTokenForTest(req, lib.Admin)
		res := req.RouteTo(app.TestApp().Routes())
		assert.HttpStatus(201, res)

		err := util.WaitFor(func() bool {
			c, _ := d.NewQuery().Count()
			return c == 1
		}, util.DefaultWaitForTimeout)
		assert.Nil(err, "Confirm the show has been inserted within timeout window.")

		res.Json(&respJson)
		d.Load(respJson["id"].(string), &e)
		assert.EqStr("test tour title", e.Title, "Title")
		assert.EqStr("http://www.example.com/", e.Link, "Link")
		assert.EqStr("http://www.example.com/img.png", e.ImageLink, "ImageLink")
	})
}
开发者ID:speedland,项目名称:apps,代码行数:32,代码来源:api_event_test.go

示例7: TestApiCreateEvent_400

func TestApiCreateEvent_400(t *testing.T) {
	var genParams = func(omitName string) url.Values {
		params := url.Values{
			"title":      []string{"test tour title"},
			"link":       []string{"http://www.example.com/"},
			"image_link": []string{"http://www.example.com/img.png"},
		}
		params.Del(omitName)
		return params
	}

	test.RunTestServer(func(ts *test.TestServer) {
		assert := test.NewAssert(t)
		test.DatastoreFixture(ts.Context, "./fixtures/TestApiCreateEventShow.json", nil)
		p := app.TestApp().Api.Path("/events/")
		var testOmitParams = []string{
			"title", "link", "image_link",
		}
		for _, paramName := range testOmitParams {
			req := ts.PostForm(p, genParams(paramName))
			lib.SetApiTokenForTest(req, lib.Admin)
			res := req.RouteTo(app.TestApp().Routes())
			assert.HttpStatus(400, res)
		}
	})
}
开发者ID:speedland,项目名称:apps,代码行数:26,代码来源:api_event_test.go

示例8: TestRedirect

func TestRedirect(t *testing.T) {
	test.RunTestServer(func(ts *test.TestServer) {
		assert := test.NewAssert(t)
		GAEServer.Routes().Get("/l/", Redirect)
		res := ts.Get("/l/").RouteTo(GAEServer.Routes())
		assert.HttpStatus(404, res)

		res = ts.Get("/l/?u=foobar").RouteTo(GAEServer.Routes())
		assert.HttpStatus(404, res)

		res = ts.
			Get(fmt.Sprintf("/l/?u=%s", url.QueryEscape("http://foobar.example.com/"))).
			RouteTo(GAEServer.Routes())
		assert.HttpStatus(302, res)
		assert.HttpHeader("http://foobar.example.com/", res, "Location")

		res = ts.
			Get(fmt.Sprintf("/l/?u=%s", url.QueryEscape("http://foobar.example.com/?foobar"))).
			RouteTo(GAEServer.Routes())
		assert.HttpStatus(302, res)
		assert.HttpHeader("http://foobar.example.com/?foobar", res, "Location")

		res = ts.
			Get(fmt.Sprintf("/l/?u=%s", url.QueryEscape("http://foobar.example.com/?var=val&hoge=fuga"))).
			RouteTo(GAEServer.Routes())
		assert.HttpStatus(302, res)
		assert.HttpHeader("http://foobar.example.com/?var=val&hoge=fuga", res, "Location")

		res = ts.
			Get(fmt.Sprintf("/l/?u=%s", url.QueryEscape("http://foobar.example.com/?var=val&hoge=fuga#hashhoge"))).
			RouteTo(GAEServer.Routes())
		assert.HttpStatus(302, res)
		assert.HttpHeader("http://foobar.example.com/?var=val&hoge=fuga#hashhoge", res, "Location")
	})
}
开发者ID:speedland,项目名称:apps,代码行数:35,代码来源:redirector_test.go

示例9: TestDeleteAmebloContents

func TestDeleteAmebloContents(t *testing.T) {
	test.RunTestServer(func(ts *test.TestServer) {
		assert := test.NewAssert(t)
		appCtx := apptest.NewAppContextFromTestServer(app.TestApp().App, ts)

		// prepare
		amUrl := "http://ameblo.jp/eriko--imai/entry-11980960390.html"
		d := NewAmebloEntryDriver(appCtx)

		t1 := time.Now()
		ent := &ameblo.AmebloEntry{
			Title:      "切り替え〜る",
			Owner:      "今井絵理子",
			Url:        amUrl,
			UpdatedAt:  t1,
			CrawledAt:  time.Time{},
			Content:    "",
			AmLikes:    5,
			AmComments: 10,
		}
		err := updateIndexes(appCtx, []*ameblo.AmebloEntry{ent})
		assert.Nil(err, "UpdateIndexes() should not return an error on creating an ameblo entry")

		p := app.TestApp().Api.Path("/ameblo/contents/今井絵理子.json")
		req := ts.Delete(p)
		lib.SetApiTokenForTest(req, lib.Admin)
		res := req.RouteTo(app.TestApp().Routes())
		assert.HttpStatus(200, res)

		// confirm the content updated.
		var ent1 ameblo.AmebloEntry
		err = d.Get(d.NewKey(amUrl, 0, nil), &ent1)
		assert.Ok(ent1.CrawledAt.Equal(time.Time{}), "DELETE %s should delete the cralwing timestamp.", p)
	})
}
开发者ID:speedland,项目名称:apps,代码行数:35,代码来源:api_test.go

示例10: TestApiCreateEventShow_400

func TestApiCreateEventShow_400(t *testing.T) {
	var genParams = func(omitName string) url.Values {
		params := url.Values{
			"open_at":    []string{"2015-01-02T06:00:00Z"},
			"start_at":   []string{"2015-01-02T07:00:00Z"},
			"latitude":   []string{"37.39"},
			"longitude":  []string{"140.38"},
			"venue_id":   []string{"153237058036933"},
			"venue_name": []string{"郡山市民文化センター"},
			"pia_link":   []string{"http://pia.jp/link"},
			"ya_keyword": []string{"郡山"},
		}
		params.Del(omitName)
		return params
	}

	test.RunTestServer(func(ts *test.TestServer) {
		assert := test.NewAssert(t)
		test.DatastoreFixture(ts.Context, "./fixtures/TestApiCreateEventShow.json", nil)
		p := app.TestApp().Api.Path("/events/event1/shows")
		var testOmitParams = []string{
			"open_at", "start_at", "latitude", "longitude", "venue_id", "venue_name", // "pia_link", "ya_keyword",
		}
		for _, paramName := range testOmitParams {
			req := ts.PostForm(p, genParams(paramName))
			lib.SetApiTokenForTest(req, lib.Admin)
			res := req.RouteTo(app.TestApp().Routes())
			assert.HttpStatus(400, res)
		}
	})
}
开发者ID:speedland,项目名称:apps,代码行数:31,代码来源:api_event_show_test.go

示例11: TestUpdateApiToken

func TestUpdateApiToken(t *testing.T) {
	test.RunTestServer(func(ts *test.TestServer) {
		assert := test.NewAssert(t)
		appCtx := apptest.NewAppContextFromTestServer(app, ts)

		// prepare
		d := lib.NewApiTokenDriver(appCtx)
		tok, _ := d.Issue("token1")
		d.Issue("token2")
		util.WaitFor(func() bool {
			c, _ := d.NewQuery().Count()
			return c == 2
		}, util.DefaultWaitForTimeout)

		var tokUrl = fmt.Sprintf("/api/admin/api_tokens/%s/", tok.Key())
		// Case 400
		req := ts.PutForm(tokUrl, url.Values{
			"desc":     []string{"updated"},
			"alert_on": []string{"-20"},
		})
		lib.SetApiTokenForTest(req, lib.Admin)
		res := req.RouteTo(app.Routes())
		assert.HttpStatus(400, res)

		// Case 200
		req = ts.PutForm(tokUrl, url.Values{
			"desc":     []string{"updated"},
			"alert_on": []string{"30"},
		})
		lib.SetApiTokenForTest(req, lib.Admin)
		res = req.RouteTo(app.Routes())
		assert.HttpStatus(200, res)

	})
}
开发者ID:speedland,项目名称:apps,代码行数:35,代码来源:api_api_tokens_test.go

示例12: TestCreateAndDeleteEvent

func TestCreateAndDeleteEvent(t *testing.T) {
	test.RunTestServer(func(ts *test.TestServer) {
		assert := test.NewAssert(t)
		appCtx := apptest.NewAppContextFromTestServer(app.TestApp().App, ts)
		d := NewEventDriver(appCtx)
		t, err := d.Save(&event.Event{
			Title:     "Test Tour",
			Link:      "http://example.com",
			ImageLink: "http://example.com/foo.jpg",
		})
		assert.Nil(err, "TourDriver#Save should not return an error.")
		assert.Ok(t.Id != "", "TourDriver#Save should set Id for the given tour object.")

		err = util.WaitFor(func() bool {
			c, _ := d.NewQuery().Count()
			return c == 1
		}, util.DefaultWaitForTimeout)
		assert.Nil(err, "Confirm the tour has been inserted within timeout window.")

		err = d.Delete(t.Id)
		assert.Nil(err, "TourDriver#Delete should not return an error.")

		err = util.WaitFor(func() bool {
			c, _ := d.NewQuery().Count()
			return c == 1
		}, util.DefaultWaitForTimeout)
		assert.Nil(err, "Confirm the tour has been deleted within timeout window.")
	})
}
开发者ID:speedland,项目名称:apps,代码行数:29,代码来源:event_driver_test.go

示例13: Test_updateIndexes

func Test_updateIndexes(t *testing.T) {
	test.RunTestServer(func(ts *test.TestServer) {
		assert := test.NewAssert(t)
		appCtx := apptest.NewAppContextFromTestServer(app.TestApp().App, ts)
		d := NewAmebloEntryDriver(appCtx)
		amUrl := "http://ameblo.jp/foo/bar.html"
		key := d.NewKey(amUrl, 0, nil)

		t1 := time.Now()
		ent := &ameblo.AmebloEntry{
			Title:      "Test Title",
			Owner:      "Myblog",
			Url:        amUrl,
			UpdatedAt:  t1,
			CrawledAt:  t1,
			Content:    "crawled content",
			AmLikes:    5,
			AmComments: 10,
		}
		err := updateIndexes(appCtx, []*ameblo.AmebloEntry{ent})
		assert.Nil(err, "UpdateIndexes() should not return an error on creating an ameblo entry")

		err = util.WaitFor(func() bool {
			var ent ameblo.AmebloEntry
			d.Get(key, &ent)
			return ent.Url == amUrl
		}, util.DefaultWaitForTimeout)
		assert.Nil(err, "Confirm entry has been inserted within timeout window.")

		// test confirm not to update content and crawled at
		t2 := time.Now()
		newent := &ameblo.AmebloEntry{
			Title:      "(Updated) Test Title",
			Owner:      "(Updated) Myblog",
			Url:        "http://ameblo.jp/foo/bar.html",
			UpdatedAt:  t2,
			CrawledAt:  t2,
			Content:    "",
			AmLikes:    10,
			AmComments: 15,
		}
		err = updateIndexes(appCtx, []*ameblo.AmebloEntry{newent})
		assert.Nil(err, "UpdateIndexes() should not return an error on creating an ameblo entry")

		err = util.WaitFor(func() bool {
			var updatedent ameblo.AmebloEntry
			d.Get(key, &updatedent)
			return updatedent.AmLikes == 10 && updatedent.AmComments == 15
		}, util.DefaultWaitForTimeout)

		var updatedent ameblo.AmebloEntry
		d.Get(key, &updatedent)
		assert.Nil(err, "AmLikes and AmComments should be updated after UpdateIndexes() without timeout")
		assert.EqStr("crawled content", updatedent.Content, "Content should not be updated after UpdateIndexes()")
		assert.Ok(t1.Unix() == updatedent.CrawledAt.Unix(), "CrawledAt should not be updated UpdateIndexes")
	})
}
开发者ID:speedland,项目名称:apps,代码行数:57,代码来源:func_test.go

示例14: TestUpdate

func TestUpdate(t *testing.T) {
	test.RunTestServer(func(ts *test.TestServer) {
		assert := test.NewAssert(t)
		app := NewApp("default", "TestApp")
		d := NewApiTokenDriver(NewAppContextFromTestServer(app, ts))
		token, err := d.Issue("New Api Token")
		assert.Nil(err, "ApiTokenDriver#Issue should not return an error")
		err = d.Update(token.Token, "Updated Api Token", 3*time.Second)
		assert.Nil(err, "ApiTokenDriver#Update should not return an error")
	})
}
开发者ID:speedland,项目名称:apps,代码行数:11,代码来源:api_token_driver_test.go

示例15: TestGetVersion

func TestGetVersion(t *testing.T) {
	test.RunTestServer(func(ts *test.TestServer) {
		var got interface{}
		assert := test.NewAssert(t)
		req := ts.Get("/api/admin/version/")
		lib.SetApiTokenForTest(req, lib.Admin)
		res := req.RouteTo(app.Routes())
		res.Json(&got)
		assert.HttpStatus(200, res)
	})
}
开发者ID:speedland,项目名称:apps,代码行数:11,代码来源:api_version_test.go


注:本文中的github.com/speedland/wcg/gae/test.NewAssert函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。