class TestServiceCommand(unittest.TestCase): def setUp(self): self.name = 'foo' self.session = FakeSession() self.cmd = ServiceCommand(self.name, self.session) def test_can_access_subcommand_table(self): table = self.cmd.subcommand_table expected = [ xform_name(op, '-') for op in self.session.get_service_model(self.name).operation_names ] self.assertEqual(set(table), set(expected)) def test_can_access_arg_table(self): self.assertEqual(self.cmd.arg_table, {}) def test_name(self): self.assertEqual(self.cmd.name, self.name) self.cmd.name = 'bar' self.assertEqual(self.cmd.name, 'bar') def test_lineage(self): cmd = CLICommand() self.assertEqual(self.cmd.lineage, [self.cmd]) self.cmd.lineage = [cmd] self.assertEqual(self.cmd.lineage, [cmd]) def test_lineage_names(self): self.assertEqual(self.cmd.lineage_names, ['foo']) def test_pass_lineage_to_child(self): # In order to introspect the service command's subcommands # we introspect the subcommand via the help command since # a service command's command table is not public. help_command = self.cmd.create_help_command() child_cmd = help_command.command_table['list-objects'] self.assertEqual(child_cmd.lineage, [self.cmd, child_cmd]) self.assertEqual(child_cmd.lineage_names, ['foo', 'list-objects']) def test_help_event_class(self): # Ensures it sends the right event name to the help command help_command = self.cmd.create_help_command() self.assertEqual(help_command.event_class, 'foo') child_cmd = help_command.command_table['list-objects'] # Check the ``ServiceOperation`` class help command as well child_help_cmd = child_cmd.create_help_command() self.assertEqual(child_help_cmd.event_class, 'foo.list-objects')
class TestServiceCommand(unittest.TestCase): def setUp(self): self.name = 'foo' self.session = FakeSession() self.cmd = ServiceCommand(self.name, self.session) def test_name(self): self.assertEqual(self.cmd.name, self.name) self.cmd.name = 'bar' self.assertEqual(self.cmd.name, 'bar') def test_lineage(self): cmd = CLICommand() self.assertEqual(self.cmd.lineage, [self.cmd]) self.cmd.lineage = [cmd] self.assertEqual(self.cmd.lineage, [cmd]) def test_lineage_names(self): self.assertEqual(self.cmd.lineage_names, ['foo']) def test_pass_lineage_to_child(self): # In order to introspect the service command's subcommands # we introspect the subcommand via the help command since # a service command's command table is not public. help_command = self.cmd.create_help_command() child_cmd = help_command.command_table['list-objects'] self.assertEqual(child_cmd.lineage, [self.cmd, child_cmd]) self.assertEqual(child_cmd.lineage_names, ['foo', 'list-objects'])
class TestServiceCommand(unittest.TestCase): def setUp(self): self.name = 'foo' self.session = FakeSession() self.cmd = ServiceCommand(self.name, self.session) def test_name(self): self.assertEqual(self.cmd.name, self.name) self.cmd.name = 'bar' self.assertEqual(self.cmd.name, 'bar') def test_lineage(self): cmd = CLICommand() self.assertEqual(self.cmd.lineage, [self.cmd]) self.cmd.lineage = [cmd] self.assertEqual(self.cmd.lineage, [cmd]) def test_lineage_names(self): self.assertEqual(self.cmd.lineage_names, ['foo']) def test_pass_lineage_to_child(self): # In order to introspect the service command's subcommands # we introspect the subcommand via the help command since # a service command's command table is not public. help_command = self.cmd.create_help_command() child_cmd = help_command.command_table['list-objects'] self.assertEqual(child_cmd.lineage, [self.cmd, child_cmd]) self.assertEqual(child_cmd.lineage_names, ['foo', 'list-objects']) def test_help_event_class(self): # Ensures it sends the right event name to the help command help_command = self.cmd.create_help_command() self.assertEqual(help_command.event_class, 'foo') child_cmd = help_command.command_table['list-objects'] # Check the ``ServiceOperation`` class help command as well child_help_cmd = child_cmd.create_help_command() self.assertEqual(child_help_cmd.event_class, 'foo.list-objects')