66
77
88class TestGitHub (TestCase ):
9+ # This is needed due to the structure of @patch_request
10+ __name__ = 'TestGitHub'
11+
912def setUp (self ):
1013self .g = github3 .GitHub ()
1114
@@ -42,10 +45,11 @@ def test_create_gist(self, request):
4245expect (g ).isinstance (github3 .gists .Gist )
4346assert request .called is True
4447
45- @patch_request
48+ @patch_request ( 'post' )
4649def test_create_issue (self ,request ):
4750request .return_value = generate_response ('issue' ,201 )
4851
52+ self .g .login ('user' ,'password' )
4953i = self .g .create_issue (None ,None ,None )
5054assert i is None
5155assert request .called is False
@@ -55,8 +59,67 @@ def test_create_issue(self, request):
5559assert request .called is False
5660
5761with patch .object (github3 .GitHub ,'repository' )as repo :
58- repo .return_value = github3 .repos .Repository (load (path ('repo' )))
62+ repo .return_value = github3 .repos .Repository (load (path ('repo' )),
63+ self .g )
5964i = self .g .create_issue ('user' ,'repo' ,'Title' )
6065
6166expect (i ).isinstance (github3 .issues .Issue )
6267assert request .called is True
68+
69+ @patch_request
70+ def test_create_key (self ,request ):
71+ request .return_value = generate_response ('key' ,201 )
72+
73+ k = self .g .create_key (None ,None )
74+ assert k is None
75+ assert request .called is False
76+
77+ self .g .login ('user' ,'password' )
78+ k = self .g .create_key ('Name' ,'Key' )
79+ expect (k ).isinstance (github3 .users .Key )
80+ assert request .called is True
81+
82+ @patch_request
83+ def test_create_repo (self ,request ):
84+ request .return_value = generate_response ('repository' ,201 )
85+ self .g .login ('user' ,'password' )
86+ r = self .g .create_repo ('Repository' )
87+ expect (r ).isinstance (github3 .repos .Repository )
88+ assert request .called is True
89+
90+ @patch_request
91+ def test_delete_key (self ,request ):
92+ request .return_value = generate_response (None ,204 )
93+
94+ self .g .login ('user' ,'password' )
95+ with patch .object (github3 .github .GitHub ,'key' )as key :
96+ key .return_value = github3 .users .Key (load (path ('key' )),self .g )
97+ assert self .g .delete_key (10 )is True
98+
99+ assert request .called is True
100+
101+ @patch_request
102+ def test_follow (self ,request ):
103+ request .return_value = generate_response (None ,204 )
104+
105+ with expect .raises (github3 .GitHubError ):
106+ self .g .follow ('sigmavirus24' )
107+
108+ self .g .login ('user' ,'password' )
109+ assert self .g .follow (None )is False
110+ assert self .g .follow ('sigmavirus24' )is True
111+ assert request .called is True
112+
113+ @patch_request
114+ def test_key (self ,request ):
115+ request .return_value = generate_response ('key' )
116+
117+ with expect .raises (github3 .GitHubError ):
118+ self .g .key (10 )
119+
120+ self .g .login ('user' ,'password' )
121+ assert self .g .key (- 1 )is None
122+ assert request .called is False
123+
124+ expect (self .g .key (10 )).isinstance (github3 .users .Key )
125+ assert request .called is True