Пример #1
0
def test_get_version_data_grouped(session, request_1):
    data = get_version_data_grouped(session, lambda x: x)
    for key, value in data:
        if key == request_1.version_requested:
            assert value == [request_1.duration]
            return
    assert False, "Shouldn't reach here."
Пример #2
0
def get_endpoint_versions(db_session, endpoint_id, versions):
    """
    :param db_session: session for the database
    :param endpoint_id: id for the endpoint
    :param versions: a list of version to be filtered on
    :return: a list of dicts with the performance of each version
    """
    times = get_version_data_grouped(db_session, lambda x: simplify(x, 100), Request.endpoint_id == endpoint_id)
    first_requests = get_first_requests(db_session, endpoint_id)
    return [{
        'version': v,
        'date': get_value(first_requests, v),
        'values': get_value(times, v),
        'color': get_color(v)
    } for v in versions]
def versions_graph(db_session, endpoint_id, form):
    times = get_version_data_grouped(db_session, lambda x: simplify(x, 10),
                                     Request.endpoint_id == endpoint_id)
    first_requests = get_first_requests(db_session, endpoint_id,
                                        form.get_slider_value())
    data = [
        boxplot(name=format_version(
            request.version_requested,
            get_value(first_requests, request.version_requested)),
                values=get_value(times, request.version_requested),
                marker={'color': get_color(request.version_requested)})
        for request in first_requests
    ]

    layout = get_layout(height=350 + 40 * len(first_requests),
                        xaxis={'title': 'Execution time (ms)'},
                        yaxis={
                            'type': 'category',
                            'title': 'Version',
                            'autorange': 'reversed'
                        },
                        margin=get_margin())
    return get_figure(layout=layout, data=data)
 def test_get_version_data_grouped(self):
     with session_scope() as db_session:
         self.assertEqual(get_version_data_grouped(db_session, lambda x: x), {'1.0': REQUESTS}.items())