def test_with_multiple_mechanisms(self): self.stub_auth(json=self.TEST_RESPONSE_DICT) p = v3.PasswordMethod(username=self.TEST_USER, password=self.TEST_PASS) t = v3.TokenMethod(token='foo') a = v3.Auth(self.TEST_URL, [p, t], trust_id='trust') self.assertTrue(a.has_scope_parameters) s = session.Session(auth=a) self.assertEqual({'X-Auth-Token': self.TEST_TOKEN}, s.get_auth_headers()) req = { 'auth': { 'identity': { 'methods': ['password', 'token'], 'password': { 'user': { 'name': self.TEST_USER, 'password': self.TEST_PASS } }, 'token': { 'id': 'foo' } }, 'scope': { 'OS-TRUST:trust': { 'id': 'trust' } } } } self.assertRequestBodyIs(json=req) self.assertEqual(s.auth.auth_ref.auth_token, self.TEST_TOKEN)
def get_ks_session(**kwargs): # Establishes a keystone session if 'token' in kwargs: auth = v3.TokenMethod(token=kwargs.get('token')) else: auth = v3.Password(**kwargs) return session.Session(auth=auth)
def auth(self): if 'v2' in self.auth_url: token = v2.Token(token=self.token, auth_url=self.auth_url, tenant_id=self.tenant_id) return token # if 'v3' in self.auth_url: else: token = v3.TokenMethod(token=self.token) return v3.Auth(auth_url=self.auth_url, auth_methods=[token], project_id=self.tenant_id )