Exemple #1
0
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 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)