Exemple #1
0
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'
    }])
Exemple #2
0
 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]
Exemple #3
0
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
Exemple #4
0
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
Exemple #5
0
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
Exemple #6
0
    def get_instance(cls) -> 'DAO':
        if cls.__instance == None:
            db_instance = db.get_db()
            cls.__instance = DAO(db_instance)

        return cls.__instance