@@ -752,3 +752,67 @@ func TestGetStats_SSL(t *testing.T) {
752752 t .Fatalf ("SSL stats: expected %v, actual %v" , testStats , stats .SSL )
753753 }
754754}
755+
756+ func TestGetMaxAPIVersionServer (t * testing.T ) {
757+ t .Parallel ()
758+ ts := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
759+ switch {
760+ case r .RequestURI == "/" :
761+ _ , err := w .Write ([]byte (`[4, 5, 6, 7]` ))
762+ if err != nil {
763+ t .Fatalf ("unexpected error: %v" , err )
764+ }
765+ default :
766+ _ , err := w .Write ([]byte (`{}` ))
767+ if err != nil {
768+ t .Fatalf ("unexpected error: %v" , err )
769+ }
770+ }
771+ }))
772+ defer ts .Close ()
773+
774+ c , err := NewNginxClient (ts .URL )
775+ if err != nil {
776+ t .Fatalf ("unexpected error: %v" , err )
777+ }
778+
779+ maxVer , err := c .GetMaxAPIVersion ()
780+ if err != nil {
781+ t .Fatalf ("unexpected error: %v" , err )
782+ }
783+ if maxVer != 7 {
784+ t .Fatalf ("expected 7, got %v" , maxVer )
785+ }
786+ }
787+
788+ func TestGetMaxAPIVersionClient (t * testing.T ) {
789+ t .Parallel ()
790+ ts := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
791+ switch {
792+ case r .RequestURI == "/" :
793+ _ , err := w .Write ([]byte (`[4, 5, 6, 7, 8, 9, 25]` ))
794+ if err != nil {
795+ t .Fatalf ("unexpected error: %v" , err )
796+ }
797+ default :
798+ _ , err := w .Write ([]byte (`{}` ))
799+ if err != nil {
800+ t .Fatalf ("unexpected error: %v" , err )
801+ }
802+ }
803+ }))
804+ defer ts .Close ()
805+
806+ c , err := NewNginxClient (ts .URL )
807+ if err != nil {
808+ t .Fatalf ("unexpected error: %v" , err )
809+ }
810+
811+ maxVer , err := c .GetMaxAPIVersion ()
812+ if err != nil {
813+ t .Fatalf ("unexpected error: %v" , err )
814+ }
815+ if maxVer != c .apiVersion {
816+ t .Fatalf ("expected %v, got %v" , c .apiVersion , maxVer )
817+ }
818+ }
0 commit comments