(self)
| 222 | ) |
| 223 | |
| 224 | def testAppUserAuthentication(self): |
| 225 | client_id = "removed client id" |
| 226 | client_secret = "removed client secret" |
| 227 | refresh_token = "removed refresh token" |
| 228 | |
| 229 | g = github.Github() |
| 230 | app = g.get_oauth_application(client_id, client_secret) |
| 231 | with mock.patch("github.AccessToken.datetime") as dt: |
| 232 | dt.now = mock.Mock(return_value=datetime(2023, 6, 7, 12, 0, 0, 123, tzinfo=timezone.utc)) |
| 233 | token = app.refresh_access_token(refresh_token) |
| 234 | self.assertEqual(token.token, "fresh access token") |
| 235 | self.assertEqual(token.type, "bearer") |
| 236 | self.assertEqual(token.scope, "") |
| 237 | self.assertEqual(token.expires_in, 28800) |
| 238 | self.assertEqual( |
| 239 | token.expires_at, |
| 240 | datetime(2023, 6, 7, 20, 0, 0, 123, tzinfo=timezone.utc), |
| 241 | ) |
| 242 | self.assertEqual(token.refresh_token, "fresh refresh token") |
| 243 | self.assertEqual(token.refresh_expires_in, 15811200) |
| 244 | self.assertEqual( |
| 245 | token.refresh_expires_at, |
| 246 | datetime(2023, 12, 7, 12, 0, 0, 123, tzinfo=timezone.utc), |
| 247 | ) |
| 248 | |
| 249 | auth = app.get_app_user_auth(token) |
| 250 | with mock.patch("github.Auth.datetime") as dt: |
| 251 | dt.now = mock.Mock(return_value=datetime(2023, 6, 7, 20, 0, 0, 123, tzinfo=timezone.utc)) |
| 252 | self.assertEqual(auth._is_expired, False) |
| 253 | self.assertEqual(auth.token, "fresh access token") |
| 254 | self.assertEqual(auth.token_type, "bearer") |
| 255 | self.assertEqual(auth.refresh_token, "fresh refresh token") |
| 256 | |
| 257 | # expire auth token |
| 258 | with mock.patch("github.Auth.datetime") as dt: |
| 259 | dt.now = mock.Mock(return_value=datetime(2023, 6, 7, 20, 0, 1, 123, tzinfo=timezone.utc)) |
| 260 | self.assertEqual(auth._is_expired, True) |
| 261 | self.assertEqual(auth.token, "another access token") |
| 262 | self.assertEqual(auth._is_expired, False) |
| 263 | self.assertEqual(auth.token_type, "bearer") |
| 264 | self.assertEqual(auth.refresh_token, "another refresh token") |
| 265 | |
| 266 | g = github.Github(auth=auth) |
| 267 | user = g.get_user() |
| 268 | self.assertEqual(user.login, "EnricoMi") |
| 269 | |
| 270 | def testNetrcAuth(self): |
| 271 | with NamedTemporaryFile("wt", delete=False) as tmp: |
nothing calls this directly
no test coverage detected