mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-01-05 23:47:50 +00:00
Add dynamic APIs
This commit is contained in:
@@ -17,15 +17,21 @@ limitations under the License.
|
||||
package master
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/latest"
|
||||
"k8s.io/kubernetes/pkg/expapi"
|
||||
explatest "k8s.io/kubernetes/pkg/expapi/latest"
|
||||
"k8s.io/kubernetes/pkg/registry/registrytest"
|
||||
etcdstorage "k8s.io/kubernetes/pkg/storage/etcd"
|
||||
"k8s.io/kubernetes/pkg/tools"
|
||||
"k8s.io/kubernetes/pkg/tools/etcdtest"
|
||||
|
||||
"github.com/emicklei/go-restful"
|
||||
)
|
||||
|
||||
func TestGetServersToValidate(t *testing.T) {
|
||||
@@ -73,3 +79,44 @@ func TestFindExternalAddress(t *testing.T) {
|
||||
t.Errorf("expected findExternalAddress to fail on a node with missing ip information")
|
||||
}
|
||||
}
|
||||
|
||||
func TestInstallThirdPartyAPI(t *testing.T) {
|
||||
master := &Master{}
|
||||
api := &expapi.ThirdPartyResource{
|
||||
ObjectMeta: api.ObjectMeta{
|
||||
Name: "foo",
|
||||
},
|
||||
Versions: []expapi.APIVersion{
|
||||
expapi.APIVersion{
|
||||
APIGroup: "group",
|
||||
Name: "v1",
|
||||
},
|
||||
},
|
||||
}
|
||||
master.handlerContainer = restful.NewContainer()
|
||||
if err := master.InstallThirdPartyAPI(api); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
|
||||
server := httptest.NewServer(master.handlerContainer.ServeMux)
|
||||
defer server.Close()
|
||||
|
||||
resp, err := http.Get(server.URL + "/thirdparty/foo/v1")
|
||||
if err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
if resp.StatusCode != http.StatusOK {
|
||||
t.Errorf("unexpected status: %v", resp)
|
||||
}
|
||||
|
||||
data, err := ioutil.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
|
||||
if string(data) != "foo" {
|
||||
t.Errorf("unexpected response: %s", string(data))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user