class TestCLI(FocusTestCase): def setUp(self): super(TestCLI, self).setUp() self.cli = CLI() self.env = MockEnvironment() def tearDown(self): self.env = None self.cli = None super(TestCLI, self).tearDown() def testNoArguments__execute(self): """ CLI.execute: prints help banner if no arguments passed. """ with self.assertRaises(HelpBanner): self.cli.execute(self.env) def testHelpArgument__execute(self): """ CLI.execute: prints help banner if 'help' argument passed. """ with self.assertRaises(HelpBanner): self.env.args = ('help', ) self.cli.execute(self.env) def testVersionArgument__execute(self): """ CLI.execute: prints version string if 'version' argument passed. """ self.env.args = ('version', ) self.cli.execute(self.env) self.assertEqual(str(self.env.io.test__write_data), 'focus version {0}\n'.format(__version__)) def testNoColorArgument__execute(self): """ CLI.execute: disables colored output if '--no-color' argument passed. """ self.assertTrue(self.env.io.colored) with self.assertRaises(HelpBanner): self.env.args = ('--no-color', 'help') self.cli.execute(self.env) self.assertFalse(self.env.io.colored) def testCommandNoMatchPlugins__execute(self): """ CLI.execute: command doesn't match command plugins, raises help banner. """ with self.assertRaises(HelpBanner): self.env.args = ('no-exist', ) self.cli.execute(self.env)
def setUp(self): super(TestCLI, self).setUp() self.cli = CLI() self.env = MockEnvironment()