def test_get_access_token_on_refresh(self): app_identity_stub = self.AppIdentityStubImpl() apiproxy_stub_map.apiproxy = apiproxy_stub_map.APIProxyStubMap() apiproxy_stub_map.apiproxy.RegisterStub("app_identity_service", app_identity_stub) apiproxy_stub_map.apiproxy.RegisterStub( 'memcache', memcache_stub.MemcacheServiceStub()) scope = [ "http://www.googleapis.com/scope", "http://www.googleapis.com/scope2"] credentials = AppAssertionCredentials(scope) http = httplib2.Http() credentials.refresh(http) self.assertEqual('a_token_123', credentials.access_token) json = credentials.to_json() credentials = Credentials.new_from_json(json) self.assertEqual( 'http://www.googleapis.com/scope http://www.googleapis.com/scope2', credentials.scope) scope = "http://www.googleapis.com/scope http://www.googleapis.com/scope2" credentials = AppAssertionCredentials(scope) http = httplib2.Http() credentials.refresh(http) self.assertEqual('a_token_123', credentials.access_token) self.assertEqual( 'http://www.googleapis.com/scope http://www.googleapis.com/scope2', credentials.scope)
def search_command(self, message=None): credentials = AppAssertionCredentials( scope='https://www.googleapis.com/auth/urlshortener') http = credentials.authorize(httplib2.Http(memcache)) service = build("urlshortener", "v1", http=http) credentials.refresh(http) long_url = message.arg url = "http://gymkhana.iitb.ac.in/~ugacademics/wiki/index.php?search=" + long_url + "&go=Go&title=Special%3ASearch" shortened = service.url().insert(body={"longUrl": url}).execute() shortened1 = service.url().list().execute() message.reply(str(shortened1["items"][0]['id']))
def test_raise_correct_type_of_exception(self): app_identity_stub = self.ErroringAppIdentityStubImpl() apiproxy_stub_map.apiproxy = apiproxy_stub_map.APIProxyStubMap() apiproxy_stub_map.apiproxy.RegisterStub("app_identity_service", app_identity_stub) apiproxy_stub_map.apiproxy.RegisterStub("memcache", memcache_stub.MemcacheServiceStub()) scope = "http://www.googleapis.com/scope" try: credentials = AppAssertionCredentials(scope) http = httplib2.Http() credentials.refresh(http) self.fail("Should have raised an AccessTokenRefreshError") except AccessTokenRefreshError: pass
def test_custom_service_account(self): scope = "http://www.googleapis.com/scope" account_id = "*****@*****.**" with mock.patch.object( app_identity, "get_access_token", return_value=("a_token_456", None), autospec=True ) as get_access_token: credentials = AppAssertionCredentials(scope, service_account_id=account_id) http = httplib2.Http() credentials.refresh(http) self.assertEqual("a_token_456", credentials.access_token) self.assertEqual(scope, credentials.scope) get_access_token.assert_called_once_with([scope], service_account_id=account_id)
def search_command(self,message=None): credentials = AppAssertionCredentials(scope='https://www.googleapis.com/auth/urlshortener') http = credentials.authorize(httplib2.Http(memcache)) service = build("urlshortener", "v1", http=http) credentials.refresh(http) long_url = message.arg url="http://gymkhana.iitb.ac.in/~ugacademics/wiki/index.php?search="+long_url+"&go=Go&title=Special%3ASearch" shortened = service.url().insert(body={"longUrl": url}).execute() shortened1 = service.url().list().execute() message.reply( str(shortened1["items"][0]['id']))
def test_custom_service_account(self): scope = "http://www.googleapis.com/scope" account_id = "*****@*****.**" m = mox.Mox() m.StubOutWithMock(app_identity, "get_access_token") app_identity.get_access_token([scope], service_account_id=account_id).AndReturn(("a_token_456", None)) m.ReplayAll() credentials = AppAssertionCredentials(scope, service_account_id=account_id) http = httplib2.Http() credentials.refresh(http) m.VerifyAll() m.UnsetStubs() self.assertEqual("a_token_456", credentials.access_token) self.assertEqual(scope, credentials.scope)
def test_custom_service_account(self): scope = "http://www.googleapis.com/scope" account_id = "*****@*****.**" m = mox.Mox() m.StubOutWithMock(app_identity, 'get_access_token') app_identity.get_access_token( [scope], service_account_id=account_id).AndReturn(('a_token_456', None)) m.ReplayAll() credentials = AppAssertionCredentials(scope, service_account_id=account_id) http = httplib2.Http() credentials.refresh(http) m.VerifyAll() m.UnsetStubs() self.assertEqual('a_token_456', credentials.access_token) self.assertEqual(scope, credentials.scope)
def test_raise_correct_type_of_exception(self): app_identity_stub = self.ErroringAppIdentityStubImpl() apiproxy_stub_map.apiproxy = apiproxy_stub_map.APIProxyStubMap() apiproxy_stub_map.apiproxy.RegisterStub('app_identity_service', app_identity_stub) apiproxy_stub_map.apiproxy.RegisterStub( 'memcache', memcache_stub.MemcacheServiceStub()) scope = 'http://www.googleapis.com/scope' try: credentials = AppAssertionCredentials(scope) http = httplib2.Http() credentials.refresh(http) self.fail('Should have raised an AccessTokenRefreshError') except AccessTokenRefreshError: pass
def test_custom_service_account(self): scope = "http://www.googleapis.com/scope" account_id = "*****@*****.**" with mock.patch.object(app_identity, 'get_access_token', return_value=('a_token_456', None), autospec=True) as get_access_token: credentials = AppAssertionCredentials( scope, service_account_id=account_id) http = httplib2.Http() credentials.refresh(http) self.assertEqual('a_token_456', credentials.access_token) self.assertEqual(scope, credentials.scope) get_access_token.assert_called_once_with( [scope], service_account_id=account_id)