def setUp(self): self.config = ControllerOptions()
class MambaAdminControllerTest(unittest.TestCase): def setUp(self): self.config = ControllerOptions() def test_wrong_number_of_args(self): self.assertRaises( usage.UsageError, self.config.parseOptions, ['test', 'wrong'] ) def test_name_camelize(self): self.config.parseOptions(['test_controller']) self.assertEqual(self.config['name'], 'TestController') def test_filename_lowerize_and_normalize(self): self.config.parseOptions(['Tes/t_controller$']) self.assertEqual(self.config['filename'], 'test_controller') self.assertEqual(self.config['name'], 'TestController') def test_email_validation(self): def fake_exit(value): pass exit = sys.exit sys.exit = fake_exit stdout = sys.stdout capture = StringIO() sys.stdout = capture self.config.parseOptions(['--email', 'no@valid', 'test_controller']) self.assertEqual( capture.getvalue(), 'error: the given email address no@valid is not a valid RFC2822 ' 'email address, check http://www.rfc-editor.org/rfc/rfc2822.txt ' 'for very extended details\n' ) sys.stdout = stdout sys.exit = exit def test_default_email(self): self.config.parseOptions(['test_controller']) self.assertEqual( self.config['email'], '{}@localhost'.format(getpass.getuser()) ) def test_default_plaform_is_linux(self): self.config.parseOptions(['test_controller']) self.assertEqual(self.config['platforms'], 'Linux') def test_default_route_is_empty(self): self.config.parseOptions(['test_controller']) self.assertEqual(self.config['route'], '') def test_default_synopsis_is_none(self): self.config.parseOptions(['test_controller']) self.assertEqual(self.config['description'], None)