Example #1
0
def superuser():
    return UKRDCUser(
        id="TEST_ID",
        cid="PYTEST",
        email="TEST@UKRDC_FASTAPI",
        permissions=Permissions.all(),
        scopes=["openid", "profile", "email", "offline_access"],
    )
Example #2
0
def test_user():
    return UKRDCUser(
        id="TEST_ID",
        cid="PYTEST",
        email="TEST@UKRDC_FASTAPI",
        permissions=[
            *Permissions.all()[:-1], "ukrdc:unit:TEST_SENDING_FACILITY_1"
        ],
        scopes=["openid", "profile", "email", "offline_access"],
    )
Example #3
0
async def test_user(client):
    response = await client.get(f"{configuration.base_url}/v1/system/user/")
    assert response.json().get("email") == "TEST@UKRDC_FASTAPI"
    assert set(response.json().get("permissions")) == set(Permissions.all())
Example #4
0
import json
import os

from sqlalchemy.orm import Session
from ukrdc_sqla.empi import MasterRecord

from ukrdc_fastapi.dependencies.auth import Permissions, UKRDCUser
from ukrdc_fastapi.dependencies.database import JtraceSession
from ukrdc_fastapi.query.masterrecords import get_masterrecords_related_to_masterrecord

USER = UKRDCUser(id="", email="", scopes=[], permissions=Permissions.all())


def find_ukrdc_dupes(jtrace: Session):
    rfile = "dupes.json"

    if os.path.isfile(rfile):
        with open(rfile, "r") as f:
            results = json.load(f)
        print("Loaded results:")
        print(results)
    else:
        results = {"cleared": [], "failed": {}}

    print("Fetching records")
    records: MasterRecord = jtrace.query(MasterRecord).filter(
        MasterRecord.id.notin_(results["cleared"]))

    for record in records:
        print(f"Processing record {record.id}")
        related_ukrdc_records = get_masterrecords_related_to_masterrecord(