Пример #1
0
def get_iteration_views(result_keys, **test_filter_data):
    """
    Similar to get_test_views, but returns a dict for each iteration rather
    than for each test.  Accepts the same filter data as get_test_views.

    @param result_keys: list of iteration result keys to include.  Only
            iterations contains all these keys will be included.
    @returns a list of dicts, one for each iteration.  Each dict contains:
            * all the same information as get_test_views()
            * all the keys specified in result_keys
            * an additional key 'iteration_index'
    """
    iteration_views = tko_rpc_utils.get_iteration_view_query(result_keys,
                                                             test_filter_data)

    final_filter_data = tko_rpc_utils.extract_presentation_params(
            test_filter_data)
    final_filter_data['no_distinct'] = True
    fields = (models.TestView.get_field_dict().keys() + result_keys +
              ['iteration_index'])
    iteration_dicts = models.TestView.list_objects(
            final_filter_data, initial_query=iteration_views, fields=fields)
    return rpc_utils.prepare_for_serialization(iteration_dicts)
Пример #2
0
def get_num_iteration_views(result_keys, **test_filter_data):
    iteration_views = tko_rpc_utils.get_iteration_view_query(result_keys,
                                                             test_filter_data)
    return iteration_views.count()