def init_db(): clean_db() db = get_db(mem_db=True) DAO._DAO__instance = None db.collection('jobs').store([{ 'name': 'test', 'url': 'http://example.com/rss' }])
def resolve_job(self, info, id=None): coll = db.get_db().collection('jobs') if id != None: data = coll.fetch(id) if data != None: data = [coll.fetch(id)] else: raise GraphQLError('Specified job not found') else: data = coll.all() return [Job(**d) for d in data]
async def test_rss(test_server): db = get_db(mem_db=True) dao = DAO.get_instance() db.collection('jobs').store([{ 'lastPubTime': datetime.now().timestamp() - 1000, 'url': f'http://localhost:{test_server["port"]}' }]) r = [i async for i in rss.get_updates()] assert r != None
def test_job_create(): data = root_schema.execute(''' mutation { createJob(data: { name: "auto_test", url: "test" enable: false }) { ok id } } ''') assert data.data['createJob']['ok'] == True assert get_db().collection('jobs') \ .filter(lambda x: x['name'] == 'auto_test') != None
def test_job_update(): data = root_schema.execute(''' mutation { updateJob(data: { name: "new_name", url: "http://example.com/new_rss", enable: true }, id: 0) { ok id } } ''') assert data.data['updateJob']['ok'] == True db_data = get_db().collection('jobs') \ .fetch(0) assert db_data['enable'] == True
def get_instance(cls) -> 'DAO': if cls.__instance == None: db_instance = db.get_db() cls.__instance = DAO(db_instance) return cls.__instance