Skip to content

Commit

Permalink
convert cryptserver mock tests to cases
Browse files Browse the repository at this point in the history
  • Loading branch information
derektamsen committed Jul 24, 2019
1 parent 231d1af commit 431d87b
Showing 1 changed file with 33 additions and 16 deletions.
49 changes: 33 additions & 16 deletions tools/cryptservermock/cryptservermock_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,32 +7,49 @@
package main

import (
"fmt"
"net/http"
"net/http/httptest"
"net/url"
"strings"
"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)
}
})
}
}

0 comments on commit 431d87b

Please sign in to comment.