From 431d87bda1d69e1aac7aa9d9a1a376490882941e Mon Sep 17 00:00:00 2001 From: Derek Tamsen Date: Tue, 23 Jul 2019 21:36:43 -0700 Subject: [PATCH] convert cryptserver mock tests to cases --- tools/cryptservermock/cryptservermock_test.go | 49 +++++++++++++------ 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/tools/cryptservermock/cryptservermock_test.go b/tools/cryptservermock/cryptservermock_test.go index ca7d285..0c0863f 100644 --- a/tools/cryptservermock/cryptservermock_test.go +++ b/tools/cryptservermock/cryptservermock_test.go @@ -7,6 +7,7 @@ package main import ( + "fmt" "net/http" "net/http/httptest" "net/url" @@ -14,25 +15,41 @@ import ( "testing" ) +var testCases = []struct { + data url.Values + uri string + want int +}{ + { + uri: "/checkin/", + data: url.Values{ + "test": []string{"data"}, + }, + want: http.StatusOK, + }, +} + func TestMain(t *testing.T) { - serv := &cryptServerHandler{} - expected := url.Values{} - expected.Add("test", "data") + for _, tc := range testCases { + t.Run(fmt.Sprintf("%s, expect: %v", tc.data, tc.want), func(t *testing.T) { + serv := &cryptServerHandler{} - req, err := http.NewRequest( - "GET", - "/checkin/", - strings.NewReader(expected.Encode()), - ) - if err != nil { - t.Fatal(err) - } + req, err := http.NewRequest( + "GET", + tc.uri, + strings.NewReader(tc.data.Encode()), + ) + if err != nil { + t.Fatal(err) + } - rr := httptest.NewRecorder() - handler := http.HandlerFunc(serv.ServeHTTP) - handler.ServeHTTP(rr, req) + rr := httptest.NewRecorder() + handler := http.HandlerFunc(serv.ServeHTTP) + handler.ServeHTTP(rr, req) - if status := rr.Code; status != http.StatusOK { - t.Errorf("handler returned %v expected %v", status, http.StatusOK) + if status := rr.Code; status != tc.want { + t.Errorf("handler returned %v expected %v", status, tc.want) + } + }) } }