Пример #1
0
def sql2subunit(run_id, output=sys.stdout):
    session = api.get_session()
    test_runs = api.get_tests_run_dicts_from_run_id(run_id, session)
    session.close()
    output = subunit.v2.StreamResultToBytes(output)
    output.startTestRun()
    for test_id in test_runs:
        test = test_runs[test_id]
        write_test(output, test["start_time"], test["stop_time"], test["status"], test_id, test["metadata"])
    output.stopTestRun()
Пример #2
0
 def test_get_test_runs_dicts_with_no_stop_time(self):
     run = api.create_run()
     test_a = api.create_test('fake_test')
     start_time = datetime.datetime.utcnow()
     stop_time = None
     api.create_test_run(test_a.id, run.id, 'success', start_time,
                         stop_time)
     test_run_dict = api.get_tests_run_dicts_from_run_id(run.uuid)
     self.assertEqual(1, len(test_run_dict))
     self.assertIn('fake_test', test_run_dict)
     self.assertEqual(test_run_dict['fake_test']['status'], 'success')
     self.assertEqual(test_run_dict['fake_test']['start_time'], start_time)
     self.assertEqual(test_run_dict['fake_test']['stop_time'], stop_time)
Пример #3
0
 def test_get_test_runs_dicts_with_no_stop_time(self):
     run = api.create_run()
     test_a = api.create_test('fake_test')
     start_time = datetime.datetime.utcnow()
     stop_time = None
     api.create_test_run(test_a.id, run.id, 'success',
                         start_time, stop_time)
     test_run_dict = api.get_tests_run_dicts_from_run_id(run.uuid)
     self.assertEqual(1, len(test_run_dict))
     self.assertIn('fake_test', test_run_dict)
     self.assertEqual(test_run_dict['fake_test']['status'], 'success')
     self.assertEqual(test_run_dict['fake_test']['start_time'], start_time)
     self.assertEqual(test_run_dict['fake_test']['stop_time'], stop_time)
Пример #4
0
def sql2subunit(run_id, output=sys.stdout):
    session = api.get_session()
    test_runs = api.get_tests_run_dicts_from_run_id(run_id, session)
    session.close()
    output = subunit.v2.StreamResultToBytes(output)
    output.startTestRun()
    for test_id in test_runs:
        test = test_runs[test_id]
        # NOTE(mtreinish): test_run_metadata is not guaranteed to be present
        # for the test_run.
        metadata = test.get('metadata', None)
        write_test(output, test['start_time'], test['stop_time'],
                   test['status'], test_id, metadata)
    output.stopTestRun()
Пример #5
0
def sql2subunit(run_id, output=sys.stdout):
    session = api.get_session()
    test_runs = api.get_tests_run_dicts_from_run_id(run_id, session)
    session.close()
    output = subunit.v2.StreamResultToBytes(output)
    output.startTestRun()
    for test_id in test_runs:
        test = test_runs[test_id]
        # NOTE(mtreinish): test_run_metadata is not guaranteed to be present
        # for the test_run.
        metadata = test.get('metadata', None)
        write_test(output, test['start_time'], test['stop_time'],
                   test['status'], test_id, metadata)
    output.stopTestRun()
Пример #6
0
 def test_get_test_runs_dicts_with_meta(self):
     run = api.create_run()
     test_a = api.create_test('fake_test')
     test_run = api.create_test_run(test_a.id, run.id, 'success',
                                    datetime.datetime.utcnow(),
                                    datetime.datetime.utcnow())
     run_meta = {
         'key_a': 'value_b',
         'key_b': 'value_a',
         'attrs': 'test,smoke,notatest',
     }
     api.add_test_run_metadata(run_meta, test_run.id)
     test_run_dict = api.get_tests_run_dicts_from_run_id(run.uuid)
     self.assertEqual(3, len(test_run_dict['fake_test']['metadata']))
     for meta in run_meta:
         self.assertIn(meta, test_run_dict['fake_test']['metadata'])
         self.assertEqual(run_meta[meta],
                          test_run_dict['fake_test']['metadata'][meta])
Пример #7
0
 def test_get_test_runs_dicts_with_meta(self):
     run = api.create_run()
     test_a = api.create_test('fake_test')
     test_run = api.create_test_run(test_a.id, run.id, 'success',
                                    datetime.datetime.utcnow(),
                                    datetime.datetime.utcnow())
     run_meta = {
         'key_a': 'value_b',
         'key_b': 'value_a',
         'attrs': 'test,smoke,notatest',
     }
     api.add_test_run_metadata(run_meta, test_run.id)
     test_run_dict = api.get_tests_run_dicts_from_run_id(run.uuid)
     self.assertEqual(3, len(test_run_dict['fake_test']['metadata']))
     for meta in run_meta:
         self.assertIn(meta, test_run_dict['fake_test']['metadata'])
         self.assertEqual(run_meta[meta],
                          test_run_dict['fake_test']['metadata'][meta])
Пример #8
0
 def test_get_test_runs_dicts_from_run_id_are_in_chrono_order(self):
     run = api.create_run()
     test_a = api.create_test('fake_test')
     test_b = api.create_test('fake_test_2')
     test_c = api.create_test('fake_test_3')
     api.create_test_run(test_a.id, run.id, 'success',
                         datetime.datetime.utcnow())
     api.create_test_run(test_b.id, run.id, 'success',
                         datetime.datetime(1914, 6, 28, 10, 45, 0))
     api.create_test_run(test_c.id, run.id, 'success',
                         datetime.datetime(2014, 8, 26, 20, 00, 00))
     test_run_dicts = api.get_tests_run_dicts_from_run_id(run.uuid)
     self.assertEqual(len(test_run_dicts), 3)
     prev = None
     for test_run in test_run_dicts:
         if prev == None:
             prev = test_run
             continue
         self.assertTrue(test_run_dicts[test_run]['start_time'] >
                         test_run_dicts[prev]['start_time'])
         prev = test_run
Пример #9
0
 def test_get_test_runs_dicts_from_run_id_are_in_chrono_order(self):
     run = api.create_run()
     test_a = api.create_test('fake_test')
     test_b = api.create_test('fake_test_2')
     test_c = api.create_test('fake_test_3')
     api.create_test_run(test_a.id, run.id, 'success',
                         datetime.datetime.utcnow())
     api.create_test_run(test_b.id, run.id, 'success',
                         datetime.datetime(1914, 6, 28, 10, 45, 0))
     api.create_test_run(test_c.id, run.id, 'success',
                         datetime.datetime(2014, 8, 26, 20, 00, 00))
     test_run_dicts = api.get_tests_run_dicts_from_run_id(run.uuid)
     self.assertEqual(len(test_run_dicts), 3)
     prev = None
     for test_run in test_run_dicts:
         if prev == None:
             prev = test_run
             continue
         self.assertTrue(test_run_dicts[test_run]['start_time'] >
                         test_run_dicts[prev]['start_time'])
         prev = test_run
Пример #10
0
 def get_subunit_stream(self):
     stream = io.BytesIO()
     if self._run_id:
         session = self.session_factory()
         test_runs = db_api.get_tests_run_dicts_from_run_id(
             self._run_id, session)
         session.close()
     else:
         test_runs = self._test_runs
     output = subunit.v2.StreamResultToBytes(stream)
     output.startTestRun()
     for test_id in test_runs:
         test = test_runs[test_id]
         # NOTE(mtreinish): test_run_metadata is not guaranteed to be
         # present for the test run
         metadata = test.get('metadata', None)
         write_subunit.write_test(output, test['start_time'],
                                  test['stop_time'], test['status'],
                                  test_id, metadata)
     output.stopTestRun()
     stream.seek(0)
     return stream
Пример #11
0
def get_run_test_runs(run_id):
    run_id = parse.unquote(run_id)
    with session_scope() as session:
        db_test_runs = api.get_tests_run_dicts_from_run_id(run_id, session)
        return jsonify(db_test_runs)
Пример #12
0
def get_run_test_runs(run_id):
    run_id = parse.unquote(run_id)
    with session_scope() as session:
        db_test_runs = api.get_tests_run_dicts_from_run_id(run_id, session)
        return jsonify(db_test_runs)
Пример #13
0
def get_run_test_runs(run_id):
    session = get_session()
    db_test_runs = api.get_tests_run_dicts_from_run_id(run_id, session)
    return jsonify(db_test_runs)