コード例 #1
0
ファイル: write_subunit.py プロジェクト: austin81/subunit2sql
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
ファイル: test_api.py プロジェクト: girardiv/subunit2sql
 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
ファイル: write_subunit.py プロジェクト: ader1990/subunit2sql
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
ファイル: write_subunit.py プロジェクト: mguiney/subunit2sql
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
ファイル: test_api.py プロジェクト: girardiv/subunit2sql
 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
ファイル: test_api.py プロジェクト: girardiv/subunit2sql
 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
ファイル: api.py プロジェクト: openstack/openstack-health
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
ファイル: api.py プロジェクト: pkdevboxy/openstack-health
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)