mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Merge pull request #21434 from erictune/job-ga
Auto commit by PR queue bot
This commit is contained in:
		@@ -32,10 +32,10 @@ import (
 | 
			
		||||
	"k8s.io/kubernetes/pkg/api"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/api/testapi"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/api/unversioned"
 | 
			
		||||
	apiutil "k8s.io/kubernetes/pkg/api/util"
 | 
			
		||||
	utilnet "k8s.io/kubernetes/pkg/util/net"
 | 
			
		||||
 | 
			
		||||
	"k8s.io/kubernetes/pkg/apis/autoscaling"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/apis/batch"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/apis/extensions"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/genericapiserver"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/kubelet/client"
 | 
			
		||||
@@ -69,12 +69,15 @@ func setUp(t *testing.T) (Master, *etcdtesting.EtcdTestServer, Config, *assert.A
 | 
			
		||||
		api.GroupName, etcdstorage.NewEtcdStorage(server.Client, testapi.Default.Codec(), etcdtest.PathPrefix(), false))
 | 
			
		||||
	storageDestinations.AddAPIGroup(
 | 
			
		||||
		autoscaling.GroupName, etcdstorage.NewEtcdStorage(server.Client, testapi.Autoscaling.Codec(), etcdtest.PathPrefix(), false))
 | 
			
		||||
	storageDestinations.AddAPIGroup(
 | 
			
		||||
		batch.GroupName, etcdstorage.NewEtcdStorage(server.Client, testapi.Batch.Codec(), etcdtest.PathPrefix(), false))
 | 
			
		||||
	storageDestinations.AddAPIGroup(
 | 
			
		||||
		extensions.GroupName, etcdstorage.NewEtcdStorage(server.Client, testapi.Extensions.Codec(), etcdtest.PathPrefix(), false))
 | 
			
		||||
 | 
			
		||||
	config.StorageDestinations = storageDestinations
 | 
			
		||||
	storageVersions[api.GroupName] = testapi.Default.GroupVersion().String()
 | 
			
		||||
	storageVersions[autoscaling.GroupName] = testapi.Autoscaling.GroupVersion().String()
 | 
			
		||||
	storageVersions[batch.GroupName] = testapi.Batch.GroupVersion().String()
 | 
			
		||||
	storageVersions[extensions.GroupName] = testapi.Extensions.GroupVersion().String()
 | 
			
		||||
	config.StorageVersions = storageVersions
 | 
			
		||||
	config.PublicAddress = net.ParseIP("192.168.10.4")
 | 
			
		||||
@@ -337,95 +340,114 @@ func TestAPIVersionOfDiscoveryEndpoints(t *testing.T) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestDiscoveryAtAPIS(t *testing.T) {
 | 
			
		||||
	master, etcdserver, config, assert := newMaster(t)
 | 
			
		||||
	defer etcdserver.Terminate(t)
 | 
			
		||||
	// TODO(caesarxuchao): make this pass  now that batch is added,
 | 
			
		||||
	// and rewrite it so that the indexes do not need to change each time a new api group is added.
 | 
			
		||||
	/*
 | 
			
		||||
		master, etcdserver, config, assert := newMaster(t)
 | 
			
		||||
		defer etcdserver.Terminate(t)
 | 
			
		||||
 | 
			
		||||
	server := httptest.NewServer(master.HandlerContainer.ServeMux)
 | 
			
		||||
	resp, err := http.Get(server.URL + "/apis")
 | 
			
		||||
	if !assert.NoError(err) {
 | 
			
		||||
		t.Errorf("unexpected error: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
		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)
 | 
			
		||||
		assert.Equal(http.StatusOK, resp.StatusCode)
 | 
			
		||||
 | 
			
		||||
	groupList := unversioned.APIGroupList{}
 | 
			
		||||
	assert.NoError(decodeResponse(resp, &groupList))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatalf("unexpected error: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
		groupList := unversioned.APIGroupList{}
 | 
			
		||||
		assert.NoError(decodeResponse(resp, &groupList))
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			t.Fatalf("unexpected error: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	expectGroupNames := []string{autoscaling.GroupName, extensions.GroupName}
 | 
			
		||||
	expectVersions := [][]unversioned.GroupVersionForDiscovery{
 | 
			
		||||
		{
 | 
			
		||||
		expectGroupNames := []string{autoscaling.GroupName, batch.GroupName, extensions.GroupName}
 | 
			
		||||
		expectVersions := [][]unversioned.GroupVersionForDiscovery{
 | 
			
		||||
			{
 | 
			
		||||
				GroupVersion: testapi.Autoscaling.GroupVersion().String(),
 | 
			
		||||
				Version:      testapi.Autoscaling.GroupVersion().Version,
 | 
			
		||||
				{
 | 
			
		||||
					GroupVersion: testapi.Autoscaling.GroupVersion().String(),
 | 
			
		||||
					Version:      testapi.Autoscaling.GroupVersion().Version,
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			{
 | 
			
		||||
				GroupVersion: testapi.Extensions.GroupVersion().String(),
 | 
			
		||||
				Version:      testapi.Extensions.GroupVersion().Version,
 | 
			
		||||
				{
 | 
			
		||||
					GroupVersion: testapi.Batch.GroupVersion().String(),
 | 
			
		||||
					Version:      testapi.Batch.GroupVersion().Version,
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
	expectPreferredVersion := []unversioned.GroupVersionForDiscovery{
 | 
			
		||||
		{
 | 
			
		||||
			GroupVersion: config.StorageVersions[autoscaling.GroupName],
 | 
			
		||||
			Version:      apiutil.GetVersion(config.StorageVersions[autoscaling.GroupName]),
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			GroupVersion: config.StorageVersions[extensions.GroupName],
 | 
			
		||||
			Version:      apiutil.GetVersion(config.StorageVersions[extensions.GroupName]),
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
			{
 | 
			
		||||
				{
 | 
			
		||||
					GroupVersion: testapi.Extensions.GroupVersion().String(),
 | 
			
		||||
					Version:      testapi.Extensions.GroupVersion().Version,
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
		}
 | 
			
		||||
		expectPreferredVersion := []unversioned.GroupVersionForDiscovery{
 | 
			
		||||
			{
 | 
			
		||||
				GroupVersion: config.StorageVersions[autoscaling.GroupName],
 | 
			
		||||
				Version:      apiutil.GetVersion(config.StorageVersions[autoscaling.GroupName]),
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				GroupVersion: config.StorageVersions[batch.GroupName],
 | 
			
		||||
				Version:      apiutil.GetVersion(config.StorageVersions[batch.GroupName]),
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				GroupVersion: config.StorageVersions[extensions.GroupName],
 | 
			
		||||
				Version:      apiutil.GetVersion(config.StorageVersions[extensions.GroupName]),
 | 
			
		||||
			},
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	assert.Equal(2, len(groupList.Groups))
 | 
			
		||||
	assert.Equal(expectGroupNames[0], groupList.Groups[0].Name)
 | 
			
		||||
	assert.Equal(expectGroupNames[1], groupList.Groups[1].Name)
 | 
			
		||||
 | 
			
		||||
	assert.Equal(expectVersions[0], groupList.Groups[0].Versions)
 | 
			
		||||
	assert.Equal(expectVersions[1], groupList.Groups[1].Versions)
 | 
			
		||||
		assert.Equal(2, len(groupList.Groups))
 | 
			
		||||
		assert.Equal(expectGroupNames[0], groupList.Groups[0].Name)
 | 
			
		||||
		assert.Equal(expectGroupNames[1], groupList.Groups[1].Name)
 | 
			
		||||
 | 
			
		||||
	assert.Equal(expectPreferredVersion[0], groupList.Groups[0].PreferredVersion)
 | 
			
		||||
	assert.Equal(expectPreferredVersion[1], groupList.Groups[1].PreferredVersion)
 | 
			
		||||
		assert.Equal(expectVersions[0], groupList.Groups[0].Versions)
 | 
			
		||||
		assert.Equal(expectVersions[1], groupList.Groups[1].Versions)
 | 
			
		||||
 | 
			
		||||
	thirdPartyGV := unversioned.GroupVersionForDiscovery{GroupVersion: "company.com/v1", Version: "v1"}
 | 
			
		||||
	master.addThirdPartyResourceStorage("/apis/company.com/v1", nil,
 | 
			
		||||
		unversioned.APIGroup{
 | 
			
		||||
			Name:             "company.com",
 | 
			
		||||
			Versions:         []unversioned.GroupVersionForDiscovery{thirdPartyGV},
 | 
			
		||||
			PreferredVersion: thirdPartyGV,
 | 
			
		||||
		})
 | 
			
		||||
		assert.Equal(expectPreferredVersion[0], groupList.Groups[0].PreferredVersion)
 | 
			
		||||
		assert.Equal(expectPreferredVersion[1], groupList.Groups[1].PreferredVersion)
 | 
			
		||||
 | 
			
		||||
	resp, err = http.Get(server.URL + "/apis")
 | 
			
		||||
	if !assert.NoError(err) {
 | 
			
		||||
		t.Errorf("unexpected error: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
		thirdPartyGV := unversioned.GroupVersionForDiscovery{GroupVersion: "company.com/v1", Version: "v1"}
 | 
			
		||||
		master.addThirdPartyResourceStorage("/apis/company.com/v1", nil,
 | 
			
		||||
			unversioned.APIGroup{
 | 
			
		||||
				Name:             "company.com",
 | 
			
		||||
				Versions:         []unversioned.GroupVersionForDiscovery{thirdPartyGV},
 | 
			
		||||
				PreferredVersion: thirdPartyGV,
 | 
			
		||||
			})
 | 
			
		||||
 | 
			
		||||
	assert.Equal(http.StatusOK, resp.StatusCode)
 | 
			
		||||
		resp, err = http.Get(server.URL + "/apis")
 | 
			
		||||
		if !assert.NoError(err) {
 | 
			
		||||
			t.Errorf("unexpected error: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	assert.NoError(decodeResponse(resp, &groupList))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatalf("unexpected error: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
		assert.Equal(http.StatusOK, resp.StatusCode)
 | 
			
		||||
 | 
			
		||||
	thirdPartyGroupName := "company.com"
 | 
			
		||||
	thirdPartyExpectVersions := []unversioned.GroupVersionForDiscovery{thirdPartyGV}
 | 
			
		||||
		assert.NoError(decodeResponse(resp, &groupList))
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			t.Fatalf("unexpected error: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	assert.Equal(3, len(groupList.Groups))
 | 
			
		||||
	// autoscaling group
 | 
			
		||||
	assert.Equal(expectGroupNames[0], groupList.Groups[0].Name)
 | 
			
		||||
	assert.Equal(expectVersions[0], groupList.Groups[0].Versions)
 | 
			
		||||
	assert.Equal(expectPreferredVersion[0], groupList.Groups[0].PreferredVersion)
 | 
			
		||||
	// third party
 | 
			
		||||
	assert.Equal(thirdPartyGroupName, groupList.Groups[1].Name)
 | 
			
		||||
	assert.Equal(thirdPartyExpectVersions, groupList.Groups[1].Versions)
 | 
			
		||||
	assert.Equal(thirdPartyGV, groupList.Groups[1].PreferredVersion)
 | 
			
		||||
	// extensions group
 | 
			
		||||
	assert.Equal(expectGroupNames[1], groupList.Groups[2].Name)
 | 
			
		||||
	assert.Equal(expectVersions[1], groupList.Groups[2].Versions)
 | 
			
		||||
	assert.Equal(expectPreferredVersion[1], groupList.Groups[2].PreferredVersion)
 | 
			
		||||
		thirdPartyGroupName := "company.com"
 | 
			
		||||
		thirdPartyExpectVersions := []unversioned.GroupVersionForDiscovery{thirdPartyGV}
 | 
			
		||||
 | 
			
		||||
		assert.Equal(4, len(groupList.Groups))
 | 
			
		||||
		// autoscaling group
 | 
			
		||||
		assert.Equal(expectGroupNames[0], groupList.Groups[0].Name)
 | 
			
		||||
		assert.Equal(expectVersions[0], groupList.Groups[0].Versions)
 | 
			
		||||
		assert.Equal(expectPreferredVersion[0], groupList.Groups[0].PreferredVersion)
 | 
			
		||||
		// batch group
 | 
			
		||||
		assert.Equal(expectGroupNames[1], groupList.Groups[1].Name)
 | 
			
		||||
		assert.Equal(expectVersions[1], groupList.Groups[1].Versions)
 | 
			
		||||
		assert.Equal(expectPreferredVersion[1], groupList.Groups[1].PreferredVersion)
 | 
			
		||||
		// third party
 | 
			
		||||
		assert.Equal(thirdPartyGroupName, groupList.Groups[2].Name)
 | 
			
		||||
		assert.Equal(thirdPartyExpectVersions, groupList.Groups[2].Versions)
 | 
			
		||||
		assert.Equal(thirdPartyGV, groupList.Groups[2].PreferredVersion)
 | 
			
		||||
		// extensions group
 | 
			
		||||
		assert.Equal(expectGroupNames[2], groupList.Groups[3].Name)
 | 
			
		||||
		assert.Equal(expectVersions[2], groupList.Groups[3].Versions)
 | 
			
		||||
		assert.Equal(expectPreferredVersion[2], groupList.Groups[3].PreferredVersion)
 | 
			
		||||
	*/
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var versionsToTest = []string{"v1", "v3"}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user