From 3eca0b5ad03be6460e71f0c047a6a04d200f3e80 Mon Sep 17 00:00:00 2001 From: "Dr. Stefan Schimanski" Date: Mon, 29 May 2017 10:21:34 +0200 Subject: [PATCH] integration test: check API version onf Status object --- test/integration/master/master_test.go | 35 ++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/test/integration/master/master_test.go b/test/integration/master/master_test.go index 709ee2589f2..a632cb63bc3 100644 --- a/test/integration/master/master_test.go +++ b/test/integration/master/master_test.go @@ -101,6 +101,41 @@ func TestEmptyList(t *testing.T) { } } +func TestStatus(t *testing.T) { + _, s, closeFn := framework.RunAMaster(nil) + defer closeFn() + + u := s.URL + "/apis/batch/v1/namespaces/default/jobs/foo" + resp, err := http.Get(u) + if err != nil { + t.Fatalf("unexpected error getting %s: %v", u, err) + } + if resp.StatusCode != http.StatusNotFound { + t.Fatalf("got status %v instead of 404", resp.StatusCode) + } + defer resp.Body.Close() + data, _ := ioutil.ReadAll(resp.Body) + decodedData := map[string]interface{}{} + if err := json.Unmarshal(data, &decodedData); err != nil { + t.Logf("body: %s", string(data)) + t.Fatalf("got error decoding data: %v", err) + } + t.Logf("body: %s", string(data)) + + if got, expected := decodedData["apiVersion"], "v1"; got != expected { + t.Errorf("unexpected apiVersion %q, expected %q", got, expected) + } + if got, expected := decodedData["kind"], "Status"; got != expected { + t.Errorf("unexpected kind %q, expected %q", got, expected) + } + if got, expected := decodedData["status"], "Failure"; got != expected { + t.Errorf("unexpected status %q, expected %q", got, expected) + } + if got, expected := decodedData["code"], float64(404); got != expected { + t.Errorf("unexpected code %v, expected %v", got, expected) + } +} + func TestWatchSucceedsWithoutArgs(t *testing.T) { _, s, closeFn := framework.RunAMaster(nil) defer closeFn()