From a34684ed825a14917c260ed617fa8bf6cf1a469c Mon Sep 17 00:00:00 2001 From: Matthew R Kasun Date: Tue, 30 Mar 2021 18:42:01 +0000 Subject: [PATCH] Most Delete Group Tests --- group_test.go | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/group_test.go b/group_test.go index d0558d34..098f1b69 100644 --- a/group_test.go +++ b/group_test.go @@ -7,6 +7,7 @@ import ( "github.com/gravitl/netmaker/models" "github.com/stretchr/testify/assert" + "go.mongodb.org/mongo-driver/mongo" ) var Groups []models.Group @@ -99,5 +100,77 @@ func TestGetGroup(t *testing.T) { assert.Equal(t, "W1R3: This group does not exist.", message.Message) assert.Equal(t, http.StatusNotFound, response.StatusCode) }) +} + +func TestGetGroupNodeNumber(t *testing.T) { + t.Run("GetNumberNodesValidKey", func(t *testing.T) { + response, err := api(t, "", http.MethodGet, "http://localhost:8081/api/groups/skynet/numnodes", "secretkey") + assert.Nil(t, err, err) + defer response.Body.Close() + var message int + err = json.NewDecoder(response.Body).Decode(&message) + assert.Nil(t, err, err) + //assert.Equal(t, "W1R3: This group does not exist.", message.Message) + assert.Equal(t, http.StatusOK, response.StatusCode) + }) + t.Run("GetNumberNodesInvalidKey", func(t *testing.T) { + response, err := api(t, "", http.MethodGet, "http://localhost:8081/api/groups/skynet/numnodes", "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) + }) + t.Run("GetNumNodesBadGroup", func(t *testing.T) { + response, err := api(t, "", http.MethodGet, "http://localhost:8081/api/groups/badgroup/numnodes", "secretkey") + 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, "W1R3: This group does not exist.", message.Message) + assert.Equal(t, http.StatusNotFound, response.StatusCode) + }) +} + +func TestDeleteGroup(t *testing.T) { + t.Run("DeleteGroupInvalidKey", func(t *testing.T) { + response, err := api(t, "", http.MethodDelete, "http://localhost:8081/api/groups/skynet", "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) + }) + t.Run("DeleteGroupValidKey", func(t *testing.T) { + response, err := api(t, "", http.MethodDelete, "http://localhost:8081/api/groups/skynet", "secretkey") + assert.Nil(t, err, err) + defer response.Body.Close() + var message mongo.DeleteResult + err = json.NewDecoder(response.Body).Decode(&message) + assert.Nil(t, err, err) + assert.Equal(t, http.StatusOK, response.StatusCode) + assert.Equal(t, int64(1), message.DeletedCount) + + }) + t.Run("DeleteGroupBadGroup", func(t *testing.T) { + response, err := api(t, "", http.MethodDelete, "http://localhost:8081/api/groups/badgroup", "secretkey") + 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, "W1R3: This group does not exist.", message.Message) + assert.Equal(t, http.StatusNotFound, response.StatusCode) + }) + t.Run("DeleteGroupNodesExist", func(t *testing.T) { + t.Skip() + }) }