|
|
@ -8,14 +8,28 @@ from mock import patch |
|
|
|
class ChannelModelTestCase(BaseTestCase): |
|
|
|
|
|
|
|
@patch("hc.api.models.requests.post") |
|
|
|
def test_it_refreshes_hipchat_access_token(self, mock_post): |
|
|
|
@patch("hc.api.models.requests.get") |
|
|
|
def test_it_refreshes_hipchat_access_token(self, mock_get, mock_post): |
|
|
|
mock_get.return_value.json.return_value = { |
|
|
|
"capabilities": { |
|
|
|
"oauth2Provider": {"tokenUrl": "http://example.org"} |
|
|
|
} |
|
|
|
} |
|
|
|
mock_post.return_value.json.return_value = {"expires_in": 100} |
|
|
|
|
|
|
|
channel = Channel(kind="hipchat", user=self.alice, value=json.dumps({ |
|
|
|
"oauthId": "foo", |
|
|
|
"oauthSecret": "bar" |
|
|
|
"oauthSecret": "bar", |
|
|
|
"capabilitiesUrl": "http://example.org/capabilities.json" |
|
|
|
})) |
|
|
|
|
|
|
|
channel.refresh_hipchat_access_token() |
|
|
|
self.assertTrue(mock_post.return_value.json.called) |
|
|
|
# It should fetch the remote capabilities document |
|
|
|
mock_get.assert_called() |
|
|
|
|
|
|
|
# It should request a token using a correct tokenUrl |
|
|
|
mock_post.assert_called() |
|
|
|
args, kwargs = mock_post.call_args |
|
|
|
self.assertEqual(args[0], "http://example.org") |
|
|
|
|
|
|
|
self.assertTrue("expires_at" in channel.value) |