aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2022-03-01 10:07:55 +0100
committerMartin Polden <mpolden@mpolden.no>2022-03-01 10:07:55 +0100
commita05cd107528915887e9482638940ac90c0fed94a (patch)
tree61616aaf65db294640f878d8e22180409d0288e7
parent1b836d788a2f71ca26210b24a34fbd1faebd700b (diff)
Check status code from ZTS
-rw-r--r--client/go/zts/zts.go3
-rw-r--r--client/go/zts/zts_test.go5
2 files changed, 8 insertions, 0 deletions
diff --git a/client/go/zts/zts.go b/client/go/zts/zts.go
index b1a47db8e48..538971ebdd8 100644
--- a/client/go/zts/zts.go
+++ b/client/go/zts/zts.go
@@ -44,6 +44,9 @@ func (c *Client) AccessToken(domain string, certificate tls.Certificate) (string
}
defer response.Body.Close()
+ if response.StatusCode != http.StatusOK {
+ return "", fmt.Errorf("got status %d from %s", response.StatusCode, c.tokenURL.String())
+ }
var ztsResponse struct {
AccessToken string `json:"access_token"`
}
diff --git a/client/go/zts/zts_test.go b/client/go/zts/zts_test.go
index f1bd9c1ba75..0eec085aadb 100644
--- a/client/go/zts/zts_test.go
+++ b/client/go/zts/zts_test.go
@@ -13,6 +13,11 @@ func TestAccessToken(t *testing.T) {
if err != nil {
t.Fatal(err)
}
+ httpClient.NextResponse(400, `{"message": "bad request"}`)
+ _, err = client.AccessToken("vespa.vespa", tls.Certificate{})
+ if err == nil {
+ t.Fatal("want error for non-ok response status")
+ }
httpClient.NextResponse(200, `{"access_token": "foo bar"}`)
token, err := client.AccessToken("vespa.vespa", tls.Certificate{})
if err != nil {