Merge pull request #21033 from nikhiljindal/swaggerspecInGenericServer

Auto commit by PR queue bot
This commit is contained in:
k8s-merge-robot 2016-02-14 11:39:56 -08:00
commit 94b8554c91
4 changed files with 45 additions and 10 deletions

View File

@ -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,

View File

@ -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)

View File

@ -563,6 +563,9 @@ func (s *GenericAPIServer) InstallAPIGroups(groupsInfo []APIGroupInfo) error {
return err
}
}
if s.enableSwaggerSupport {
s.InstallSwaggerAPI()
}
return nil
}

View File

@ -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()