Ejemplo n.º 1
0
def test_list_test_data_users_missing_params(mock_db_data, pseudocone_server):
    users = [
        pseudocone_pb2.UserParam(id="1"),
        pseudocone_pb2.UserParam(id="2")
    ]
    request_without_start = pseudocone_pb2.ListTestDataUsersRequest(
        limit=1, users=users, test_period_duration="P0Y1M7DT0H0M0S")

    request_without_duration = \
        pseudocone_pb2.ListTestDataUsersRequest(limit=1, users=users,
                                                start_interaction_time="2018-02-01T00:00:26.318497Z")

    request_without_duration_or_start = \
        pseudocone_pb2.ListTestDataUsersRequest(limit=1, users=users,
                                                start_interaction_time="2018-02-01T00:00:26.318497Z")

    with pytest.raises(Exception):
        pseudocone_server["stub"].ListTestDataUsers(
            request=request_without_start)

    with pytest.raises(Exception):
        pseudocone_server["stub"].ListTestDataUsers(
            request=request_without_duration)

    with pytest.raises(Exception):
        pseudocone_server["stub"].ListTestDataUsers(
            request=request_without_duration_or_start)
Ejemplo n.º 2
0
def test_list_test_data_users_with_resource_type(mock_db_data,
                                                 pseudocone_server):
    users = [
        pseudocone_pb2.UserParam(id="1"),
        pseudocone_pb2.UserParam(id="2")
    ]
    request = pseudocone_pb2.ListTestDataUsersRequest(
        limit=1,
        users=users,
        resource_type=[ResourceType.Value("CLIP")],
        start_interaction_time="2018-02-01T00:00:26.318497Z",
        test_period_duration="P0Y1M7DT0H0M0S")

    response = pseudocone_server["stub"].ListTestDataUsers(request=request)
    assert len(response.items) == 1
    assert response.items[0].user.id == "1"
    assert len(response.items[0].interactions) == 1
    assert response.items[0].interactions[0].pid == "pid2"
    assert response.items[0].interactions[
        0].uri == "programmes:bbc.co.uk,2018/FIXME/pid2"
    assert response.items[0].interactions[
        0].activity_time == "2018-03-02T19:53:32.000Z"
    assert response.items[0].interactions[0].completion == "PT11M"
    assert response.items[0].interactions[0].activity_type == "PLAYS"
    assert response.items[0].interactions[0].action == "ended"

    request = pseudocone_pb2.ListTestDataUsersRequest(
        limit=1,
        users=users,
        resource_type=[ResourceType.Value("EPISODE")],
        start_interaction_time="2018-02-01T00:00:26.318497Z",
        test_period_duration="P0Y1M7DT0H0M0S")

    response = pseudocone_server["stub"].ListTestDataUsers(request=request)
    assert len(response.items) == 1
    assert response.items[0].user.id == "1"
    assert len(response.items[0].interactions) == 1
    assert response.items[0].interactions[0].pid == "pid1"
    assert response.items[0].interactions[
        0].uri == "programmes:bbc.co.uk,2018/FIXME/pid1"
    assert response.items[0].interactions[
        0].activity_time == "2018-03-01T19:53:32.000Z"
    assert response.items[0].interactions[0].completion == "P0D"
    assert response.items[0].interactions[0].activity_type == "PLAYS"
    assert response.items[0].interactions[0].action == "started"
Ejemplo n.º 3
0
def test_list_test_data_users_timestamp_without_timezone(
        mock_db_data, pseudocone_server):
    users = [pseudocone_pb2.UserParam(id="1")]
    request = pseudocone_pb2.ListTestDataUsersRequest(
        limit=1,
        users=users,
        start_interaction_time="2018-02-01T00:00:26.318497",
        test_period_duration="P0Y1M7DT0H0M0S")

    response = pseudocone_server["stub"].ListTestDataUsers(request=request)
    assert len(response.items) == 1 and response.items[0].user.id == "1"
Ejemplo n.º 4
0
def test_list_test_data_users_date_format_error(mock_db_data,
                                                pseudocone_server):
    users = [
        pseudocone_pb2.UserParam(id="1"),
        pseudocone_pb2.UserParam(id="2")
    ]
    request = pseudocone_pb2.ListTestDataUsersRequest(
        limit=1,
        users=users,
        start_interaction_time="2018-02-60T00:00:26.318497Z",
        test_period_duration="P0Y1M7DT0H0M0S")

    with pytest.raises(Exception):
        pseudocone_server["stub"].ListTestDataUsers(request=request)

    request = pseudocone_pb2.ListTestDataUsersRequest(
        limit=1,
        users=users,
        start_interaction_time="2018-02-01T00:00:26.318497Z",
        test_period_duration="P0Y17DT0H0YM80S")

    with pytest.raises(Exception):
        pseudocone_server["stub"].ListTestDataUsers(request=request)
Ejemplo n.º 5
0
def test_list_test_data_users_multi_interaction2(mock_db_data,
                                                 pseudocone_server):
    users = [
        pseudocone_pb2.UserParam(id="1"),
        pseudocone_pb2.UserParam(id="2")
    ]
    request = pseudocone_pb2.ListTestDataUsersRequest(
        limit=1,
        users=users,
        start_interaction_time="2018-02-01T00:00:26.318497Z",
        test_period_duration="P0Y1M7DT0H0M0S")

    response = pseudocone_server["stub"].ListTestDataUsers(request=request)
    assert len(response.items) == 1
    assert response.items[0].user.id == "1"
    assert len(response.items[0].interactions) == 1
    assert response.items[0].interactions[0].pid == "b09s3kq5"
    assert response.items[0].interactions[
        0].uri == "programmes:bbc.co.uk,2018/FIXME/b09s3kq5"
    assert response.items[0].interactions[
        0].activity_time == "2018-03-01T19:53:32.000Z"
    assert response.items[0].interactions[0].completion == "PT11M"
    assert response.items[0].interactions[0].activity_type == "PLAYS"
    assert response.items[0].interactions[0].action == "ended"