提交 a4851da2 编写于 作者: B bryk

Scope current API as v1 API.

This is in preparation for release. After we do this, incompatible
changes to the api will be forbidden.
上级 ddd65992
......@@ -61,7 +61,7 @@ func CreateHttpApiHandler(client *client.Client, heapsterClient HeapsterClient)
deployWs := new(restful.WebService)
deployWs.Filter(wsLogger)
deployWs.Path("/api/appdeployments").
deployWs.Path("/api/v1/appdeployments").
Consumes(restful.MIME_JSON).
Produces(restful.MIME_JSON)
deployWs.Route(
......@@ -86,7 +86,7 @@ func CreateHttpApiHandler(client *client.Client, heapsterClient HeapsterClient)
wsContainer.Add(deployWs)
deployFromFileWs := new(restful.WebService)
deployFromFileWs.Path("/api/appdeploymentfromfile").
deployFromFileWs.Path("/api/v1/appdeploymentfromfile").
Consumes(restful.MIME_JSON).
Produces(restful.MIME_JSON)
deployFromFileWs.Route(
......@@ -98,7 +98,7 @@ func CreateHttpApiHandler(client *client.Client, heapsterClient HeapsterClient)
replicationControllerWs := new(restful.WebService)
replicationControllerWs.Filter(wsLogger)
replicationControllerWs.Path("/api/replicationcontrollers").
replicationControllerWs.Path("/api/v1/replicationcontrollers").
Consumes(restful.MIME_JSON).
Produces(restful.MIME_JSON)
replicationControllerWs.Route(
......@@ -124,7 +124,7 @@ func CreateHttpApiHandler(client *client.Client, heapsterClient HeapsterClient)
namespacesWs := new(restful.WebService)
namespacesWs.Filter(wsLogger)
namespacesWs.Path("/api/namespaces").
namespacesWs.Path("/api/v1/namespaces").
Consumes(restful.MIME_JSON).
Produces(restful.MIME_JSON)
namespacesWs.Route(
......@@ -140,7 +140,7 @@ func CreateHttpApiHandler(client *client.Client, heapsterClient HeapsterClient)
logsWs := new(restful.WebService)
logsWs.Filter(wsLogger)
logsWs.Path("/api/logs").
logsWs.Path("/api/v1/logs").
Produces(restful.MIME_JSON)
logsWs.Route(
logsWs.GET("/{namespace}/{podId}").
......@@ -154,7 +154,7 @@ func CreateHttpApiHandler(client *client.Client, heapsterClient HeapsterClient)
eventsWs := new(restful.WebService)
eventsWs.Filter(wsLogger)
eventsWs.Path("/api/events").
eventsWs.Path("/api/v1/events").
Produces(restful.MIME_JSON)
eventsWs.Route(
eventsWs.GET("/{namespace}/{replicationController}").
......@@ -163,7 +163,7 @@ func CreateHttpApiHandler(client *client.Client, heapsterClient HeapsterClient)
wsContainer.Add(eventsWs)
secretsWs := new(restful.WebService)
secretsWs.Path("/api/secrets").Produces(restful.MIME_JSON)
secretsWs.Path("/api/v1/secrets").Produces(restful.MIME_JSON)
secretsWs.Route(
secretsWs.GET("/{namespace}").
To(apiHandler.handleGetSecrets).
......
......@@ -92,7 +92,7 @@ export default class NamespaceDialogController {
let namespaceSpec = {name: this.namespace};
/** @type {!angular.Resource<!backendApi.NamespaceSpec>} */
let resource = this.resource_('api/namespaces');
let resource = this.resource_('api/v1/namespaces');
resource.save(
namespaceSpec,
......
......@@ -102,7 +102,7 @@ export default class CreateSecretController {
data: this.data,
};
/** @type {!angular.Resource<!backendApi.SecretSpec>} */
let resource = this.resource_(`api/secrets/`);
let resource = this.resource_(`api/v1/secrets/`);
resource.save(
secretSpec,
......
......@@ -42,7 +42,7 @@ export default function stateConfig($stateProvider) {
*/
function resolveNamespaces($resource) {
/** @type {!angular.Resource<!backendApi.NamespaceList>} */
let resource = $resource('api/namespaces');
let resource = $resource('api/v1/namespaces');
return resource.get().$promise;
}
......@@ -53,7 +53,7 @@ function resolveNamespaces($resource) {
* @ngInject
*/
function getProtocolsResource($resource) {
return $resource('api/appdeployments/protocols');
return $resource('api/v1/appdeployments/protocols');
}
/**
......
......@@ -78,7 +78,7 @@ export default class DeployFromFileController {
let defer = this.q_.defer();
/** @type {!angular.Resource<!backendApi.AppDeploymentFromFileSpec>} */
let resource = this.resource_('api/appdeploymentfromfile');
let resource = this.resource_('api/v1/appdeploymentfromfile');
resource.save(
deploymentSpec,
(savedConfig) => {
......
......@@ -204,7 +204,7 @@ export default class DeployFromSettingsController {
let defer = this.q_.defer();
/** @type {!angular.Resource<!backendApi.AppDeploymentSpec>} */
let resource = this.resource_('api/appdeployments');
let resource = this.resource_('api/v1/appdeployments');
resource.save(
appDeploymentSpec,
(savedConfig) => {
......@@ -278,7 +278,7 @@ export default class DeployFromSettingsController {
*/
getSecrets(namespace) {
/** @type {!angular.Resource<!backendApi.SecretsList>} */
let resource = this.resource_(`api/secrets/${namespace}`);
let resource = this.resource_(`api/v1/secrets/${namespace}`);
resource.get(
(res) => { this.secrets = res.secrets; },
(err) => { this.log_.log(`Error getting secrets: ${err}`); });
......
......@@ -53,7 +53,7 @@ function validate(name, namespace, resource, q) {
let deferred = q.defer();
/** @type {!angular.Resource<!backendApi.AppNameValiditySpec>} */
let resourceClass = resource('api/appdeployments/validate/name');
let resourceClass = resource('api/v1/appdeployments/validate/name');
/** @type {!backendApi.AppNameValiditySpec} */
let spec = {name: name, namespace: namespace};
resourceClass.save(
......
......@@ -68,7 +68,7 @@ function validate(ngModelController, externalChanged, protocol, isExternal, reso
}
/** @type {!angular.Resource<!backendApi.ProtocolValiditySpec>} */
let resourceClass = resource('api/appdeployments/validate/protocol');
let resourceClass = resource('api/v1/appdeployments/validate/protocol');
/** @type {!backendApi.ProtocolValiditySpec} */
let spec = {protocol: protocol, isExternal: isExternal};
resourceClass.save(
......
......@@ -56,7 +56,7 @@ export default function stateConfig($stateProvider) {
function resolveReplicationControllerPods($stateParams, $resource) {
/** @type {!angular.Resource<!backendApi.ReplicationControllerPods>} */
let resource = $resource(
`api/replicationcontrollers/pods/${$stateParams.namespace}/${$stateParams.replicationController}`);
`api/v1/replicationcontrollers/pods/${$stateParams.namespace}/${$stateParams.replicationController}`);
return resource.get().$promise;
}
......@@ -69,7 +69,7 @@ function resolveReplicationControllerPods($stateParams, $resource) {
*/
function resolvePodLogs($stateParams, $resource) {
/** @type {!angular.Resource<!backendApi.Logs>} */
let resource = $resource(`api/logs/${$stateParams.namespace}/${$stateParams.podId}/${$stateParams.container}`);
let resource = $resource(`api/v1/logs/${$stateParams.namespace}/${$stateParams.podId}/${$stateParams.container}`);
return resource.get().$promise;
}
......@@ -44,7 +44,8 @@ export default function stateConfig($stateProvider) {
*/
export function getReplicationControllerDetailsResource($stateParams, $resource) {
return $resource(
`api/replicationcontrollers/${$stateParams.namespace}/${$stateParams.replicationController}`);
`api/v1/replicationcontrollers/${$stateParams.namespace}/` +
`${$stateParams.replicationController}`);
}
/**
......@@ -54,7 +55,9 @@ export function getReplicationControllerDetailsResource($stateParams, $resource)
* @ngInject
*/
export function getReplicationControllerSpecPodsResource($stateParams, $resource) {
return $resource(`api/replicationcontrollers/${$stateParams.namespace}/${$stateParams.replicationController}/update/pods`);
return $resource(
`api/v1/replicationcontrollers/${$stateParams.namespace}/` +
`${$stateParams.replicationController}/update/pods`);
}
/**
......@@ -76,7 +79,7 @@ function resolveReplicationControllerDetails(replicationControllerDetailResource
function resolveReplicationControllerEvents($stateParams, $resource) {
/** @type {!angular.Resource<!backendApi.Events>} */
let resource =
$resource(`api/events/${$stateParams.namespace}/${$stateParams.replicationController}`);
$resource(`api/v1/events/${$stateParams.namespace}/${$stateParams.replicationController}`);
return resource.get().$promise;
}
......@@ -78,7 +78,8 @@ export default class LogsMenuController {
getReplicationControllerPods_() {
/** @type {!angular.Resource<!backendApi.ReplicationControllerPods>} */
let resource = this.resource_(
`api/replicationcontrollers/pods/${this.namespace}/${this.replicationControllerName}?limit=10`);
`api/v1replicationcontrollers/pods/${this.namespace}/` +
`${this.replicationControllerName}?limit=10`);
resource.get(
(replicationControllerPods) => {
......
......@@ -69,7 +69,7 @@ function redirectIfNeeded($state, $timeout, replicationControllers) {
*/
function resolveReplicationControllers($resource) {
/** @type {!angular.Resource<!backendApi.ReplicationControllerList>} */
let resource = $resource('api/replicationcontrollers');
let resource = $resource('api/v1/replicationcontrollers');
return resource.get().$promise;
}
......@@ -106,7 +106,7 @@ describe('Create-Namespace dialog', () => {
/** @type {string} */
let errorMessage = 'Something bad happened';
// return an erranous response
httpBackend.expectPOST('api/namespaces').respond(500, errorMessage);
httpBackend.expectPOST('api/v1/namespaces').respond(500, errorMessage);
// when
ctrl.createNamespace();
httpBackend.flush();
......
......@@ -104,7 +104,7 @@ describe('Create-Secret dialog', () => {
`MzTjNiM0prTVRJSyIsICJlbWFpbCI6` + `ICJqZG9lQGV4YW1wbGUuY29tIiB9IH0K`;
httpBackend
.expect(
'POST', 'api/secrets',
'POST', 'api/v1/secrets',
{name: ctrl.secretName, namespace: ctrl.namespace, data: ctrl.data})
.respond(201, 'success');
// when trying to submit
......@@ -122,7 +122,7 @@ describe('Create-Secret dialog', () => {
/** @type {string} */
let errorMessage = 'Something bad happened';
// return an erranous response
httpBackend.expectPOST('api/secrets').respond(500, errorMessage);
httpBackend.expectPOST('api/v1/secrets').respond(500, errorMessage);
// when
ctrl.createSecret();
httpBackend.flush();
......
......@@ -282,7 +282,7 @@ describe('DeployFromSettings controller', () => {
let response = {
secrets: ['secret1', 'secret2', 'secret3'],
};
httpBackend.expectGET('api/secrets/default').respond(200, response);
httpBackend.expectGET('api/v1/secrets/default').respond(200, response);
// when
ctrl.getSecrets('default');
httpBackend.flush();
......
......@@ -35,7 +35,7 @@ describe('Unique name directive', () => {
it('should validate name asynchronosuly', () => {
scope.name = 'foo-name';
scope.namespace = 'foo-namespace';
let endpoint = httpBackend.when('POST', 'api/appdeployments/validate/name');
let endpoint = httpBackend.when('POST', 'api/v1/appdeployments/validate/name');
let elem = compileFn(scope)[0];
expect(elem.classList).toContain('ng-valid');
......@@ -67,7 +67,7 @@ describe('Unique name directive', () => {
scope.namespace = 'foo-namespace';
let elem = compileFn(scope)[0];
httpBackend.when('POST', 'api/appdeployments/validate/name').respond({
httpBackend.when('POST', 'api/v1/appdeployments/validate/name').respond({
valid: false,
});
httpBackend.flush();
......@@ -83,7 +83,7 @@ describe('Unique name directive', () => {
scope.namespace = 'foo-namespace';
let elem = compileFn(scope)[0];
httpBackend.when('POST', 'api/appdeployments/validate/name').respond(503, '');
httpBackend.when('POST', 'api/v1/appdeployments/validate/name').respond(503, '');
httpBackend.flush();
expect(elem.classList).not.toContain('ng-pending');
expect(elem.classList).toContain('ng-invalid');
......
......@@ -34,7 +34,7 @@ describe('Valid protocol directive', () => {
});
it('should validate protocol asynchronosuly', () => {
let endpoint = httpBackend.whenPOST('api/appdeployments/validate/protocol');
let endpoint = httpBackend.whenPOST('api/v1/appdeployments/validate/protocol');
let elem = compileFn(scope)[0];
expect(elem.classList).toContain('ng-valid');
......@@ -66,7 +66,7 @@ describe('Valid protocol directive', () => {
it('should validate on service type change', () => {
let elem = compileFn(scope)[0];
httpBackend.whenPOST('api/appdeployments/validate/protocol').respond({
httpBackend.whenPOST('api/v1/appdeployments/validate/protocol').respond({
valid: false,
});
scope.$apply();
......@@ -82,7 +82,7 @@ describe('Valid protocol directive', () => {
it('should treat failures as invalid protocol', () => {
let elem = compileFn(scope)[0];
httpBackend.whenPOST('api/appdeployments/validate/protocol').respond(503, '');
httpBackend.whenPOST('api/v1/appdeployments/validate/protocol').respond(503, '');
scope.$apply();
scope.isExternal = false;
......
......@@ -56,7 +56,8 @@ describe('Delete replication controller dialog controller', () => {
spyOn(mdDialog, 'hide');
// when
httpBackend.whenDELETE('api/replicationcontrollers/foo-namespace/foo-name?deleteServices=false')
httpBackend
.whenDELETE('api/v1/replicationcontrollers/foo-namespace/foo-name?deleteServices=false')
.respond(200, {});
ctrl.remove();
httpBackend.flush();
......@@ -71,7 +72,8 @@ describe('Delete replication controller dialog controller', () => {
ctrl.deleteServices = true;
// when
httpBackend.whenDELETE('api/replicationcontrollers/foo-namespace/foo-name?deleteServices=true')
httpBackend
.whenDELETE('api/v1/replicationcontrollers/foo-namespace/foo-name?deleteServices=true')
.respond(200, {});
ctrl.remove();
httpBackend.flush();
......@@ -85,7 +87,8 @@ describe('Delete replication controller dialog controller', () => {
spyOn(mdDialog, 'cancel');
// when
httpBackend.whenDELETE('api/replicationcontrollers/foo-namespace/foo-name?deleteServices=false')
httpBackend
.whenDELETE('api/v1/replicationcontrollers/foo-namespace/foo-name?deleteServices=false')
.respond(503, {});
ctrl.remove();
httpBackend.flush();
......
......@@ -64,7 +64,7 @@ describe('Update Replicas controller', () => {
};
spyOn(log, 'info');
spyOn(state, 'reload');
httpBackend.whenPOST('api/replicationcontrollers/foo-namespace/foo-name/update/pods')
httpBackend.whenPOST('api/v1/replicationcontrollers/foo-namespace/foo-name/update/pods')
.respond(200, replicaSpec);
// when
......@@ -80,7 +80,7 @@ describe('Update Replicas controller', () => {
it('should log error on failed update', () => {
// given
spyOn(log, 'error');
httpBackend.whenPOST('api/replicationcontrollers/foo-namespace/foo-name/update/pods')
httpBackend.whenPOST('api/v1/replicationcontrollers/foo-namespace/foo-name/update/pods')
.respond(404);
// when
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册