Skip to content

Commit

Permalink
add test cases for adapters
Browse files Browse the repository at this point in the history
  • Loading branch information
GreatYYX committed Apr 3, 2018
1 parent bde9988 commit 89e5500
Showing 1 changed file with 57 additions and 0 deletions.
57 changes: 57 additions & 0 deletions rltk/tests/test_io_adapter.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import os
import pytest

from rltk.record import Record
from rltk.io.adapter import *


class ConcreteRecord(Record):

@property
def id(self):
return self.raw_object['id']

@property
def value(self):
return self.raw_object['value']

record = ConcreteRecord(raw_object={'id': 'id1', 'value': 'value1'})


def test_memory_adapter():
adapter = MemoryAdapter()
adapter.set(record.id, record)
assert adapter.get(record.id).id == record.id
assert adapter.get(record.id).value == record.value
for r in adapter:
assert r.id == record.id
break


def test_dbm_adapter():
name = 'test_dbm_adapter'
adapter = DBMAdapter(name)
adapter.set(record.id, record)
assert adapter.get(record.id).id == record.id
assert adapter.get(record.id).value == record.value
for r in adapter:
assert r.id == record.id
break
if os.path.exists(name + '.db'):
os.remove(name + '.db')


def test_redis_adapter():
adapter = None
# skip the test if redis service is not available
try:
adapter = RedisAdapter('127.0.0.1', key_format='test_{record_id}')
except:
return

adapter.set(record.id, record)
assert adapter.get(record.id).id == record.id
assert adapter.get(record.id).value == record.value
for r in adapter:
assert r.id == record.id
break

0 comments on commit 89e5500

Please sign in to comment.