def test_import_detection(self): import sys import keystone.http engine = RenderEngine(MockApp()) viewcode_str = dedent(""" import sys """) viewcode, viewglobals = engine.compile(viewcode_str, 'filename') self.assertTrue('sys' in viewglobals, 'view globals did not contain imported modules') self.assertTrue(viewglobals['sys'] is sys, 'view globals got a different version of sys') viewcode_str = dedent(""" from sys import version_info """) viewcode, viewglobals = engine.compile(viewcode_str, 'filename') self.assertTrue('version_info' in viewglobals, 'view globals did not contain from foo imported modules') self.assertTrue(viewglobals['version_info'] is sys.version_info, 'view globals got a different version of version_info') viewcode_str = dedent(""" from sys import version_info as vi """) viewcode, viewglobals = engine.compile(viewcode_str, 'filename') self.assertTrue('vi' in viewglobals, 'view globals did not contain from foo import as\'d modules') self.assertTrue(viewglobals['vi'] is sys.version_info, 'view globals got a different version of vi') viewcode_str = dedent(""" from keystone.http import * """) viewcode, viewglobals = engine.compile(viewcode_str, 'filename') for name in keystone.http.__all__: self.assertTrue(name in viewglobals, 'view globals did not contain from foo import * (%s)')
def test_basic(self): viewcode_str = dedent(""" x = 1 y = 2 """) engine = RenderEngine(MockApp()) viewcode, viewglobals = engine.compile(viewcode_str, 'filename') self.assertTrue('__builtins__' in viewglobals, 'view globals did not contain builtins') self.assertTrue(iscode(viewcode), 'viewcode was not a code object')