From 879ea2309ec37365465c5f68227f2af79c517970 Mon Sep 17 00:00:00 2001 From: Matthew R Kasun Date: Mon, 29 Mar 2021 19:03:10 +0000 Subject: [PATCH] Get Group api test --- group_test.go | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 group_test.go diff --git a/group_test.go b/group_test.go new file mode 100644 index 00000000..ba583f28 --- /dev/null +++ b/group_test.go @@ -0,0 +1,41 @@ +package main + +import ( + "encoding/json" + "net/http" + "testing" + + "github.com/gravitl/netmaker/models" + "github.com/stretchr/testify/assert" +) + +var Groups []models.Group + +func TestGetGroups(t *testing.T) { + t.Run("GetGroupValidToken", func(t *testing.T) { + response, err := api(t, "", http.MethodGet, "http://localhost:8081/api/groups", "secretkey") + assert.Nil(t, err, err) + defer response.Body.Close() + assert.Equal(t, http.StatusOK, response.StatusCode) + + decoder := json.NewDecoder(response.Body) + for decoder.More() { + var group models.Group + err := decoder.Decode(&group) + assert.Nil(t, err, err) + Groups = append(Groups, group) + } + t.Log(Groups) + }) + t.Run("GetGroupInvalidToken", func(t *testing.T) { + response, err := api(t, "", http.MethodGet, "http://localhost:8081/api/groups", "badkey") + assert.Nil(t, err, err) + defer response.Body.Close() + var message models.ErrorResponse + err = json.NewDecoder(response.Body).Decode(&message) + assert.Nil(t, err, err) + assert.Equal(t, http.StatusUnauthorized, response.StatusCode) + assert.Equal(t, http.StatusUnauthorized, message.Code) + assert.Equal(t, "W1R3: You are unauthorized to access this endpoint.", message.Message) + }) +}