Esempio n. 1
0
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)
Esempio n. 2
0
 def setUp(self):
     super(TestCLI, self).setUp()
     self.cli = CLI()
     self.env = MockEnvironment()