github.com/leeclow-ops/gophercloud@v1.2.1/testing/errors_test.go (about) 1 package testing 2 3 import ( 4 "testing" 5 6 "github.com/leeclow-ops/gophercloud" 7 th "github.com/leeclow-ops/gophercloud/testhelper" 8 ) 9 10 func returnsUnexpectedResp(code int) gophercloud.ErrUnexpectedResponseCode { 11 return gophercloud.ErrUnexpectedResponseCode{ 12 URL: "http://example.com", 13 Method: "GET", 14 Expected: []int{200}, 15 Actual: code, 16 Body: nil, 17 ResponseHeader: nil, 18 } 19 } 20 21 func TestGetResponseCode404(t *testing.T) { 22 var err404 error = gophercloud.ErrDefault404{ErrUnexpectedResponseCode: returnsUnexpectedResp(404)} 23 24 err, ok := err404.(gophercloud.StatusCodeError) 25 th.AssertEquals(t, true, ok) 26 th.AssertEquals(t, err.GetStatusCode(), 404) 27 } 28 29 func TestGetResponseCode502(t *testing.T) { 30 var err502 error = gophercloud.ErrDefault502{ErrUnexpectedResponseCode: returnsUnexpectedResp(502)} 31 32 err, ok := err502.(gophercloud.StatusCodeError) 33 th.AssertEquals(t, true, ok) 34 th.AssertEquals(t, err.GetStatusCode(), 502) 35 } 36 37 func TestGetResponseCode504(t *testing.T) { 38 var err504 error = gophercloud.ErrDefault504{ErrUnexpectedResponseCode: returnsUnexpectedResp(504)} 39 40 err, ok := err504.(gophercloud.StatusCodeError) 41 th.AssertEquals(t, true, ok) 42 th.AssertEquals(t, err.GetStatusCode(), 504) 43 }