~ubuntu-branches/ubuntu/wily/keystone/wily

« back to all changes in this revision

Viewing changes to keystone/tests/test_injection.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2013-10-02 11:46:14 UTC
  • mfrom: (1.1.37)
  • Revision ID: package-import@ubuntu.com-20131002114614-pw4xkjdvowr9u34w
Tags: 1:2013.2~rc1-0ubuntu1
* New upstream version.
* debian/control:
  - Add versioned dependencies to python-pbr, python-dogpile.cache,
    python-oslo.config, python-webob, python-pam, python-sqlalchemy,
    python-testtools, and python-requests.
  - Added python-greenlet, python-requests, python-netifaces,
    and python-setuptools as a build dependency.
  - Dropped python-swift, python-unittest, python-d2to1,
    as a build dependency.
  - Bumped versioned depends for python-keystoneclient.
* debian/patches/disable-oauth2.patch: Refreshed

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
# vim: tabstop=4 shiftwidth=4 softtabstop=4
2
2
 
3
 
# Copyright 2012 OpenStack LLC
 
3
# Copyright 2012 OpenStack Foundation
4
4
#
5
5
# Licensed under the Apache License, Version 2.0 (the "License"); you may
6
6
# not use this file except in compliance with the License. You may obtain
211
211
        dependency.reset()
212
212
 
213
213
        self.assertFalse(dependency.REGISTRY)
 
214
 
 
215
    def test_optional_dependency_not_provided(self):
 
216
        requirement_name = uuid.uuid4().hex
 
217
 
 
218
        @dependency.optional(requirement_name)
 
219
        class C1(object):
 
220
            pass
 
221
 
 
222
        c1_inst = C1()
 
223
 
 
224
        dependency.resolve_future_dependencies()
 
225
 
 
226
        self.assertIsNone(getattr(c1_inst, requirement_name))
 
227
 
 
228
    def test_optional_dependency_provided(self):
 
229
        requirement_name = uuid.uuid4().hex
 
230
 
 
231
        @dependency.optional(requirement_name)
 
232
        class C1(object):
 
233
            pass
 
234
 
 
235
        @dependency.provider(requirement_name)
 
236
        class P1(object):
 
237
            pass
 
238
 
 
239
        c1_inst = C1()
 
240
        p1_inst = P1()
 
241
 
 
242
        dependency.resolve_future_dependencies()
 
243
 
 
244
        self.assertIs(getattr(c1_inst, requirement_name), p1_inst)
 
245
 
 
246
    def test_optional_and_required(self):
 
247
        p1_name = uuid.uuid4().hex
 
248
        p2_name = uuid.uuid4().hex
 
249
        optional_name = uuid.uuid4().hex
 
250
 
 
251
        @dependency.provider(p1_name)
 
252
        @dependency.requires(p2_name)
 
253
        @dependency.optional(optional_name)
 
254
        class P1(object):
 
255
            pass
 
256
 
 
257
        @dependency.provider(p2_name)
 
258
        @dependency.requires(p1_name)
 
259
        class P2(object):
 
260
            pass
 
261
 
 
262
        p1 = P1()
 
263
        p2 = P2()
 
264
 
 
265
        dependency.resolve_future_dependencies()
 
266
 
 
267
        self.assertIs(getattr(p1, p2_name), p2)
 
268
        self.assertIs(getattr(p2, p1_name), p1)
 
269
        self.assertIsNone(getattr(p1, optional_name))