Пример #1
0
def test_list_with_params_negate(index_client):
    doc1 = create_random_index(index_client, version='1')
    create_random_index(index_client, version='2')

    docs = index_client.list_with_params(negate_params={'version': '2'})

    dids = {record.did for record in docs}
    assert dids == {doc1.did}
Пример #2
0
def test_list_with_params(index_client):
    hashes = {'md5': 'ab167e49d25b488939b1ede42752458c'}
    doc1 = create_random_index(index_client, hashes=hashes)
    doc2 = create_random_index(index_client, hashes=hashes)

    docs_with_hashes = index_client.list_with_params(page_size=1,
                                                     params={'hashes': hashes})
    dids = [doc1.did, doc2.did]
    found = []
    for d in docs_with_hashes:
        if d.did in dids:
            found.append(d.did)
    assert set(dids) == set(found)
Пример #3
0
def test_get_latest_version(index_client):
    """
    Args:
        index_client (indexclient.client.IndexClient): IndexClient Pytest Fixture
    """
    doc = create_random_index(index_client)
    latest = index_client.get_latest_version(doc.did)
    assert latest.did == doc.did
    assert latest.file_name == doc.file_name
    assert latest.hashes == doc.hashes
Пример #4
0
def test_get_latest_version_with_skip(index_client):
    """
    Args:
        index_client (indexclient.client.IndexClient): IndexClient Pytest Fixture
    """
    doc = create_random_index(index_client, version="1")
    doc_2 = create_random_index_version(index_client, did=doc.did)

    v_doc = index_client.get_latest_version(doc_2.did, skip_null_versions=True)
    assert v_doc.did == doc.did
    assert v_doc.version == doc.version
    assert v_doc.baseid == doc_2.baseid
Пример #5
0
def test_updating_size(index_client):
    """
    Args:
        index_client (indexclient.client.IndexClient): IndexClient Pytest Fixture
    """
    doc = create_random_index(index_client)

    doc.size = 123
    doc.patch()

    same_doc = index_client.get(doc.did)
    assert same_doc.size == 123
Пример #6
0
def test_updating_acl(index_client):
    """
    Args:
        index_client (indexclient.client.IndexClient): IndexClient Pytest Fixture
    """
    doc = create_random_index(index_client)

    doc.acl = ['a']
    doc.patch()

    same_doc = index_client.get(doc.did)
    assert same_doc.acl == ['a']
Пример #7
0
def test_updating_hashes(index_client):
    """
    Args:
        index_client (indexclient.client.IndexClient): IndexClient Pytest Fixture
    """
    doc = create_random_index(
        index_client, hashes={'md5': '3e8335931696df6261d8d437139d0463'})

    new_hash = '2a6f7de6a11b8adafc5dc55646978142'
    doc.hashes['md5'] = new_hash
    doc.patch()

    same_doc = index_client.get(doc.did)
    assert same_doc.hashes['md5'] == new_hash
Пример #8
0
def test_updating_metadata(index_client):
    """
    Args:
        index_client (indexclient.client.IndexClient): IndexClient Pytest Fixture
    """
    doc = create_random_index(index_client)

    doc.metadata["dummy_field"] = "Dummy Var"
    doc.urls_metadata[doc.urls[0]] = {'a': 'b'}
    doc.patch()

    same_doc = index_client.get(doc.did)
    assert same_doc.metadata is not None
    assert same_doc.metadata.get("dummy_field", None) == "Dummy Var"
    assert same_doc.urls_metadata == {doc.urls[0]: {'a': 'b'}}
Пример #9
0
def test_add_version(index_client):
    """
    Args:
        index_client (indexclient.client.IndexClient): IndexClient Pytest Fixture
    """

    doc = create_random_index(index_client)
    rev_doc = create_random_index_version(index_client, doc.did, version="1")
    assert rev_doc.did is not doc.did
    assert rev_doc.baseid == doc.baseid
    assert rev_doc.version == "1"

    latest = index_client.get_latest_version(doc.did)
    assert latest.did == rev_doc.did
    assert latest.version == "1"
Пример #10
0
def test_list_versions(index_client):
    """
    Args:
        index_client (indexclient.client.IndexClient): IndexClient Pytest Fixture
    """
    doc = create_random_index(index_client)

    # add a version
    rev_doc = create_random_index_version(index_client,
                                          did=doc.did,
                                          version="1")
    assert rev_doc is not None

    # list versions
    versions = index_client.list_versions(doc.did)
    assert len(versions) == 2
Пример #11
0
def test_bulk_get_latest(index_client):
    dids = []
    new_dids = set()
    null_dids = set()
    for i in range(20):
        doc = create_random_index(index_client, version="1")
        rev_doc = create_random_index_version(index_client,
                                              did=doc.did,
                                              version="2")
        null_doc = create_random_index_version(
            index_client, did=doc.did) if i < 5 else rev_doc
        dids.append(doc.did)
        new_dids.add(rev_doc.did)
        null_dids.add(null_doc.did)

    docs_null_excluded = index_client.bulk_get_latest(dids, skip_null=True)
    docs_null_included = index_client.bulk_get_latest(dids, skip_null=False)
    assert {doc.did for doc in docs_null_excluded} == new_dids
    assert {doc.did for doc in docs_null_included} == null_dids
Пример #12
0
def test_bulk_request(index_client):
    dids = [create_random_index(index_client).did for _ in range(20)]

    docs = index_client.bulk_request(dids)
    for doc in docs:
        assert doc.did in dids