class MambaAdminViewTest(unittest.TestCase): def setUp(self): self.config = ViewOptions() def test_wrong_number_of_args(self): self.assertRaises( usage.UsageError, self.config.parseOptions, ['0', '1', '2'] ) def test_name_camelize(self): self.config.parseOptions(['test_view', 'test']) self.assertEqual(self.config['name'], 'TestView') def test_filename_lowerize_and_normalize(self): self.config.parseOptions(['Tes/t_view$', 'test']) self.assertEqual(self.config['filename'], 'test_view') self.assertEqual(self.config['name'], 'TestView') 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_model', 'test']) 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_model', 'test']) self.assertEqual( self.config['email'], '{}@localhost'.format(getpass.getuser()) ) def test_default_synopsis_is_none(self): self.config.parseOptions(['test_model', 'test']) self.assertEqual(self.config['description'], None)
def setUp(self): self.config = ViewOptions()