diff --git a/app/js/services/health-api.js b/app/js/services/health-api.js index eedd4545..045052fb 100644 --- a/app/js/services/health-api.js +++ b/app/js/services/health-api.js @@ -69,7 +69,7 @@ function HealthService($http, config) { service.getRunsForRunMetadataKey = function(runMetadataKey, value, options) { return config.get().then(function(config) { - return $http.jsonp(config.apiRoot + '/' + runMetadataKey + '/' + value + '/runs', { + return $http.jsonp(config.apiRoot + '/runs/key/' + runMetadataKey + '/' + value, { params: angular.extend(options, { callback: 'JSON_CALLBACK' }) }); }); diff --git a/openstack_health/api.py b/openstack_health/api.py index b5466f84..413b0c4e 100644 --- a/openstack_health/api.py +++ b/openstack_health/api.py @@ -210,7 +210,7 @@ def _aggregate_runs(runs_by_time_delta): return dict(timedelta=aggregated_runs) -@app.route('///runs', methods=['GET']) +@app.route('/runs/key//', methods=['GET']) def get_runs_by_run_metadata_key(run_metadata_key, value): global Session session = Session() diff --git a/openstack_health/tests/test_api.py b/openstack_health/tests/test_api.py index 209a0992..c49baedf 100644 --- a/openstack_health/tests/test_api.py +++ b/openstack_health/tests/test_api.py @@ -357,7 +357,8 @@ class TestRestAPI(base.TestCase): def test_get_runs_by_project_resolution_sec(self, api_mock): api.Session = mock.MagicMock() query = 'datetime_resolution=sec' - res = self.app.get('/project/openstack/trove/runs?{0}'.format(query)) + res = self.app.get('/runs/key/project/openstack/trove?{0}' + .format(query)) self.assertEqual(200, res.status_code) @@ -411,7 +412,8 @@ class TestRestAPI(base.TestCase): def test_get_runs_by_project_resolution_min(self, api_mock): api.Session = mock.MagicMock() query = 'datetime_resolution=min' - res = self.app.get('/project/openstack/trove/runs?{0}'.format(query)) + res = self.app.get('/runs/key/project/openstack/trove?{0}' + .format(query)) self.assertEqual(200, res.status_code) @@ -465,7 +467,8 @@ class TestRestAPI(base.TestCase): def test_get_runs_by_project_resolution_hour(self, api_mock): api.Session = mock.MagicMock() query = 'datetime_resolution=hour' - res = self.app.get('/project/openstack/trove/runs?{0}'.format(query)) + res = self.app.get('/runs/key/project/openstack/trove?{0}' + .format(query)) self.assertEqual(200, res.status_code) @@ -525,7 +528,8 @@ class TestRestAPI(base.TestCase): def test_get_runs_by_project_resolution_day(self, api_mock): api.Session = mock.MagicMock() query = 'datetime_resolution=day' - res = self.app.get('/project/openstack/trove/runs?{0}'.format(query)) + res = self.app.get('/runs/key/project/openstack/trove?{0}' + .format(query)) self.assertEqual(200, res.status_code) @@ -590,7 +594,8 @@ class TestRestAPI(base.TestCase): stop_date = timestamp_d2.date().isoformat() query = ('datetime_resolution=day&start_date={0}&stop_date={1}' .format(start_date, stop_date)) - res = self.app.get('/project/openstack/trove/runs?{0}'.format(query)) + res = self.app.get('/runs/key/project/openstack/trove?{0}' + .format(query)) self.assertEqual(200, res.status_code) @@ -624,7 +629,7 @@ class TestRestAPI(base.TestCase): def test_get_runs_by_project_invalid_resolution(self): api.Session = mock.MagicMock() res = self.app.get( - '/projects/openstack/trove/runs?datetime_resolution=century') + '/runs/key/project/openstack/trove?datetime_resolution=century') self.assertEqual(res.status_code, 400) self.assertEqual('Datetime resolution: century, is not a valid choice', res.data) diff --git a/test/e2e/mocks/group.js b/test/e2e/mocks/group.js index 8bfc74a6..491f25d4 100644 --- a/test/e2e/mocks/group.js +++ b/test/e2e/mocks/group.js @@ -1,7 +1,7 @@ module.exports = { request: { method: 'JSONP', - path: '/project/openstack/taskflow/runs' + path: '/runs/key/project/openstack/taskflow' }, response: { data: { diff --git a/test/e2e/routes_spec.js b/test/e2e/routes_spec.js index 0ea8927d..a44ff03f 100644 --- a/test/e2e/routes_spec.js +++ b/test/e2e/routes_spec.js @@ -40,7 +40,7 @@ describe('E2E: Routes', function() { // data should actually be requested (no request if error) expect(mock.requestsMade()).toContain(jasmine.objectContaining({ - url: 'http://localhost:5000/project/openstack/taskflow/runs', + url: 'http://localhost:5000/runs/key/project/openstack/taskflow', method: 'JSONP' })); diff --git a/test/unit/controllers/grouped_runs_spec.js b/test/unit/controllers/grouped_runs_spec.js index 674a8c9e..86cdb259 100644 --- a/test/unit/controllers/grouped_runs_spec.js +++ b/test/unit/controllers/grouped_runs_spec.js @@ -62,7 +62,7 @@ describe('GroupedRunsController', function() { }; var endpoint = API_ROOT + - '/project/openstack/cinder/runs?callback=JSON_CALLBACK&' + + '/runs/key/project/openstack/cinder?callback=JSON_CALLBACK&' + 'datetime_resolution=hour&' + 'start_date=' + startDate.toISOString() + '&' + 'stop_date=' + stopDate.toISOString(); diff --git a/test/unit/services/health_spec.js b/test/unit/services/health_spec.js index 4036ba63..3b468d16 100644 --- a/test/unit/services/health_spec.js +++ b/test/unit/services/health_spec.js @@ -97,7 +97,7 @@ describe('HealthService', function() { it('should get runs from project', function() { var expectedResponse = [{ data: 'data' }, {}, {}]; var endpoint = API_ROOT + - '/project/openstack/cinder/runs?' + + '/runs/key/project/openstack/cinder?' + 'callback=JSON_CALLBACK&' + 'start_date=' + DEFAULT_START_TIME + '&' + 'stop_date=' + DEFAULT_END_TIME;