~ubuntu-cloud-archive/ubuntu/precise/nova/trunk

« back to all changes in this revision

Viewing changes to nova/tests/api/openstack/test_auth.py

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2011-06-17 13:29:16 UTC
  • mto: (94.1.1 raring-proposed)
  • mto: This revision was merged to the branch mainline in revision 27.
  • Revision ID: james.westby@ubuntu.com-20110617132916-u3vv6rxmtvnfn4cj
Tags: upstream-2011.3~d2~20110617.1191
ImportĀ upstreamĀ versionĀ 2011.3~d2~20110617.1191

Show diffs side-by-side

added added

removed removed

Lines of Context:
114
114
        self.assertEqual(result.status, '401 Unauthorized')
115
115
        self.assertEqual(self.destroy_called, True)
116
116
 
 
117
    def test_authorize_project(self):
 
118
        f = fakes.FakeAuthManager()
 
119
        user = nova.auth.manager.User('id1', 'user1', 'user1_key', None, None)
 
120
        f.add_user(user)
 
121
        f.create_project('user1_project', user)
 
122
        f.create_project('user2_project', user)
 
123
 
 
124
        req = webob.Request.blank('/v1.0/', {'HTTP_HOST': 'foo'})
 
125
        req.headers['X-Auth-User'] = 'user1'
 
126
        req.headers['X-Auth-Key'] = 'user1_key'
 
127
        result = req.get_response(fakes.wsgi_app())
 
128
        self.assertEqual(result.status, '204 No Content')
 
129
 
 
130
        token = result.headers['X-Auth-Token']
 
131
        self.stubs.Set(nova.api.openstack, 'APIRouterV10', fakes.FakeRouter)
 
132
        req = webob.Request.blank('/v1.0/fake')
 
133
        req.headers['X-Auth-Token'] = token
 
134
        req.headers['X-Auth-Project-Id'] = 'user2_project'
 
135
        result = req.get_response(fakes.wsgi_app())
 
136
        self.assertEqual(result.status, '200 OK')
 
137
        self.assertEqual(result.headers['X-Test-Success'], 'True')
 
138
 
117
139
    def test_bad_user_bad_key(self):
118
140
        req = webob.Request.blank('/v1.0/')
119
141
        req.headers['X-Auth-User'] = 'unknown_user'
143
165
        result = req.get_response(fakes.wsgi_app())
144
166
        self.assertEqual(result.status, '401 Unauthorized')
145
167
 
 
168
    def test_bad_project(self):
 
169
        f = fakes.FakeAuthManager()
 
170
        user1 = nova.auth.manager.User('id1', 'user1', 'user1_key', None, None)
 
171
        user2 = nova.auth.manager.User('id2', 'user2', 'user2_key', None, None)
 
172
        f.add_user(user1)
 
173
        f.add_user(user2)
 
174
        f.create_project('user1_project', user1)
 
175
        f.create_project('user2_project', user2)
 
176
 
 
177
        req = webob.Request.blank('/v1.0/', {'HTTP_HOST': 'foo'})
 
178
        req.headers['X-Auth-User'] = 'user1'
 
179
        req.headers['X-Auth-Key'] = 'user1_key'
 
180
        result = req.get_response(fakes.wsgi_app())
 
181
        self.assertEqual(result.status, '204 No Content')
 
182
 
 
183
        token = result.headers['X-Auth-Token']
 
184
        self.stubs.Set(nova.api.openstack, 'APIRouterV10', fakes.FakeRouter)
 
185
        req = webob.Request.blank('/v1.0/fake')
 
186
        req.headers['X-Auth-Token'] = token
 
187
        req.headers['X-Auth-Project-Id'] = 'user2_project'
 
188
        result = req.get_response(fakes.wsgi_app())
 
189
        self.assertEqual(result.status, '401 Unauthorized')
 
190
 
 
191
    def test_not_existing_project(self):
 
192
        f = fakes.FakeAuthManager()
 
193
        user1 = nova.auth.manager.User('id1', 'user1', 'user1_key', None, None)
 
194
        f.add_user(user1)
 
195
        f.create_project('user1_project', user1)
 
196
 
 
197
        req = webob.Request.blank('/v1.0/', {'HTTP_HOST': 'foo'})
 
198
        req.headers['X-Auth-User'] = 'user1'
 
199
        req.headers['X-Auth-Key'] = 'user1_key'
 
200
        result = req.get_response(fakes.wsgi_app())
 
201
        self.assertEqual(result.status, '204 No Content')
 
202
 
 
203
        token = result.headers['X-Auth-Token']
 
204
        self.stubs.Set(nova.api.openstack, 'APIRouterV10', fakes.FakeRouter)
 
205
        req = webob.Request.blank('/v1.0/fake')
 
206
        req.headers['X-Auth-Token'] = token
 
207
        req.headers['X-Auth-Project-Id'] = 'unknown_project'
 
208
        result = req.get_response(fakes.wsgi_app())
 
209
        self.assertEqual(result.status, '401 Unauthorized')
 
210
 
146
211
 
147
212
class TestFunctional(test.TestCase):
148
213
    def test_token_expiry(self):