Enterprise.py
1 ############################ Copyrights and license ############################ 2 # # 3 # Copyright 2012 Vincent Jacques <vincent@vincent-jacques.net> # 4 # Copyright 2012 Zearin <zearin@gonk.net> # 5 # Copyright 2013 Vincent Jacques <vincent@vincent-jacques.net> # 6 # Copyright 2014 Vincent Jacques <vincent@vincent-jacques.net> # 7 # Copyright 2016 Peter Buckley <dx-pbuckley@users.noreply.github.com> # 8 # Copyright 2018 sfdye <tsfdye@gmail.com> # 9 # # 10 # This file is part of PyGithub. # 11 # http://pygithub.readthedocs.io/ # 12 # # 13 # PyGithub is free software: you can redistribute it and/or modify it under # 14 # the terms of the GNU Lesser General Public License as published by the Free # 15 # Software Foundation, either version 3 of the License, or (at your option) # 16 # any later version. # 17 # # 18 # PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # 19 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # 20 # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # 21 # details. # 22 # # 23 # You should have received a copy of the GNU Lesser General Public License # 24 # along with PyGithub. If not, see <http://www.gnu.org/licenses/>. # 25 # # 26 ################################################################################ 27 28 import github 29 30 from . import Framework 31 32 33 # Replay data for this test case is forged, because I don't have access to a real Github Enterprise install 34 class Enterprise(Framework.BasicTestCase): 35 def testHttps(self): 36 g = github.Github(auth=self.login, base_url="https://my.enterprise.com") 37 self.assertListKeyEqual( 38 g.get_user().get_repos(), 39 lambda r: r.name, 40 [ 41 "TestPyGithub", 42 "django", 43 "PyGithub", 44 "developer.github.com", 45 "acme-public-website", 46 "C4Planner", 47 "Hacking", 48 "vincent-jacques.net", 49 "Contests", 50 "Candidates", 51 "Tests", 52 "DrawTurksHead", 53 "DrawSyntax", 54 "QuadProgMm", 55 "Boost.HierarchicalEnum", 56 "ViDE", 57 ], 58 ) 59 60 def testHttp(self): 61 g = github.Github(auth=self.login, base_url="http://my.enterprise.com") 62 self.assertListKeyEqual( 63 g.get_user().get_repos(), 64 lambda r: r.name, 65 [ 66 "TestPyGithub", 67 "django", 68 "PyGithub", 69 "developer.github.com", 70 "acme-public-website", 71 "C4Planner", 72 "Hacking", 73 "vincent-jacques.net", 74 "Contests", 75 "Candidates", 76 "Tests", 77 "DrawTurksHead", 78 "DrawSyntax", 79 "QuadProgMm", 80 "Boost.HierarchicalEnum", 81 "ViDE", 82 ], 83 ) 84 85 def testUnknownUrlScheme(self): 86 with self.assertRaises(AssertionError) as raisedexp: 87 github.Github(auth=self.login, base_url="foobar://my.enterprise.com") 88 self.assertEqual(raisedexp.exception.args[0], "Unknown URL scheme") 89 90 def testLongUrl(self): 91 g = github.Github(auth=self.login, base_url="http://my.enterprise.com/path/to/github") 92 repos = g.get_user().get_repos() 93 self.assertListKeyEqual( 94 repos, 95 lambda r: r.name, 96 [ 97 "TestPyGithub", 98 "django", 99 "PyGithub", 100 "developer.github.com", 101 "acme-public-website", 102 "C4Planner", 103 "Hacking", 104 "vincent-jacques.net", 105 "Contests", 106 "Candidates", 107 "Tests", 108 "DrawTurksHead", 109 "DrawSyntax", 110 "QuadProgMm", 111 "Boost.HierarchicalEnum", 112 "ViDE", 113 ], 114 ) 115 self.assertEqual(repos[0].owner.name, "Vincent Jacques") 116 117 def testSpecificPort(self): 118 g = github.Github(auth=self.login, base_url="http://my.enterprise.com:8080") 119 self.assertListKeyEqual( 120 g.get_user().get_repos(), 121 lambda r: r.name, 122 [ 123 "TestPyGithub", 124 "django", 125 "PyGithub", 126 "developer.github.com", 127 "acme-public-website", 128 "C4Planner", 129 "Hacking", 130 "vincent-jacques.net", 131 "Contests", 132 "Candidates", 133 "Tests", 134 "DrawTurksHead", 135 "DrawSyntax", 136 "QuadProgMm", 137 "Boost.HierarchicalEnum", 138 "ViDE", 139 ], 140 )