def test_deploy_all(self): def validate_update(req): self.assert_('node2' in req.get_full_url()) self.assertEquals(req.get_method(), 'POST') return 200, {'id': 'node2', 'status': 'ACTIVE'} responses = iter([ lambda req: (200, [ { 'id': 'node1', 'status': 'ACTIVE' }, { 'id': 'node2', 'status': 'PENDING' }, ]), validate_update, ]) def mock_open(req): response = responses.next() code, info = response(req) body = StringIO(dumps(info)) return urllib2.addinfourl(body, {}, req.get_full_url(), code) with patch(console, 'urlopen', mock_open): parser = SubCommandParser([console.NodeConsole()]) parser.run("node deploy --all".split())
def main(argv=sys.argv[1:]): logger.configure(log_to_console=True, level=logger.DEBUG, lunr_log_level=logger.DEBUG, capture_stdio=False) # Create the top-level parser parser = SubCommandParser([ TypeConsole(), NodeConsole(), AccountConsole(), VolumeConsole(), BackupConsole(), ExportConsole(), ToolConsole(), ], desc=__doc__.strip()) # execute the command requested try: return parser.run(argv) except HTTPClientError, e: print str(e) return 1
def main(argv=sys.argv[1:]): logger.configure(log_to_console=True, level=logger.DEBUG, lunr_log_level=logger.DEBUG, capture_stdio=False) # Create the top-level parser parser = SubCommandParser([VolumeConsole(), ExportConsole(), BackupConsole(), ToolsConsole()], desc=__doc__.strip()) # execute the command requested try: return parser.run(argv) except StorageError, e: if parser.command.verbose: raise return '%s: %s' % (e.__class__.__name__, e)
def main(argv=sys.argv[1:]): logger.configure(log_to_console=True, level=logger.DEBUG, lunr_log_level=logger.DEBUG, capture_stdio=False) # Create the top-level parser parser = SubCommandParser( [VolumeConsole(), ExportConsole(), BackupConsole(), ToolsConsole()], desc=__doc__.strip()) # execute the command requested try: return parser.run(argv) except StorageError, e: if parser.command.verbose: raise return '%s: %s' % (e.__class__.__name__, e)
class TestSubCommands(TestCase): def setUp(self): self.parser = SubCommandParser([Api()]) def test_opt_decorator(self): result = self.parser.run("api create derrick".split()) self.assertEquals(result, ('derrick', None)) result = self.parser.run("api create derrick " "--last-name wippler".split()) self.assertEquals(result, ('derrick', 'wippler')) def test_extra_arguments(self): result = self.parser.run("api arguments derrick --extra1 extra1" " --extra2 extra2".split()) self.assertEquals(result, ('derrick', 'extra1', 'extra2')) def test_underscore_command(self): result = self.parser.run("api underscore-command".split()) self.assertEquals(result, None) result = self.parser.run("api underscore-command --under-score " "lovesCamelCaseInstead".split()) self.assertEquals(result, 'lovesCamelCaseInstead') def test_noargs(self): result = self.parser.run('api list'.split()) self.assertEquals(result, "listing")
def test_deploy_all(self): def validate_update(req): self.assert_('node2' in req.get_full_url()) self.assertEquals(req.get_method(), 'POST') return 200, {'id': 'node2', 'status': 'ACTIVE'} responses = iter([ lambda req: (200, [ {'id': 'node1', 'status': 'ACTIVE'}, {'id': 'node2', 'status': 'PENDING'}, ]), validate_update, ]) def mock_open(req): response = responses.next() code, info = response(req) body = StringIO(dumps(info)) return urllib2.addinfourl(body, {}, req.get_full_url(), code) with patch(console, 'urlopen', mock_open): parser = SubCommandParser([console.NodeConsole()]) parser.run("node deploy --all".split())
def setUp(self): self.parser = SubCommandParser([Api()])