def test_import_any_attr(self): math = import_module('math') # valid module and attr actual = import_any_attr(['os', 'math'], 'pi') self.assertEqual(actual, math.pi) # invalid modules self.assertRaises(ImportError, import_any_attr, ['invalid_one', 'invalid_two'], 'pi') self.assertIsNone(import_any_attr(['invalid_one', 'invalid_two'], 'pi', raise_error=False)) # invalid attr self.assertRaises(AttributeError, import_any_attr, ['os', 'math'], 'goats') self.assertIsNone(import_any_attr(['os', 'math'], 'goats', raise_error=False))
def test_import_any_attr(self): math = import_module('math') # valid module and attr actual = import_any_attr(['os', 'math'], 'pi') self.assertEqual(actual, math.pi) # invalid modules self.assertRaises(ImportError, import_any_attr, ['invalid_one', 'invalid_two'], 'pi') self.assertIsNone( import_any_attr(['invalid_one', 'invalid_two'], 'pi', raise_error=False)) # invalid attr self.assertRaises(AttributeError, import_any_attr, ['os', 'math'], 'goats') self.assertIsNone( import_any_attr(['os', 'math'], 'goats', raise_error=False))
# -*- coding: utf-8 -*- from baph.auth.models import orm, User from baph.piston.models import Consumer from baph.test.oauth import OAuthTestCase from baph.utils.importing import import_any_attr from django.conf import settings from oauth2 import Consumer as OAConsumer, Request, SignatureMethod_HMAC_SHA1 parse_qsl = import_any_attr(['urlparse', 'cgi'], 'parse_qsl') BAPH_PISTON_OAUTH_STORE = 'baph.piston.oauth.store.sqlalchemy.ModelStore' CALLBACK_URL = 'http://example.com/cb' class OAuthTest(OAuthTestCase): '''Tests a basic OAuth-based API.''' urls = 'project.api.urls' signature_method = SignatureMethod_HMAC_SHA1() @classmethod def setUpClass(cls): super(OAuthTest, cls).setUpClass() cls.two_legged_api_path = '/two/' cls.two_legged_api_url = cls.get_url(cls.two_legged_api_path) cls.three_legged_api_path = '/three/' cls.three_legged_api_url = cls.get_url(cls.three_legged_api_path) def setUp(self): self.session = orm.sessionmaker()
# -*- coding: utf-8 -*- from baph.utils.importing import import_any_attr, import_attr from django.conf import settings from django.core import mail from django.core.mail.backends import locmem from django.core.urlresolvers import clear_url_caches RequestFactory = \ import_any_attr(['django.test.client', 'baph.test.requestfactory'], 'RequestFactory') template_rendered = import_attr(['django.test.signals'], 'template_rendered') DjangoTestCase = import_attr(['django.test.testcases'], 'TestCase') from django.utils.translation import deactivate from jinja2 import Template from .client import Client # Requires unittest2 or unittest in Python >= 2.7. from django.utils.importlib import import_module import sys if sys.version_info < (2, 7): module = 'unittest2' else: module = 'unittest' mod = import_module(module) TestCase = mod.TestCase __all__ = ['BaseTestCase', 'Client', 'TestCase'] def instrumented_test_render(self, *args, **kwargs): template_rendered.send(sender=self,