Skip to content

Commit 6594e40

Browse files
feat: test standard errors (#183)
* feat: test standard errors
1 parent 16ea79c commit 6594e40

File tree

2 files changed

+71
-5
lines changed

2 files changed

+71
-5
lines changed

internal/e2e/errors_test.go

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
package e2e
2+
3+
import (
4+
"testing"
5+
6+
"github.com/scaleway/scaleway-sdk-go/api/test/v1"
7+
"github.com/scaleway/scaleway-sdk-go/internal/testhelpers"
8+
"github.com/scaleway/scaleway-sdk-go/scw"
9+
)
10+
11+
func TestStandardErrors(t *testing.T) {
12+
client, _, err := newE2EClient(true)
13+
testhelpers.AssertNoError(t, err)
14+
15+
_, err = client.GetHuman(&test.GetHumanRequest{
16+
HumanID: "b3ba839a-dcf2-4b0a-ac81-fc32370052a0",
17+
})
18+
testhelpers.Equals(t, &scw.ResourceNotFound{
19+
Resource: "human",
20+
ResourceID: "b3ba839a-dcf2-4b0a-ac81-fc32370052a0",
21+
}, err)
22+
23+
_, err = client.CreateHuman(&test.CreateHumanRequest{
24+
AltitudeInMeter: -7000000,
25+
})
26+
testhelpers.Equals(t, &scw.InvalidArgumentsError{
27+
Details: []struct {
28+
ArgumentName string `json:"argument_name"`
29+
Reason string `json:"reason"`
30+
HelpMessage string `json:"help_message"`
31+
}{
32+
{
33+
ArgumentName: "altitude_in_meter",
34+
Reason: "constraint",
35+
HelpMessage: "lowest altitude on earth is -6371km",
36+
},
37+
},
38+
}, err)
39+
40+
var human *test.Human
41+
for i := 0; i < 10; i++ {
42+
human, err = client.CreateHuman(&test.CreateHumanRequest{})
43+
testhelpers.AssertNoError(t, err)
44+
}
45+
46+
_, err = client.CreateHuman(&test.CreateHumanRequest{})
47+
testhelpers.Equals(t, &scw.QuotasExceededError{
48+
Details: []struct {
49+
Resource string `json:"resource"`
50+
Quota uint32 `json:"quota"`
51+
Current uint32 `json:"current"`
52+
}{
53+
{
54+
Resource: "human",
55+
Quota: 10,
56+
Current: 10,
57+
},
58+
},
59+
}, err)
60+
61+
_, err = client.RunHuman(&test.RunHumanRequest{HumanID: human.ID})
62+
testhelpers.AssertNoError(t, err)
63+
64+
_, err = client.UpdateHuman(&test.UpdateHumanRequest{HumanID: human.ID})
65+
testhelpers.Equals(t, &scw.TransientStateError{
66+
Resource: "human",
67+
ResourceID: human.ID,
68+
CurrentState: "running",
69+
}, err)
70+
71+
}

internal/e2e/endtoend_test.go renamed to internal/e2e/human_test.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,4 @@ func TestHuman(t *testing.T) {
137137
})
138138
testhelpers.AssertNoError(t, err)
139139

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

0 commit comments

Comments
 (0)