Ejemplo n.º 1
0
def test_sync_user_repos(celery_app, GitHubForIterRepos):
    job = factories.InternalJob()
    user = factories.User(github_oauth_token='my-token')
    sync_user_repos.delay(user.id, job_id=job.id)
    GitHubForIterRepos.assert_called_with(token='my-token')
    sources = sorted(user.sources, key=lambda source: source.name)
    assert sources[0].conf['github_id'] == 'id1'
    assert sources[0].name == 'owner1/repo1'
    assert sources[0].active is True
    assert sources[1].conf['github_id'] == 'id2'
    assert sources[1].name == 'owner2/repo2'
    assert sources[1].active is False
Ejemplo n.º 2
0
def test_sync_user_admin_can_see_private(celery_app, GitHubForIterRepos):
    job = factories.InternalJob()
    user = factories.User(admin=True, github_oauth_token='my-token')
    sync_user_repos(user.id, job_id=job.id)
    GitHubForIterRepos.assert_called_with(token='my-token')
    sources = sorted(user.sources, key=lambda source: source.name)

    assert len(sources) == 3

    assert sources[0].conf['github_id'] == 'id1'
    assert sources[0].conf['private'] is False
    assert sources[1].conf['github_id'] == 'id2'
    assert sources[1].conf['private'] is False
    assert sources[2].conf['github_id'] == 'id3'
    assert sources[2].conf['private'] is True
Ejemplo n.º 3
0
def test_InternalJobTask_on_failure_exception(celery_app):

    # Prepare things
    job = factories.InternalJob(_save_in_db=True)

    # Prepare and call task
    @celery_app.task(base=InternalJobTask)
    def task(job_id):
        raise RuntimeError('bad')

    task.delay(job_id=job.id)

    # Assert errored task
    assert job.status == 'error'
    assert job.error == {'message': 'Internal error'}
    assert job.finished
Ejemplo n.º 4
0
def test_sync_user_with_plan_can_see_private(celery_app, GitHubForIterRepos):
    job = factories.InternalJob()

    plan = database['session'].query(Plan).filter_by(name='paid').one()

    user = factories.User(admin=True, github_oauth_token='my-token')
    user.set_plan(plan.name)

    sync_user_repos(user.id, job_id=job.id)
    GitHubForIterRepos.assert_called_with(token='my-token')
    sources = sorted(user.sources, key=lambda source: source.name)

    assert len(sources) == 3

    assert sources[0].conf['github_id'] == 'id1'
    assert sources[0].conf['private'] is False
    assert sources[1].conf['github_id'] == 'id2'
    assert sources[1].conf['private'] is False
    assert sources[2].conf['github_id'] == 'id3'
    assert sources[2].conf['private'] is True