integration: Add configrevision API tests
This commit is contained in:
parent
450ffaa6f0
commit
5618e1bbc9
|
@ -974,6 +974,43 @@ backend=127.0.0.1,3011
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TestH1APIConfigrevision tests configrevision API.
|
||||||
|
func TestH1APIConfigrevision(t *testing.T) {
|
||||||
|
st := newServerTesterConnectPort([]string{"-f127.0.0.1,3010;api;no-tls"}, t, func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
t.Fatalf("request should not be forwarded")
|
||||||
|
}, 3010)
|
||||||
|
defer st.Close()
|
||||||
|
|
||||||
|
res, err := st.http1(requestParam{
|
||||||
|
name: "TestH1APIConfigrevision",
|
||||||
|
path: "/api/v1beta1/configrevision",
|
||||||
|
method: "GET",
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Error st.http1() = %v", err)
|
||||||
|
}
|
||||||
|
if got, want := res.status, 200; got != want {
|
||||||
|
t.Errorf("res.status: %v; want = %v", got, want)
|
||||||
|
}
|
||||||
|
|
||||||
|
var apiResp APIResponse
|
||||||
|
d := json.NewDecoder(bytes.NewBuffer(res.body))
|
||||||
|
d.UseNumber()
|
||||||
|
err = d.Decode(&apiResp)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Error unmarshalling API response: %v", err)
|
||||||
|
}
|
||||||
|
if got, want := apiResp.Status, "Success"; got != want {
|
||||||
|
t.Errorf("apiResp.Status: %v; want %v", got, want)
|
||||||
|
}
|
||||||
|
if got, want := apiResp.Code, 200; got != want {
|
||||||
|
t.Errorf("apiResp.Status: %v; want %v", got, want)
|
||||||
|
}
|
||||||
|
if got, want := apiResp.Data["configRevision"], json.Number("0"); got != want {
|
||||||
|
t.Errorf(`apiResp.Data["configRevision"]: %v %t; want %v`, got, got, want)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// TestH1APINotFound exercise backendconfig API endpoint routine when
|
// TestH1APINotFound exercise backendconfig API endpoint routine when
|
||||||
// API endpoint is not found.
|
// API endpoint is not found.
|
||||||
func TestH1APINotFound(t *testing.T) {
|
func TestH1APINotFound(t *testing.T) {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package nghttp2
|
package nghttp2
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"crypto/tls"
|
"crypto/tls"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
@ -2071,6 +2072,43 @@ backend=127.0.0.1,3011
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TestH2APIConfigrevision tests configrevision API.
|
||||||
|
func TestH2APIConfigrevision(t *testing.T) {
|
||||||
|
st := newServerTesterConnectPort([]string{"-f127.0.0.1,3010;api;no-tls"}, t, func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
t.Fatalf("request should not be forwarded")
|
||||||
|
}, 3010)
|
||||||
|
defer st.Close()
|
||||||
|
|
||||||
|
res, err := st.http2(requestParam{
|
||||||
|
name: "TestH2APIConfigrevision",
|
||||||
|
path: "/api/v1beta1/configrevision",
|
||||||
|
method: "GET",
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Error st.http2() = %v", err)
|
||||||
|
}
|
||||||
|
if got, want := res.status, 200; got != want {
|
||||||
|
t.Errorf("res.status: %v; want = %v", got, want)
|
||||||
|
}
|
||||||
|
|
||||||
|
var apiResp APIResponse
|
||||||
|
d := json.NewDecoder(bytes.NewBuffer(res.body))
|
||||||
|
d.UseNumber()
|
||||||
|
err = d.Decode(&apiResp)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Error unmarshalling API response: %v", err)
|
||||||
|
}
|
||||||
|
if got, want := apiResp.Status, "Success"; got != want {
|
||||||
|
t.Errorf("apiResp.Status: %v; want %v", got, want)
|
||||||
|
}
|
||||||
|
if got, want := apiResp.Code, 200; got != want {
|
||||||
|
t.Errorf("apiResp.Status: %v; want %v", got, want)
|
||||||
|
}
|
||||||
|
if got, want := apiResp.Data["configRevision"], json.Number("0"); got != want {
|
||||||
|
t.Errorf(`apiResp.Data["configRevision"]: %v %t; want %v`, got, got, want)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// TestH2APINotFound exercise backendconfig API endpoint routine when
|
// TestH2APINotFound exercise backendconfig API endpoint routine when
|
||||||
// API endpoint is not found.
|
// API endpoint is not found.
|
||||||
func TestH2APINotFound(t *testing.T) {
|
func TestH2APINotFound(t *testing.T) {
|
||||||
|
|
|
@ -801,6 +801,7 @@ func cloneHeader(h http.Header) http.Header {
|
||||||
func noopHandler(w http.ResponseWriter, r *http.Request) {}
|
func noopHandler(w http.ResponseWriter, r *http.Request) {}
|
||||||
|
|
||||||
type APIResponse struct {
|
type APIResponse struct {
|
||||||
Status string `json:"status,omitempty"`
|
Status string `json:"status,omitempty"`
|
||||||
Code int `json:"code,omitempty"`
|
Code int `json:"code,omitempty"`
|
||||||
|
Data map[string]interface{} `json:"data,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue