Ejemplo n.º 1
0
def _get_recent_runs_data(run_metadata_key, value, detail=False):
    num_runs = flask.request.args.get('num_runs', 10)
    with session_scope() as session:
        results = api.get_recent_runs_by_key_value_metadata(
            run_metadata_key, value, num_runs, session)
        runs = []
        for result in results:
            if detail:
                run = result.to_dict()
            else:
                if result.passes > 0 and result.fails == 0:
                    status = 'success'
                elif result.fails > 0:
                    status = 'fail'
                else:
                    continue

                run = {
                    'id': result.uuid,
                    'status': status,
                    'start_date': result.run_at.isoformat(),
                    'link': result.artifacts,
                }

            run_meta = api.get_run_metadata(result.uuid, session)
            for meta in run_meta:
                if meta.key == 'build_name':
                    run['build_name'] = meta.value
                    break
            runs.append(run)
    return runs
Ejemplo n.º 2
0
def _get_recent_runs_data(run_metadata_key, value, detail=False):
    num_runs = flask.request.args.get('num_runs', 10)
    with session_scope() as session:
        results = api.get_recent_runs_by_key_value_metadata(
            run_metadata_key, value, num_runs, session)
        runs = []
        for result in results:
            if detail:
                run = result.to_dict()
            else:
                if result.passes > 0 and result.fails == 0:
                    status = 'success'
                elif result.fails > 0:
                    status = 'fail'
                else:
                    continue

                run = {
                    'id': result.uuid,
                    'status': status,
                    'start_date': result.run_at.isoformat(),
                    'link': result.artifacts,
                }

            run_meta = api.get_run_metadata(result.uuid, session)
            for meta in run_meta:
                if meta.key == 'build_name':
                    run['build_name'] = meta.value
                    break
            runs.append(run)
    return runs
Ejemplo n.º 3
0
 def test_get_recent_runs_by_key_value_metadata(self):
     run_a = api.create_run()
     run_b = api.create_run()
     run_c = api.create_run()
     api.add_run_metadata({'a_key': 'a_value'}, run_a.id)
     api.add_run_metadata({'a_key': 'a_value'}, run_c.id)
     api.add_run_metadata({'a_key': 'b_value'}, run_b.id)
     result = api.get_recent_runs_by_key_value_metadata('a_key', 'a_value')
     self.assertEqual(2, len(result))
     self.assertIn(run_a.id, [x.id for x in result])
     self.assertNotIn(run_b.id, [x.id for x in result])
     self.assertIn(run_c.id, [x.id for x in result])
Ejemplo n.º 4
0
 def test_get_recent_runs_by_key_value_metadata(self):
     run_a = api.create_run()
     run_b = api.create_run()
     run_c = api.create_run()
     api.add_run_metadata({'a_key': 'a_value'}, run_a.id)
     api.add_run_metadata({'a_key': 'a_value'}, run_c.id)
     api.add_run_metadata({'a_key': 'b_value'}, run_b.id)
     result = api.get_recent_runs_by_key_value_metadata('a_key', 'a_value')
     self.assertEqual(2, len(result))
     self.assertIn(run_a.id, [x.id for x in result])
     self.assertNotIn(run_b.id, [x.id for x in result])
     self.assertIn(run_c.id, [x.id for x in result])
Ejemplo n.º 5
0
 def test_get_recent_runs_by_key_value_metadata_one_run(self):
     timestamp = datetime.datetime(1914, 6, 28, 10, 45, 0)
     run_a = api.create_run(run_at=timestamp)
     run_b = api.create_run()
     run_c = api.create_run()
     api.add_run_metadata({'a_key': 'a_value'}, run_a.id)
     api.add_run_metadata({'a_key': 'a_value'}, run_c.id)
     api.add_run_metadata({'a_key': 'b_value'}, run_b.id)
     result = api.get_recent_runs_by_key_value_metadata('a_key', 'a_value',
                                                        num_runs=1)
     self.assertEqual(1, len(result))
     self.assertNotIn(run_a.id, [x.id for x in result])
     self.assertNotIn(run_b.id, [x.id for x in result])
     self.assertIn(run_c.id, [x.id for x in result])
Ejemplo n.º 6
0
 def test_get_recent_runs_by_key_value_metadata_one_run(self):
     timestamp = datetime.datetime(1914, 6, 28, 10, 45, 0)
     run_a = api.create_run(run_at=timestamp)
     run_b = api.create_run()
     run_c = api.create_run()
     api.add_run_metadata({'a_key': 'a_value'}, run_a.id)
     api.add_run_metadata({'a_key': 'a_value'}, run_c.id)
     api.add_run_metadata({'a_key': 'b_value'}, run_b.id)
     result = api.get_recent_runs_by_key_value_metadata('a_key',
                                                        'a_value',
                                                        num_runs=1)
     self.assertEqual(1, len(result))
     self.assertNotIn(run_a.id, [x.id for x in result])
     self.assertNotIn(run_b.id, [x.id for x in result])
     self.assertIn(run_c.id, [x.id for x in result])