key tests updated

This commit is contained in:
Matthew R Kasun 2021-04-17 16:52:53 -04:00
parent 34512235f3
commit ed80a219b9
2 changed files with 12 additions and 5 deletions

View file

@ -673,14 +673,21 @@ func deleteAccessKey(w http.ResponseWriter, r *http.Request) {
}
//basically, turn the list of access keys into the list of access keys before and after the item
//have not done any error handling for if there's like...1 item. I think it works? need to test.
found := false
for i := len(network.AccessKeys) - 1; i >= 0; i-- {
currentkey := network.AccessKeys[i]
if currentkey.Name == keyname {
network.AccessKeys = append(network.AccessKeys[:i],
network.AccessKeys[i+1:]...)
found = true
}
}
if !found {
err = errors.New("key " + keyname + " does not exist")
returnErrorResponse(w, r, formatError(err, "badrequest"))
return
}
collection := mongoconn.Client.Database("netmaker").Collection("networks")

View file

@ -222,7 +222,8 @@ func TestCreateAccessKey(t *testing.T) {
}
func TestDeleteKey(t *testing.T) {
//ensure key exists
createKey(t)
t.Run("KeyValid", func(t *testing.T) {
//fails -- deletecount not returned
response, err := api(t, "", http.MethodDelete, baseURL+"/api/networks/skynet/keys/skynet", "secretkey")
@ -238,16 +239,15 @@ func TestDeleteKey(t *testing.T) {
}
})
t.Run("InValidKey", func(t *testing.T) {
//responds ok, will nil record returned.. should be an error.
response, err := api(t, "", http.MethodDelete, baseURL+"/api/networks/skynet/keys/badkey", "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 key does not exist.", message.Message)
assert.Equal(t, http.StatusNotFound, response.StatusCode)
assert.Equal(t, http.StatusBadRequest, message.Code)
assert.Equal(t, "key badkey does not exist", message.Message)
assert.Equal(t, http.StatusBadRequest, response.StatusCode)
})
t.Run("KeyInValidnetwork", func(t *testing.T) {
response, err := api(t, "", http.MethodDelete, baseURL+"/api/networks/badnetwork/keys/skynet", "secretkey")