Example #1
0
 def test_load_builtin_no_pass_through(self):
   self.test_policies['thread'] = sandbox.ModuleOverridePolicy(
       None, [], {}, default_pass_through=False)
   thread = self.hook.load_module('thread')
   self.assertTrue(isinstance(thread, types.ModuleType))
   self.assertItemsEqual(
       ['__doc__', '__name__', '__package__', '__loader__'], dir(thread))
   self.assertEqual(self.hook, thread.__loader__)
Example #2
0
 def test_load_builtin_pass_through(self):
   symbols = dir(__import__('thread'))
   del sys.modules['thread']
   self.test_policies['thread'] = sandbox.ModuleOverridePolicy(
       None, [], {}, default_pass_through=True)
   thread = self.hook.load_module('thread')
   self.assertTrue(isinstance(thread, types.ModuleType))
   self.assertTrue(isinstance(thread.__doc__, str))
   self.assertItemsEqual(symbols + ['__loader__'], dir(thread))
   self.assertEqual(self.hook, thread.__loader__)
    def test_load_with_path_hook_cant_find(self):
        class DummyPathHook(object):
            def __init__(self, path):
                if path != 'dummy/path':
                    raise ImportError

            def find_module(self, unused_fullname):
                return None

            def load_module(self, fullname):
                raise ImportError

        self.test_policies['distutils.util'] = sandbox.ModuleOverridePolicy(
            None, [], {}, default_pass_through=True)
        sys.path_hooks = [DummyPathHook]
        util = self.hook.load_module('distutils.util')
        self.assertEqual('distutils.util', util.__name__)
Example #4
0
 def test_load_without_path_hook_not_found(self):
   self.test_policies['urllib'] = sandbox.ModuleOverridePolicy(
       None, [], {}, default_pass_through=True)
   self.assertRaises(ImportError, self.hook.load_module, 'fake_module')
Example #5
0
 def test_load_without_path_hook(self):
   self.test_policies['urllib'] = sandbox.ModuleOverridePolicy(
       None, [], {}, default_pass_through=True)
   urllib = self.hook.load_module('urllib')
   self.assertIn('urlopen', urllib.__dict__)
   self.assertEqual('urllib', urllib.__name__)