コード例 #1
0
ファイル: test_audits.py プロジェクト: proknow/proknow-python
def test_query(app, user_generator):
    audit = Audit(app.pk, app.pk.requestor)

    user_generator()

    results = audit.query(page_size=1)
    assert results.total > 0
コード例 #2
0
ファイル: test_audits.py プロジェクト: proknow/proknow-python
def test_page_size(app, user_generator):
    audit = Audit(app.pk, app.pk.requestor)

    user_generator()

    results = audit.query(page_size=1)
    assert len(results.items) == 1
コード例 #3
0
ファイル: test_audits.py プロジェクト: proknow/proknow-python
def test_status_codes(app):
    audit = Audit(app.pk, app.pk.requestor)

    results = audit.query(page_size=1, status_codes="200")
    assert results._options["status_codes"] == ["200"]

    results = audit.query(page_size=1, status_codes=["200", "403"])
    assert results._options["status_codes"] == ["200", "403"]
コード例 #4
0
ファイル: test_audits.py プロジェクト: proknow/proknow-python
def test_empty_next(app, workspace_generator):
    audit = Audit(app.pk, app.pk.requestor)

    params, workspace = workspace_generator()

    results = audit.query(page_size=1, workspace_id=workspace.id)
    assert results.total == 1
    results = results.next()
    assert len(results.items) == 0
    results = results.next()
コード例 #5
0
ファイル: test_audits.py プロジェクト: proknow/proknow-python
def test_end_time(app, user_generator):
    audit = Audit(app.pk, app.pk.requestor)

    user_generator()
    now = datetime.datetime.now()
    user_generator()

    results = audit.query(page_size=2, end_time=now)
    for item in results.items:
        assert datetime.datetime.strptime(item["timestamp"],"%Y-%m-%dT%H:%M:%S.%fZ") <= now
コード例 #6
0
ファイル: test_audits.py プロジェクト: proknow/proknow-python
def test_resource_id(app, workspace_generator, collection_generator):
    audit = Audit(app.pk, app.pk.requestor)

    workspace_generator()
    collection_generator()

    results = audit.query(page_size=1)
    id1 = results.items[0]["resource_id"]

    assert results.items[0]["resource_id"] == id1
コード例 #7
0
ファイル: test_audits.py プロジェクト: proknow/proknow-python
def test_workspace_id(app, workspace_generator):
    audit = Audit(app.pk, app.pk.requestor)

    _, workspace1 = workspace_generator()
    _, workspace2 = workspace_generator()

    results = audit.query(page_size=1, workspace_id=workspace1.id)
    assert results.items[0]["workspace_id"] == workspace1.id

    results = audit.query(page_size=1, workspace_id=workspace2.id)
    assert results.items[0]["workspace_id"] == workspace2.id
コード例 #8
0
ファイル: test_audits.py プロジェクト: proknow/proknow-python
def test_workspace_name(app, workspace_generator):
    audit = Audit(app.pk, app.pk.requestor)

    _, workspace1 = workspace_generator()
    _, workspace2 = workspace_generator()

    results = audit.query(page_size=1, workspace_name=workspace1.name)
    assert results.items[0]["workspace_name"] == workspace1.name

    results = audit.query(page_size=1, workspace_name=workspace2.name)
    assert results.items[0]["workspace_name"] == workspace2.name
コード例 #9
0
ファイル: test_audits.py プロジェクト: proknow/proknow-python
def test_uri(app, role_generator):
    audit = Audit(app.pk, app.pk.requestor)

    role_generator()

    results = audit.query(page_size=1)
    uri = results.items[0]["uri"]
    role_generator()

    results = audit.query(page_size=1, uri=uri)
    assert results.items[0]["uri"] == uri
コード例 #10
0
ファイル: test_audits.py プロジェクト: proknow/proknow-python
def test_resource_name(app, workspace_generator, collection_generator):
    audit = Audit(app.pk, app.pk.requestor)

    workspace_generator()
    collection_generator()

    results = audit.query(page_size=1)
    name = results.items[0]["resource_name"]

    results = audit.query(page_size=1, resource_name=name)
    assert results.items[0]["resource_name"] == name
コード例 #11
0
ファイル: test_audits.py プロジェクト: proknow/proknow-python
def test_types(app, workspace_generator, user_generator, role_generator):
    audit = Audit(app.pk, app.pk.requestor)

    workspace_generator()
    user_generator()
    role_generator()

    results = audit.query(page_size=1, types="workspace_created")
    assert results.items[0]["type"] == "workspace_created"
    
    results = audit.query(page_size=2, types=["workspace_created", "user_created"])
    for item in results.items:
        assert item["type"] == "workspace_created" or item["type"] == "user_created"
コード例 #12
0
ファイル: test_audits.py プロジェクト: proknow/proknow-python
def test_collection_id(app, collection_generator):
    audit = Audit(app.pk, app.pk.requestor)

    _, collection1 = collection_generator()
    _, collection2 = collection_generator()

    for collection in app.pk.collections.query():
        collection.get()

    results = audit.query(page_size=1, collection_id=collection1.id)
    assert results.items[0]["collection_id"] == collection1.id

    results = audit.query(page_size=1, collection_id=collection2.id)
    assert results.items[0]["collection_id"] == collection2.id
コード例 #13
0
ファイル: test_audits.py プロジェクト: proknow/proknow-python
def test_page_number(app, user_generator):
    audit = Audit(app.pk, app.pk.requestor)

    user_generator()

    page1 = audit.query(page_size=1)
    page2 = page1.next()
    otherPage2 = page1.next()
    page3 = page2.next()

    assert page1._options["page_number"] == 0
    assert page2._options["page_number"] == 1
    assert otherPage2._options["page_number"] == 1
    assert page2.items[0]["id"] == otherPage2.items[0]["id"]
    assert page3._options["page_number"] == 2
コード例 #14
0
ファイル: test_audits.py プロジェクト: proknow/proknow-python
def test_patient_mrn(app, patient_generator):
    audit = Audit(app.pk, app.pk.requestor)

    patient1 = patient_generator([
        "./data/Becker^Matthew/HNC0522c0009_Plan1.dcm",
    ])
    patient2 = patient_generator([
        "./data/Jensen^Myrtle/HNC0522c0013_CT1_image00000.dcm",
    ])

    results = audit.query(page_size=1, patient_mrn=patient1.mrn)
    assert results.items[0]["patient_mrn"] == patient1.mrn
    
    results = audit.query(page_size=1, patient_mrn=patient2.mrn)
    assert results.items[0]["patient_mrn"] == patient2.mrn
コード例 #15
0
ファイル: test_audits.py プロジェクト: proknow/proknow-python
def test_page_next(app, user_generator):
    audit = Audit(app.pk, app.pk.requestor)

    user_generator()
    user_generator()

    results1 = audit.query(page_size=2)
    
    results2 = audit.query(page_size=1)
    first_id = results2.items[0]["id"]
    results2 = results2.next()
    second_id = results2.items[0]["id"]

    assert first_id != second_id
    assert first_id == results1.items[0]["id"]
    assert second_id == results1.items[1]["id"]
コード例 #16
0
ファイル: test_audits.py プロジェクト: proknow/proknow-python
def test_next_uses_first_id(app, role_generator):
    audit = Audit(app.pk, app.pk.requestor)

    role_generator()

    results = audit.query(page_size=2)
    assert len(results.items) > 0
    first_time = datetime.datetime.strptime(results.items[0]["timestamp"],"%Y-%m-%dT%H:%M:%S.%fZ")
    assert results.items[0]["id"] == results._options["first_id"]

    role_generator()

    results = results.next()
    result_time = datetime.datetime.strptime(results.items[0]["timestamp"],"%Y-%m-%dT%H:%M:%S.%fZ")
    # All items returned by next should have a timestamp after the first_id's timestamp
    assert  first_time >= result_time
コード例 #17
0
ファイル: test_audits.py プロジェクト: proknow/proknow-python
def test_text(app, user_generator, workspace_generator, patient_generator):
    audit = Audit(app.pk, app.pk.requestor)

    patient = patient_generator([
        "./data/Becker^Matthew/HNC0522c0009_Plan1.dcm",
    ])
    user_generator()
    workspace_generator()

    results = audit.query(page_size=1, text="role")
    assert results._options["text"] == ["role"]
    assert "role" in results.items[0]["type"]

    results = audit.query(page_size=5, text=[patient.name, "role"])
    assert results._options["text"] == [patient.name, "role"]
    for item in results.items:
        assert item["patient_name"] == patient.name or "role" in item["type"]
コード例 #18
0
ファイル: test_audits.py プロジェクト: proknow/proknow-python
def test_methods(app, role_generator):
    audit = Audit(app.pk, app.pk.requestor)

    _, role = role_generator()
    app.pk.roles.get(role.id)

    results = audit.query(page_size=1, methods="get")
    assert results._options["methods"] == ["GET"]
    assert results.items[0]["method"] == "GET"

    results = audit.query(page_size=1, methods="GET")
    assert results._options["methods"] == ["GET"]
    assert results.items[0]["method"] == "GET"

    results = audit.query(page_size=1, methods="post")
    assert results._options["methods"] == ["POST"]
    assert results.items[0]["method"] == "POST"

    results = audit.query(page_size=2, methods=["get", "post"])
    assert results._options["methods"] == ["GET", "POST"]
    assert results.items[0]["method"] == "GET"
    assert results.items[1]["method"] == "POST"
コード例 #19
0
ファイル: test_audits.py プロジェクト: proknow/proknow-python
def test_error_pass_through(app):
    audit = Audit(app.pk, app.pk.requestor)

    with pytest.raises(HttpError) as error_info:
        audit.query(page_size=1, methods="gett")
    assert "[\"0\" must be one of [GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH]]" in str(error_info)