class TestApplicationLauncherImportingLibrary(unittest.TestCase): def setUp(self): class _FakeNamespace: _testlibs = {} NAMESPACES.current = _FakeNamespace() self.rmi_launcher = ApplicationLauncher(application) self.builtin_library = _FakeBuiltInLibrary() self.rmi_launcher.builtin = self.builtin_library self.rmi_launcher._run_remote_import = self._fake_remote_import self.rmi_launcher._prepare_for_reimport_if_necessary = lambda x,*args: None self.library = None def test_imports(self): self.rmi_launcher.import_remote_library('SomeLibrary', 'WITH NAME', 'someLib') assert_equals('SomeLibrary', self.library_name) assert_equals('ApplicationLauncher.RemoteLibrary', self.builtin_library.library) expected_args = ('rmi://someservice', 'WITH NAME', 'someLib') assert_equals(expected_args, self.builtin_library.arguments) def test_adds_name_when_with_name_is_not_used(self): self.rmi_launcher.import_remote_library('SomeLibrary') assert_equals('SomeLibrary', self.library_name) assert_equals('ApplicationLauncher.RemoteLibrary', self.builtin_library.library) expected_args = ('rmi://someservice', 'WITH NAME', 'SomeLibrary') assert_equals(expected_args, self.builtin_library.arguments) def test_parses_timestring(self): rmi_launcher = ApplicationLauncher(application, '1 second') assert_equals(1, rmi_launcher.timeout) def _fake_remote_import(self, library_name): self.library_name = library_name return 'rmi://someservice'