mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 03:41:45 +00:00
Merge pull request #21033 from nikhiljindal/swaggerspecInGenericServer
Auto commit by PR queue bot
This commit is contained in:
commit
94b8554c91
@ -49,6 +49,7 @@ func newStorageDestinations(groupName string, groupMeta *apimachinery.GroupMeta)
|
||||
func Run() error {
|
||||
config := genericapiserver.Config{
|
||||
EnableIndex: true,
|
||||
EnableSwaggerSupport: true,
|
||||
APIPrefix: "/api",
|
||||
APIGroupPrefix: "/apis",
|
||||
Serializer: api.Codecs,
|
||||
|
@ -34,6 +34,11 @@ var serverIP = "http://localhost:8080"
|
||||
|
||||
var groupVersion = v1.SchemeGroupVersion
|
||||
|
||||
var groupVersionForDiscovery = unversioned.GroupVersionForDiscovery{
|
||||
GroupVersion: groupVersion.String(),
|
||||
Version: groupVersion.Version,
|
||||
}
|
||||
|
||||
func TestRun(t *testing.T) {
|
||||
go func() {
|
||||
if err := Run(); err != nil {
|
||||
@ -43,6 +48,8 @@ func TestRun(t *testing.T) {
|
||||
if err := waitForApiserverUp(); err != nil {
|
||||
t.Fatalf("%v", err)
|
||||
}
|
||||
testSwaggerSpec(t)
|
||||
testAPIGroupList(t)
|
||||
testAPIGroup(t)
|
||||
testAPIResourceList(t)
|
||||
}
|
||||
@ -63,6 +70,9 @@ func readResponse(serverURL string) ([]byte, error) {
|
||||
return nil, fmt.Errorf("Error in fetching %s: %v", serverURL, err)
|
||||
}
|
||||
defer response.Body.Close()
|
||||
if response.StatusCode != http.StatusOK {
|
||||
return nil, fmt.Errorf("unexpected status: %d for URL: %s, expected status: %d", response.StatusCode, serverURL, http.StatusOK)
|
||||
}
|
||||
contents, err := ioutil.ReadAll(response.Body)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Error reading response from %s: %v", serverURL, err)
|
||||
@ -70,6 +80,32 @@ func readResponse(serverURL string) ([]byte, error) {
|
||||
return contents, nil
|
||||
}
|
||||
|
||||
func testSwaggerSpec(t *testing.T) {
|
||||
serverURL := serverIP + "/swaggerapi"
|
||||
_, err := readResponse(serverURL)
|
||||
if err != nil {
|
||||
t.Fatalf("%v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func testAPIGroupList(t *testing.T) {
|
||||
serverURL := serverIP + "/apis"
|
||||
contents, err := readResponse(serverURL)
|
||||
if err != nil {
|
||||
t.Fatalf("%v", err)
|
||||
}
|
||||
var apiGroupList unversioned.APIGroupList
|
||||
err = json.Unmarshal(contents, &apiGroupList)
|
||||
if err != nil {
|
||||
t.Fatalf("Error in unmarshalling response from server %s: %v", serverURL, err)
|
||||
}
|
||||
assert.Equal(t, 1, len(apiGroupList.Groups))
|
||||
assert.Equal(t, apiGroupList.Groups[0].Name, groupVersion.Group)
|
||||
assert.Equal(t, 1, len(apiGroupList.Groups[0].Versions))
|
||||
assert.Equal(t, apiGroupList.Groups[0].Versions[0], groupVersionForDiscovery)
|
||||
assert.Equal(t, apiGroupList.Groups[0].PreferredVersion, groupVersionForDiscovery)
|
||||
}
|
||||
|
||||
func testAPIGroup(t *testing.T) {
|
||||
serverURL := serverIP + "/apis/testgroup"
|
||||
contents, err := readResponse(serverURL)
|
||||
|
@ -563,6 +563,9 @@ func (s *GenericAPIServer) InstallAPIGroups(groupsInfo []APIGroupInfo) error {
|
||||
return err
|
||||
}
|
||||
}
|
||||
if s.enableSwaggerSupport {
|
||||
s.InstallSwaggerAPI()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -153,11 +153,6 @@ func New(c *Config) (*Master, error) {
|
||||
}
|
||||
m.InstallAPIs(c)
|
||||
|
||||
// TODO: Move this to generic api server.
|
||||
if c.EnableSwaggerSupport {
|
||||
m.InstallSwaggerAPI()
|
||||
}
|
||||
|
||||
// TODO: Attempt clean shutdown?
|
||||
if m.enableCoreControllers {
|
||||
m.NewBootstrapController().Start()
|
||||
|
Loading…
Reference in New Issue
Block a user