From e64b07f6c6f0ac1790b11a1ad018215567a4b5d3 Mon Sep 17 00:00:00 2001 From: Philipp Mieden Date: Tue, 21 May 2019 10:51:21 +0200 Subject: [PATCH] fixed repo test assertion messages, added benchmark for loading test repo --- repo/repo_test.go | 60 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 47 insertions(+), 13 deletions(-) diff --git a/repo/repo_test.go b/repo/repo_test.go index 8477032..89a48e3 100644 --- a/repo/repo_test.go +++ b/repo/repo_test.go @@ -15,26 +15,30 @@ func assertRepoIsEmpty(t *testing.T, r *Repo, empty bool) { } } else { if len(r.Directory) == 0 { - t.Fatal("directory should not have been empty, but it is") + t.Fatal("directory is empty, but should have been not") } } } func TestLoad404(t *testing.T) { - mockServer, varDir := mock.GetMockData(t) - server := mockServer.URL + "/repo-no-have" - r := NewRepo(server, varDir) - response := r.Update() + var ( + mockServer, varDir = mock.GetMockData(t) + server = mockServer.URL + "/repo-no-have" + r = NewRepo(server, varDir) + response = r.Update() + ) if response.Success { t.Fatal("can not get a repo, if the server responds with a 404") } } func TestLoadBrokenRepo(t *testing.T) { - mockServer, varDir := mock.GetMockData(t) - server := mockServer.URL + "/repo-broken-json.json" - r := NewRepo(server, varDir) - response := r.Update() + var ( + mockServer, varDir = mock.GetMockData(t) + server = mockServer.URL + "/repo-broken-json.json" + r = NewRepo(server, varDir) + response = r.Update() + ) if response.Success { t.Fatal("how could we load a broken json") } @@ -42,13 +46,17 @@ func TestLoadBrokenRepo(t *testing.T) { func TestLoadRepo(t *testing.T) { - mockServer, varDir := mock.GetMockData(t) - server := mockServer.URL + "/repo-ok.json" - r := NewRepo(server, varDir) + var ( + mockServer, varDir = mock.GetMockData(t) + server = mockServer.URL + "/repo-ok.json" + r = NewRepo(server, varDir) + ) assertRepoIsEmpty(t, r, true) + response := r.Update() assertRepoIsEmpty(t, r, false) - if response.Success == false { + + if !response.Success { t.Fatal("could not load valid repo") } if response.Stats.OwnRuntime > response.Stats.RepoRuntime { @@ -63,6 +71,32 @@ func TestLoadRepo(t *testing.T) { assertRepoIsEmpty(t, nr, false) } +func BenchmarkLoadRepo(b *testing.B) { + + var ( + t = &testing.T{} + mockServer, varDir = mock.GetMockData(t) + server = mockServer.URL + "/repo-ok.json" + r = NewRepo(server, varDir) + ) + if len(r.Directory) > 0 { + b.Fatal("directory should have been empty, but is not") + } + + b.ReportAllocs() + b.ResetTimer() + for n := 0; n < b.N; n++ { + response := r.Update() + if len(r.Directory) == 0 { + b.Fatal("directory is empty, but should have been not") + } + + if !response.Success { + b.Fatal("could not load valid repo") + } + } +} + func TestLoadRepoDuplicateUris(t *testing.T) { mockServer, varDir := mock.GetMockData(t) server := mockServer.URL + "/repo-duplicate-uris.json"