def test_single_ordered_importer(self): import module_a # noqa: F401 import package_a buffer = BytesIO() with PackageExporter(buffer) as pe: pe.save_module(package_a.__name__) buffer.seek(0) importer = PackageImporter(buffer) # Construct an importer-only environment. ordered_importer = OrderedImporter(importer) # The module returned by this environment should be the same one that's # in the importer. self.assertIs( ordered_importer.import_module("package_a"), importer.import_module("package_a"), ) # It should not be the one available in the outer Python environment. self.assertIsNot(ordered_importer.import_module("package_a"), package_a) # We didn't package this module, so it should not be available. with self.assertRaises(ModuleNotFoundError): ordered_importer.import_module("module_a")
def test_ordered_importer_basic(self): import package_a buffer = BytesIO() with PackageExporter(buffer, verbose=False) as pe: pe.save_module(package_a.__name__) buffer.seek(0) importer = PackageImporter(buffer) ordered_importer_sys_first = OrderedImporter(sys_importer, importer) self.assertIs(ordered_importer_sys_first.import_module('package_a'), package_a) ordered_importer_package_first = OrderedImporter(importer, sys_importer) self.assertIs(ordered_importer_package_first.import_module('package_a'), importer.import_module('package_a'))