Exemple #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__)
Exemple #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__)
Exemple #3
0
    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__)
Exemple #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')
Exemple #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__)