Exemple #1
0
def test_put_time_expire():
    database = keyvalue.KeyValue()
    loop = asyncio.get_event_loop()
    loop.run_until_complete(database.put('hello','world', 2))
    time.sleep(15);
    with pytest.raises(KeyError):
        value = loop.run_until_complete(database.retrieve('hello'))
Exemple #2
0
def test_delete_empty():
    database = keyvalue.KeyValue()
    loop = asyncio.get_event_loop()
    loop.run_until_complete(database.put('hello','world'))
    loop.run_until_complete(database.delete('hello'))
    with pytest.raises(KeyError):
        value = loop.run_until_complete(database.retrieve('hello'))
Exemple #3
0
    def __init__(self, host=DEFAULT_HOST, port=DEFAULT_PORT):
        self._host = host
        self._port = port

        self._url = "http://%s:%s/%s" % (host, port, VERSION)
        self.kv = keyvalue.KeyValue(self._url)
        self.event = event.Event(self._url)
Exemple #4
0
def build_database():
    database = keyvalue.KeyValue()
    loop = asyncio.get_event_loop()
    total = 0
    times = []
    for x in range(keyvalue.MAX_SIZE):
        loop.run_until_complete(database.put(f"key{x}", f"value{x}"))
    randomlist = []
    for i in range(500):
        n = random.randint(1, MAX_SUSTAINABLE_VALUES)
        randomlist.append(n)
    for n in randomlist:
        t0 = time.perf_counter()
        loop.run_until_complete(database.retrieve(f"key{n}"))
        t1 = time.perf_counter()
        t = t1 - t0
        total += t
        times.append(t)
    return times
Exemple #5
0
def test_put_get():
    database = keyvalue.KeyValue()
    loop = asyncio.get_event_loop()
    loop.run_until_complete(database.put('hello','world'))
    value = loop.run_until_complete(database.retrieve('hello'))
    assert value == 'world';
Exemple #6
0
def test_get_empty_exception():
    database = keyvalue.KeyValue()
    loop = asyncio.get_event_loop()
    with pytest.raises(KeyError):
        value = loop.run_until_complete(database.retrieve('hello'))
Exemple #7
0
 def setupDB(self):
     kv = keyvalue.KeyValue(key=self.EXISTING_KEY,
                            value=self.EXISTING_VALUE)
     keyvalue.db.session.merge(kv)
     keyvalue.db.session.commit()