Skip to content

Commit

Permalink
feat: test standard errors (#183)
Browse files Browse the repository at this point in the history
* feat: test standard errors
  • Loading branch information
kindermoumoute authored Sep 13, 2019
1 parent 16ea79c commit 6594e40
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 5 deletions.
71 changes: 71 additions & 0 deletions internal/e2e/errors_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
package e2e

import (
"testing"

"github.com/scaleway/scaleway-sdk-go/api/test/v1"
"github.com/scaleway/scaleway-sdk-go/internal/testhelpers"
"github.com/scaleway/scaleway-sdk-go/scw"
)

func TestStandardErrors(t *testing.T) {
client, _, err := newE2EClient(true)
testhelpers.AssertNoError(t, err)

_, err = client.GetHuman(&test.GetHumanRequest{
HumanID: "b3ba839a-dcf2-4b0a-ac81-fc32370052a0",
})
testhelpers.Equals(t, &scw.ResourceNotFound{
Resource: "human",
ResourceID: "b3ba839a-dcf2-4b0a-ac81-fc32370052a0",
}, err)

_, err = client.CreateHuman(&test.CreateHumanRequest{
AltitudeInMeter: -7000000,
})
testhelpers.Equals(t, &scw.InvalidArgumentsError{
Details: []struct {
ArgumentName string `json:"argument_name"`
Reason string `json:"reason"`
HelpMessage string `json:"help_message"`
}{
{
ArgumentName: "altitude_in_meter",
Reason: "constraint",
HelpMessage: "lowest altitude on earth is -6371km",
},
},
}, err)

var human *test.Human
for i := 0; i < 10; i++ {
human, err = client.CreateHuman(&test.CreateHumanRequest{})
testhelpers.AssertNoError(t, err)
}

_, err = client.CreateHuman(&test.CreateHumanRequest{})
testhelpers.Equals(t, &scw.QuotasExceededError{
Details: []struct {
Resource string `json:"resource"`
Quota uint32 `json:"quota"`
Current uint32 `json:"current"`
}{
{
Resource: "human",
Quota: 10,
Current: 10,
},
},
}, err)

_, err = client.RunHuman(&test.RunHumanRequest{HumanID: human.ID})
testhelpers.AssertNoError(t, err)

_, err = client.UpdateHuman(&test.UpdateHumanRequest{HumanID: human.ID})
testhelpers.Equals(t, &scw.TransientStateError{
Resource: "human",
ResourceID: human.ID,
CurrentState: "running",
}, err)

}
5 changes: 0 additions & 5 deletions internal/e2e/endtoend_test.go → internal/e2e/human_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,9 +137,4 @@ func TestHuman(t *testing.T) {
})
testhelpers.AssertNoError(t, err)

// get
_, err = client.GetHuman(&test.GetHumanRequest{
HumanID: human.ID,
})
testhelpers.Equals(t, "scaleway-sdk-go: http error 404 Not Found: human not found", err.Error())
}

0 comments on commit 6594e40

Please sign in to comment.