cmd/gitops-pusher: correctly handle ACL tests failing (#5016)

Apparently the API for running ACL tests returns a 200 if the ACL tests
fail. This is weird, but we can handle it.

Signed-off-by: Xe <xe@tailscale.com>
pull/5024/head
Xe Iaso 2 years ago committed by GitHub
parent c7993d2b88
commit 5bb44a4a5c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -132,7 +132,13 @@ func applyNewACL(ctx context.Context, tailnet, apiKey, policyFname, oldEtag stri
got := resp.StatusCode got := resp.StatusCode
want := http.StatusOK want := http.StatusOK
if got != want { if got != want {
return fmt.Errorf("wanted HTTP status code %d but got %d", want, got) var ate ACLTestError
err := json.NewDecoder(resp.Body).Decode(&ate)
if err != nil {
return err
}
return ate
} }
return nil return nil
@ -159,13 +165,19 @@ func testNewACLs(ctx context.Context, tailnet, apiKey, policyFname string) error
} }
defer resp.Body.Close() defer resp.Body.Close()
if resp.StatusCode != http.StatusOK { got := resp.StatusCode
want := http.StatusOK
if got != want {
return fmt.Errorf("wanted HTTP status code %d but got %d", want, got)
}
var ate ACLTestError var ate ACLTestError
err := json.NewDecoder(resp.Body).Decode(&ate) err = json.NewDecoder(resp.Body).Decode(&ate)
if err != nil { if err != nil {
return err return err
} }
if len(ate.Data) != 0 {
return ate return ate
} }

Loading…
Cancel
Save