mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-01-04 23:17:50 +00:00
fix groups exposes at apis/
This commit is contained in:
@@ -37,6 +37,7 @@ import (
|
||||
"k8s.io/kubernetes/pkg/api/meta"
|
||||
"k8s.io/kubernetes/pkg/api/testapi"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
apiutil "k8s.io/kubernetes/pkg/api/util"
|
||||
"k8s.io/kubernetes/pkg/api/v1"
|
||||
"k8s.io/kubernetes/pkg/apis/experimental"
|
||||
"k8s.io/kubernetes/pkg/apiserver"
|
||||
@@ -67,7 +68,7 @@ func setUp(t *testing.T) (Master, Config, *assert.Assertions) {
|
||||
config.DatabaseStorage = etcdstorage.NewEtcdStorage(fakeClient, testapi.Default.Codec(), etcdtest.PathPrefix())
|
||||
storageVersions[""] = testapi.Default.Version()
|
||||
config.ExpDatabaseStorage = etcdstorage.NewEtcdStorage(fakeClient, testapi.Experimental.Codec(), etcdtest.PathPrefix())
|
||||
storageVersions["experimental"] = testapi.Experimental.Version()
|
||||
storageVersions["experimental"] = testapi.Experimental.GroupAndVersion()
|
||||
config.StorageVersions = storageVersions
|
||||
master.nodeRegistry = registrytest.NewNodeRegistry([]string{"node1", "node2"}, api.NodeResources{})
|
||||
|
||||
@@ -430,6 +431,60 @@ func TestGenerateSSHKey(t *testing.T) {
|
||||
// TODO: testing error cases where the file can not be removed?
|
||||
}
|
||||
|
||||
func TestDiscoveryAtAPIS(t *testing.T) {
|
||||
master, config, assert := setUp(t)
|
||||
master.exp = true
|
||||
// ================= preparation for master.init() ======================
|
||||
portRange := util.PortRange{Base: 10, Size: 10}
|
||||
master.serviceNodePortRange = portRange
|
||||
|
||||
_, ipnet, err := net.ParseCIDR("192.168.1.1/24")
|
||||
if !assert.NoError(err) {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
master.serviceClusterIPRange = ipnet
|
||||
|
||||
mh := apiserver.MuxHelper{Mux: http.NewServeMux()}
|
||||
master.muxHelper = &mh
|
||||
master.rootWebService = new(restful.WebService)
|
||||
|
||||
master.handlerContainer = restful.NewContainer()
|
||||
|
||||
master.mux = http.NewServeMux()
|
||||
master.requestContextMapper = api.NewRequestContextMapper()
|
||||
// ======================= end of preparation ===========================
|
||||
|
||||
master.init(&config)
|
||||
server := httptest.NewServer(master.handlerContainer.ServeMux)
|
||||
resp, err := http.Get(server.URL + "/apis")
|
||||
if !assert.NoError(err) {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
|
||||
assert.Equal(http.StatusOK, resp.StatusCode)
|
||||
|
||||
groupList := api.APIGroupList{}
|
||||
assert.NoError(decodeResponse(resp, &groupList))
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
|
||||
expectGroupName := "experimental"
|
||||
expectVersions := []api.GroupVersion{
|
||||
{
|
||||
GroupVersion: testapi.Experimental.GroupAndVersion(),
|
||||
Version: testapi.Experimental.Version(),
|
||||
},
|
||||
}
|
||||
expectPreferredVersion := api.GroupVersion{
|
||||
GroupVersion: config.StorageVersions["experimental"],
|
||||
Version: apiutil.GetVersion(config.StorageVersions["experimental"]),
|
||||
}
|
||||
assert.Equal(expectGroupName, groupList.Groups[0].Name)
|
||||
assert.Equal(expectVersions, groupList.Groups[0].Versions)
|
||||
assert.Equal(expectPreferredVersion, groupList.Groups[0].PreferredVersion)
|
||||
}
|
||||
|
||||
var versionsToTest = []string{"v1", "v3"}
|
||||
|
||||
type Foo struct {
|
||||
|
||||
Reference in New Issue
Block a user