class TestVirtstrapRunner(object): def setup(self): self.runner = VirtstrapRunner() def teardown(self): self.runner = None @fudge.test def test_runner_lists_commands(self): fake_registry = fudge.Fake() (fake_registry.expects('list_commands') .returns(['command1', 'command2'])) self.runner.set_registry(fake_registry) commands = self.runner.list_commands() assert commands == ['command1', 'command2'] @fudge.test def test_runner_run_command(self): """Test that the runner passes the correct data to the registry""" args = ('test', 'options') fake_registry = fudge.Fake() fake_registry.expects('run').with_args(*args) self.runner.set_registry(fake_registry) self.runner.run_command(*args) @fudge.patch('sys.stderr') def test_run_no_args(self, fake_stderr): """Run the main command line utility with no args""" fake_stderr.is_a_stub() # just want to silence stderr try: return_code = self.runner.main() except SystemExit, e: system_exit = True assert e.code == 2 assert system_exit == True, "Runner didn't issue a system exit"
class TestVirtstrapRunner(object): def setup(self): self.runner = VirtstrapRunner() def teardown(self): self.runner = None @fudge.patch('sys.stderr') def test_run_no_args(self, fake_sys_stderr): """Run the main command line utility with no args""" fake_sys_stderr.is_a_stub() # just want to silence stderr try: return_code = self.runner.main() except SystemExit, e: system_exit = True assert e.code == 2 assert system_exit == True, "Runner didn't issue a system exit"