Merge "Add a rest endpoint to get a list of the run metadata keys"

This commit is contained in:
Jenkins 2015-10-23 17:54:06 +00:00 committed by Gerrit Code Review
commit bd57973a8d
2 changed files with 16 additions and 0 deletions

View File

@ -114,6 +114,13 @@ def _group_by_date_range(date_range, sec_runs):
return runs
@app.route('/runs/metadata/keys', methods=['GET'])
def get_run_metadata_keys():
global Session
session = Session()
return jsonify(api.get_all_run_metadata_keys(session))
def _parse_datetimes(datetime_str):
if datetime_str:
return date_parser.parse(datetime_str)

View File

@ -55,6 +55,15 @@ class TestRestAPI(base.TestCase):
self.addCleanup(setup_mock.stop)
api.Session = mock.MagicMock()
@mock.patch('subunit2sql.db.api.get_all_run_metadata_keys',
return_value=['build_name', 'project', 'build_uuid'])
def test_get_run_metadata_keys(self, api_mock):
res = self.app.get('/runs/metadata/keys')
self.assertEqual(200, res.status_code)
api_mock.assert_called_once_with(api.Session())
expected_response = [u'build_name', u'project', u'build_uuid']
self.assertEqual(expected_response, json.loads(res.data))
@mock.patch('subunit2sql.db.api.get_test_run_dict_by_run_meta_key_value',
return_value=[
{'test_id': 'fake_test_a',