Ejemplo n.º 1
0
def testGetAllHistories():
    seed = b'\x92[\xcb\xf4\xee5+\xcf\xd4b*%/\xabw8\xd4d\xa2\xf8\xad\xa7U\x19,\xcfS\x12\xa6l\xba"'

    dbing.setupDbEnv(DB_DIR_PATH)

    data = {
        "id":
        DID,
        "signer":
        0,
        "signers": [
            "NOf6ZghvGNbFc_wr3CC0tKZHz1qWAR4lD5aM-i0zSjw=",
            "NOf6ZghvGNbFc_wr3CC0tKZHz1qWAR4lD5aM-i0zSjw="
        ]
    }

    sigs = [help.signResource(json.dumps(data).encode(), SK)]

    history1 = dbing.saveHistory(DID, data, sigs)

    vk, sk, did, body = help.genDidHistory(seed, signer=0, numSigners=2)
    data = json.loads(body)
    sigs = [help.signResource(json.dumps(data).encode(), sk)]

    history2 = dbing.saveHistory(did, data, sigs)

    exp_data = {'data': [history1, history2]}

    actual_data = dbing.getAllHistories()

    assert actual_data == exp_data
Ejemplo n.º 2
0
def testGetAllOtpBlobs():
    seed = b'\x92[\xcb\xf4\xee5+\xcf\xd4b*%/\xabw8\xd4d\xa2\xf8\xad\xa7U\x19,\xcfS\x12\xa6l\xba"'

    dbing.setupDbEnv(DB_DIR_PATH)

    data = {
        "id":
        DID,
        "blob":
        "aj;skldfjaoisfjweoijfoiajfo;iasjvjncowrnoiarejnfoj;csacivnfgo;afiewvajdfvo;hnafddjio;ahjfgoia;ehroi;hs"
    }
    sigs = [help.signResource(json.dumps(data).encode(), SK)]

    otpBlob1 = dbing.saveOtpBlob(DID, data, sigs)

    vk, sk, did, body = help.genDidHistory(seed, signer=0, numSigners=2)
    data = {
        "id":
        did,
        "blob":
        "aj;skldfjaoisfjweoijfoiajfo;iasjvjncowrnoiarejnfoj;csacivnfgo;afiewvajdfvo;hnafddjio;ahjfgoia;ehroi;hs"
    }
    sigs = [help.signResource(json.dumps(data).encode(), sk)]

    otpBlob2 = dbing.saveOtpBlob(did, data, sigs)

    exp_data = {'data': [otpBlob1, otpBlob2]}

    actual_data = dbing.getAllOtpBlobs()

    assert actual_data == exp_data
Ejemplo n.º 3
0
def testOtpBlobCount():
    dbing.setupDbEnv(DB_DIR_PATH)

    dbOtpBlob = dbing.dideryDB.open_db(dbing.DB_OTP_BLOB_NAME)

    with dbing.dideryDB.begin(db=dbOtpBlob, write=True) as txn:
        data = b'{"id": "did:dad:Y2CR8pS8z2YvJQN-FH_wprtF1TyA0jTlXC3MrMmaNyY=", "blob": "aj;skldfjaoisfjweoijfoiajfo;iasjvjncowrnoiarejnfoj;csacivnfgo;afiewvajdfvo;hnafddjio;ahjfgoia;ehroi;hs"}'
        id = b'did:dad:Y2CR8pS8z2YvJQN-FH_wprtF1TyA0jTlXC3MrMmaNyY='

        txn.put(id, data)

    count = dbing.otpBlobCount()

    assert count == 1
Ejemplo n.º 4
0
def testHistoryCount():
    dbing.setupDbEnv(DB_DIR_PATH)

    dbHistory = dbing.dideryDB.open_db(dbing.DB_KEY_HISTORY_NAME)

    with dbing.dideryDB.begin(db=dbHistory, write=True) as txn:
        data = b'{"id": "did:dad:-OVHx0sv_jJePGB9LBZaWDlrLkxMNlOeHPdHysViK9k=", "signer": 0, "signers": ["-OVHx0sv_jJePGB9LBZaWDlrLkxMNlOeHPdHysViK9k=", "5Bp8Z8_UOWZBtVxffoTVF3QYkE-W-CpKa6VnN27CcN8="]}'
        id = b'did:dad:-OVHx0sv_jJePGB9LBZaWDlrLkxMNlOeHPdHysViK9k='

        txn.put(id, data)

    count = dbing.historyCount()

    assert count == 1
Ejemplo n.º 5
0
    def setupTearDown(self):
        """

        Pytest runs this function before every test when autouse=True
        Without autouse=True you would have to add a setupTeardown parameter
        to each test function

        """
        # setup
        dbPath = h.setupTmpBaseDir()
        db.setupDbEnv(dbPath, mode="race")

        yield dbPath  # this allows the test to run

        # teardown
        h.cleanupTmpBaseDir(dbPath)
Ejemplo n.º 6
0
def testGetOtpBlob():
    dbing.setupDbEnv(DB_DIR_PATH)

    data = {
        "id":
        DID,
        "blob":
        "aj;skldfjaoisfjweoijfoiajfo;iasjvjncowrnoiarejnfoj;csacivnfgo;afiewvajdfvo;hnafddjio;ahjfgoia;ehroi;hs"
    }

    sigs = [help.signResource(json.dumps(data).encode(), SK)]

    exp_data = dbing.saveOtpBlob(DID, data, sigs)

    actual_data = dbing.getOtpBlob(DID)

    assert actual_data == exp_data
Ejemplo n.º 7
0
def testSaveOtpBlob():
    dbing.setupDbEnv(DB_DIR_PATH)

    data = {
        "id":
        DID,
        "blob":
        "aj;skldfjaoisfjweoijfoiajfo;iasjvjncowrnoiarejnfoj;csacivnfgo;afiewvajdfvo;hnafddjio;ahjfgoia;ehroi;hs"
    }

    sigs = [help.signResource(json.dumps(data).encode(), SK)]

    exp_data = dbing.saveOtpBlob(DID, data, sigs)

    dbOtpBlob = dbing.dideryDB.open_db(dbing.DB_OTP_BLOB_NAME)

    with dbing.dideryDB.begin(db=dbOtpBlob, write=True) as txn:
        actual_data = txn.get(DID.encode())

    assert actual_data == json.dumps(exp_data).encode()
Ejemplo n.º 8
0
def dideryServerOpen(self):
    """
    Setup and open a rest server

    Ioinit attributes
        valet is Valet instance (wsgi server)
        port is server port

    Context: enter

    Example:
        do didery server open at enter
    """
    port = int(self.port.value)
    dbing.setupDbEnv(self.db.value, self.port.value, mode=self.mode.value)

    app = falcon.API(middleware=[routing.CORSMiddleware()])
    routing.loadEndPoints(app, store=self.store, mode=self.mode.value)

    self.valet.value = Valet(
        port=port,
        bufsize=131072,
        wlog=None,
        store=self.store,
        app=app,
        timeout=0.5,
    )

    console.terse("IP Address {}\n".format(self.valet.value.servant.ha))

    result = self.valet.value.servant.reopen()

    if not result:
        console.terse("Error opening server '{0}' at '{1}'\n".format(
            self.valet.name, self.valet.value.servant.ha))
        return

    console.concise("Opened server '{0}' at '{1}'\n".format(
        self.valet.name,
        self.valet.value.servant.ha,
    ))
Ejemplo n.º 9
0
def testGetHistory():
    dbing.setupDbEnv(DB_DIR_PATH)

    data = {
        "id":
        DID,
        "signer":
        0,
        "signers": [
            "NOf6ZghvGNbFc_wr3CC0tKZHz1qWAR4lD5aM-i0zSjw=",
            "NOf6ZghvGNbFc_wr3CC0tKZHz1qWAR4lD5aM-i0zSjw="
        ]
    }

    sigs = [help.signResource(json.dumps(data).encode(), SK)]

    exp_data = dbing.saveHistory(DID, data, sigs)

    actual_data = dbing.getHistory(DID)

    assert actual_data == exp_data
Ejemplo n.º 10
0
def testSaveHistory():
    dbing.setupDbEnv(DB_DIR_PATH)

    data = {
        "id":
        DID,
        "signer":
        0,
        "signers": [
            "NOf6ZghvGNbFc_wr3CC0tKZHz1qWAR4lD5aM-i0zSjw=",
            "NOf6ZghvGNbFc_wr3CC0tKZHz1qWAR4lD5aM-i0zSjw="
        ]
    }

    sigs = [help.signResource(json.dumps(data).encode(), SK)]

    exp_data = dbing.saveHistory(DID, data, sigs)

    dbHistory = dbing.dideryDB.open_db(dbing.DB_KEY_HISTORY_NAME)

    with dbing.dideryDB.begin(db=dbHistory, write=True) as txn:
        actual_data = txn.get(DID.encode())

    assert actual_data == json.dumps(exp_data).encode()
Ejemplo n.º 11
0
def methodEventsDB():
    dbing.setupDbEnv(DB_DIR_PATH, mode="method")
    return dbing.eventsDB
Ejemplo n.º 12
0
def testGetNonExistentHistory():
    dbing.setupDbEnv(DB_DIR_PATH)

    actual_data = dbing.getHistory(DID)

    assert actual_data is None
Ejemplo n.º 13
0
def promiscuousEventsDB():
    dbing.setupDbEnv(DB_DIR_PATH, mode="promiscuous")
    return dbing.eventsDB
Ejemplo n.º 14
0
def raceEventsDB():
    dbing.setupDbEnv(DB_DIR_PATH, mode="race")
    return dbing.eventsDB
Ejemplo n.º 15
0
def methodHistoryDB():
    dbing.setupDbEnv(DB_DIR_PATH, mode="method")
    return dbing.historyDB
Ejemplo n.º 16
0
def eventsDB():
    dbing.setupDbEnv(DB_DIR_PATH)
    return dbing.eventsDB
Ejemplo n.º 17
0
def promiscuousHistoryDB():
    dbing.setupDbEnv(DB_DIR_PATH, mode="promiscuous")
    return dbing.historyDB
Ejemplo n.º 18
0
def raceHistoryDB():
    dbing.setupDbEnv(DB_DIR_PATH, mode="race")
    return dbing.historyDB
Ejemplo n.º 19
0
def otpDB():
    dbing.setupDbEnv(DB_DIR_PATH)
    return dbing.otpDB
Ejemplo n.º 20
0
def historyDB():
    dbing.setupDbEnv(DB_DIR_PATH)
    return dbing.historyDB
Ejemplo n.º 21
0
def testSetupDbEnvWithPath():
    env = dbing.setupDbEnv(DB_DIR_PATH)
    assert env.path() == DB_DIR_PATH

    assert dbing.gDbDirPath == DB_DIR_PATH
    assert dbing.dideryDB is env
Ejemplo n.º 22
0
def testEmptyOtpCount():
    dbing.setupDbEnv(DB_DIR_PATH)

    count = dbing.otpBlobCount()

    assert count == 0
Ejemplo n.º 23
0
def testGetNonExistentOtpBlob():
    dbing.setupDbEnv(DB_DIR_PATH)

    actual_data = dbing.getOtpBlob(DID)

    assert actual_data is None
Ejemplo n.º 24
0
def testGetAllOtpBlobsOnEmptyDB():
    dbing.setupDbEnv(DB_DIR_PATH)

    actual_data = dbing.getAllOtpBlobs()

    assert actual_data == {'data': []}
Ejemplo n.º 25
0
def testEmptyHistoryCount():
    dbing.setupDbEnv(DB_DIR_PATH)

    count = dbing.historyCount()

    assert count == 0