示例#1
0
def test_update_bad(datasource):  # noqa: F811
    """Do updates fail to work on bogus taskmanager as expected"""
    metadata_row = datasource.get_metadata(
        taskmanager_id=1,
        generation_id=1,
        key="my_test_key",
    )
    header_row = datasource.get_header(
        taskmanager_id=1,
        generation_id=1,
        key="my_test_key",
    )
    with pytest.raises(Exception):
        datasource.update(
            taskmanager_id=100,
            generation_id=1,
            key="my_test_key",
            value=b"I changed IT",
            header=Header(
                header_row[0],
                create_time=header_row[4],
                expiration_time=header_row[5],
                scheduled_create_time=header_row[6],
                creator=header_row[7],
                schema_id=header_row[8],
            ),
            metadata=Metadata(
                metadata_row[0],
                state=metadata_row[4],
                generation_id=metadata_row[2],
                generation_time=metadata_row[5],
                missed_update_count=metadata_row[6],
            ),
        )
示例#2
0
def test_get_metadata(datasource):  # noqa: F811
    """Can we fetch a metadata element?"""
    result = datasource.get_metadata(
        taskmanager_id=1,
        generation_id=1,
        key="my_test_key",
    )

    assert result[0] == "11111111-1111-1111-1111-111111111111"
    assert result[1] == 1
    assert result[2] == 1
    assert result[3] == "my_test_key"
示例#3
0
def test_update(datasource):  # noqa: F811
    """Do updates work as expected"""
    metadata_row = datasource.get_metadata(
        taskmanager_id=1,
        generation_id=1,
        key="my_test_key",
    )
    header_row = datasource.get_header(
        taskmanager_id=1,
        generation_id=1,
        key="my_test_key",
    )
    datasource.update(
        taskmanager_id=1,
        generation_id=1,
        key="my_test_key",
        value=b"I changed IT",
        header=Header(
            header_row[0],
            create_time=header_row[4],
            expiration_time=header_row[5],
            scheduled_create_time=header_row[6],
            creator=header_row[7],
            schema_id=header_row[8],
        ),
        metadata=Metadata(
            metadata_row[0],
            state=metadata_row[4],
            generation_id=metadata_row[2],
            generation_time=metadata_row[5],
            missed_update_count=metadata_row[6],
        ),
    )

    result1 = datasource.get_dataproduct(
        taskmanager_id=1,
        generation_id=1,
        key="my_test_key",
    )

    assert result1 == b"I changed IT"
示例#4
0
def test_get_metadata_not_exist(datasource):  # noqa: F811
    """Does it error out if we ask for a bogus metadata element?"""
    with pytest.raises((KeyError, NoResultFound)):
        datasource.get_metadata(
            taskmanager_id=100,
            generation_id=1,
            key="my_test_key",
        )

    with pytest.raises((KeyError, NoResultFound)):
        datasource.get_metadata(
            taskmanager_id=100,
            generation_id=11111111,
            key="my_test_key",
        )

    with pytest.raises((KeyError, NoResultFound)):
        datasource.get_metadata(
            taskmanager_id=100,
            generation_id=1,
            key="no_such_key_exists",
        )