コード例 #1
0
    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)
コード例 #2
0
 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)
コード例 #3
0
    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
                           )