def manage(): full_name = request.form.get('full_name', '') data = dict(parse_qsl(request.form.get('data', ''))) repo_name = ( '' if github_utils.is_user_pages(full_name) else full_name.split('/', 1)[-1] ) github_token = current_user.github_token travis_token = current_user.travis_token # If repo not listed in travis, sync repo_id = travis_utils.get_repo_id(full_name, travis_token) if repo_id is None: travis_utils.sync_with_github(travis_token) repo_id = travis_utils.get_repo_id(full_name, travis_token) if repo_id is None: message = messages.NO_SUCH_REPO_FOUND return jsonify(dict(message=message)) enabled = travis_utils.enable_hook(repo_id, travis_token) created = create_travis_files(full_name, github_token, data) response = get_display_response(enabled, created) response['message'] %= dict(USER=current_user.username, REPO=repo_name) return jsonify(response)
def test_should_enable_hook(self): # Given repo_id = travis_utils.get_repo_id(THIS_REPO, TRAVIS_TOKEN) # When enabled = travis_utils.enable_hook(repo_id, TRAVIS_TOKEN) # Then self.assertTrue(enabled)
def test_should_not_get_bogus_repo_id(self): # Given full_name = THIS_REPO + BOGUS # When id = travis_utils.get_repo_id(full_name, TRAVIS_TOKEN) # Then self.assertIsNone(id)
def test_should_get_repo_id(self): # Given full_name = THIS_REPO repo_id = 1779263 # When id = travis_utils.get_repo_id(full_name, TRAVIS_TOKEN) # Then self.assertEqual(id, repo_id)
def enable_ci_for_repo(repo, gh_token): """ Enable the travis hook for the given repo. """ access_token = travis_utils.get_access_token(gh_token) repo_id = travis_utils.get_repo_id(repo, access_token) enabled = travis_utils.enable_hook(repo_id, access_token) if enabled: print('Enabled GitHub/Travis hook for %s' % repo) else: print('Failed to enable GitHub/Travis hook for %s' % repo)