Mercurial > hg > configuration
comparison tests/unit.py @ 89:0804a706d6bf
handle CLI errors with optparse
| author | Jeff Hammel <jhammel@mozilla.com> |
|---|---|
| date | Sat, 28 Apr 2012 15:29:57 -0700 |
| parents | 2a2e9aee5bc6 |
| children | c530f6265deb |
comparison
equal
deleted
inserted
replaced
| 88:36cf1d9bf40b | 89:0804a706d6bf |
|---|---|
| 76 def test_missing_values(self): | 76 def test_missing_values(self): |
| 77 """ensure that Configuration raises a missing value exception""" | 77 """ensure that Configuration raises a missing value exception""" |
| 78 | 78 |
| 79 example = ExampleConfiguration() | 79 example = ExampleConfiguration() |
| 80 | 80 |
| 81 exception = None | 81 # monkey-patch the error method from optparse.OptionParser |
| 82 try: | 82 error_msg = [] |
| 83 example.parse_args(args=[]) | 83 def error(msg): |
| 84 except Exception, exception: | 84 error_msg.append(msg) |
| 85 pass | 85 example.error = error |
| 86 self.assertTrue(isinstance(exception, configuration.MissingValueException)) | 86 |
| 87 # trigger it | |
| 88 example.parse_args(args=[]) | |
| 89 self.assertEqual(error_msg, ['Parameter browser_path is required but not present']) | |
| 87 | 90 |
| 88 def test_required(self): | 91 def test_required(self): |
| 89 """ensure you have to have required values""" | 92 """ensure you have to have required values""" |
| 90 | 93 |
| 91 example = ExampleConfiguration() | 94 example = ExampleConfiguration() |
