def test_options_overridable(self): base = model.UI(options=[('partial', True), ('other', False)]) cmd = commands.Command(base) base.set_command(cmd) ui = decorator.UI(options={'partial': False}, decorated=base) internal_cmd = commands.Command(ui) ui.set_command(internal_cmd) self.assertEqual(False, ui.options.partial) self.assertEqual(False, ui.options.other)
def test_shows_errors_from_execute_returns_3(self): class FailCommand(commands.Command): def run(self): raise Exception("foo") ui = model.UI() cmd = FailCommand(ui) self.assertEqual(3, cmd.execute()) self.assertEqual(1, len(ui.outputs)) self.assertEqual('error', ui.outputs[0][0]) self.assertThat(ui.outputs[0][1], MatchesException(Exception('foo')))
def decorator_ui_factory(input_streams=None, options=(), args=()): base = model.UI(input_streams=input_streams, options=options, args=args) return decorator.UI(input_streams=input_streams, decorated=base)
def test_default_repository_factory(self): cmd = commands.Command(model.UI()) self.assertIsInstance(cmd.repository_factory, file.RepositoryFactory)
def test_execute_calls_set_command(self): ui = model.UI() cmd = InstrumentedCommand(ui) cmd.execute() self.assertEqual(cmd, ui.cmd)
def test_execute_calls_run(self): cmd = InstrumentedCommand(model.UI()) self.assertEqual(0, cmd.execute()) self.assertEqual(['execute', 'run'], cmd.calls)
def test_trivial(self): cmd = InstrumentedCommand(model.UI()) parser = commands.get_command_parser(cmd) self.assertThat(parser, IsInstance(optparse.OptionParser))