Beispiel #1
0
 def _query_test_runs_by_build_name(name, start_date, stop_date):
     with session_scope() as session:
         tests = api.get_test_run_dict_by_run_meta_key_value(
             'build_name', name, start_date, stop_date, session)
         tests = test_run_aggregator.TestRunAggregator(tests).aggregate(
             datetime_resolution=datetime_resolution)
     return tests
Beispiel #2
0
 def _query_test_runs_by_build_name(name, start_date, stop_date):
     with session_scope() as session:
         tests = api.get_test_run_dict_by_run_meta_key_value('build_name',
                                                             name,
                                                             start_date,
                                                             stop_date,
                                                             session)
         tests = test_run_aggregator.TestRunAggregator(tests).aggregate(
             datetime_resolution=datetime_resolution)
     return tests
Beispiel #3
0
def get_test_runs_by_build_name(build_name):
    session = get_session()
    key = 'build_name'
    value = build_name
    if not key or not value:
        return 'A key and value must be specified', 400
    start_date = _parse_datetimes(flask.request.args.get('start_date', None))
    stop_date = _parse_datetimes(flask.request.args.get('stop_date', None))
    datetime_resolution = flask.request.args.get('datetime_resolution', 'sec')
    if datetime_resolution not in ['sec', 'min', 'hour', 'day']:
        return ('Datetime resolution: %s, is not a valid'
                ' choice' % datetime_resolution), 400
    tests = api.get_test_run_dict_by_run_meta_key_value(key, value, start_date,
                                                        stop_date, session)
    tests = test_run_aggregator.TestRunAggregator(tests).aggregate(
        datetime_resolution=datetime_resolution)
    return jsonify({'tests': tests})
Beispiel #4
0
 def test_get_test_run_dict_by_run_meta_key_value(self):
     timestamp_a = datetime.datetime.utcnow()
     timestamp_b = timestamp_a + datetime.timedelta(minutes=2)
     run_a = api.create_run()
     run_b = api.create_run()
     api.add_run_metadata({'key': 'true'}, run_a.id)
     api.add_run_metadata({'key': 'not so true'}, run_b.id)
     test_a = api.create_test('fake_test')
     api.create_test_run(test_a.id, run_a.id, 'success', timestamp_a,
                         timestamp_b)
     api.create_test_run(test_a.id, run_b.id, 'fail', timestamp_a,
                         datetime.datetime.utcnow())
     test_run_dicts = api.get_test_run_dict_by_run_meta_key_value(
         'key', 'true')
     self.assertEqual(1, len(test_run_dicts))
     self.assertEqual([{
         'test_id': 'fake_test',
         'status': 'success',
         'start_time': timestamp_a,
         'stop_time': timestamp_b,
     }], test_run_dicts)
Beispiel #5
0
 def test_get_test_run_dict_by_run_meta_key_value(self):
     timestamp_a = datetime.datetime.utcnow()
     timestamp_b = timestamp_a + datetime.timedelta(minutes=2)
     run_a = api.create_run()
     run_b = api.create_run()
     api.add_run_metadata({'key': 'true'}, run_a.id)
     api.add_run_metadata({'key': 'not so true'}, run_b.id)
     test_a = api.create_test('fake_test')
     api.create_test_run(test_a.id, run_a.id, 'success', timestamp_a,
                         timestamp_b)
     api.create_test_run(test_a.id, run_b.id, 'fail', timestamp_a,
                         datetime.datetime.utcnow())
     test_run_dicts = api.get_test_run_dict_by_run_meta_key_value('key',
                                                                  'true')
     self.assertEqual(1, len(test_run_dicts))
     self.assertEqual([{
         'test_id': 'fake_test',
         'status': 'success',
         'start_time': timestamp_a,
         'stop_time': timestamp_b,
     }], test_run_dicts)