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
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
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
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