def setUp(self):
     self.service_cmd_name = "myservice"
     self.event_type_name = "myevent"
     self.all_cmds = {"hello": "world", "hi": "you"}
     self.events_lib_mock = Mock()
     self.events_lib_mock.event_mapping = self.all_cmds
     self.s = ServiceCommand(self.events_lib_mock)
class TestServiceCommand(TestCase):
    def setUp(self):
        self.service_cmd_name = "myservice"
        self.event_type_name = "myevent"
        self.all_cmds = {"hello": "world", "hi": "you"}
        self.events_lib_mock = Mock()
        self.events_lib_mock.event_mapping = self.all_cmds
        self.s = ServiceCommand(self.events_lib_mock)

    def test_init_has_correct_all_cmds(self):
        self.assertEqual(self.s.all_cmds, self.all_cmds)

    def test_init_events_lib_is_not_valid(self):
        with self.assertRaises(ValueError):
            ServiceCommand(events_lib=None)

    def test_init_events_lib_is_valid(self):
        s = ServiceCommand(self.events_lib_mock)
        self.assertEqual(s.events_lib, self.events_lib_mock)

    def test_get_command_returns_none_when_not_in_all_cmds(self):
        cmd_name = "howdy"
        e = self.s.get_command(None, cmd_name)
        self.assertIsNone(e)

    def test_list_commands_must_return_commands_name(self):
        expected = self.s.list_commands(ctx=None)
        self.assertEqual(expected, ["hello", "hi"])

    def test_get_command_return_value(self):
        command_name = "hello"
        output = self.s.get_command(None, command_name)
        self.assertEqual(output.top_level_cmd_name, "hello")
        self.assertEqual(output.events_lib, self.events_lib_mock)
        self.assertEqual(output.subcmd_definition, "world")
 def setUp(self):
     self.service_cmd_name = "myservice"
     self.event_type_name = "myevent"
     self.all_cmds = {"hello": "world", "hi": "you"}
     self.events_lib_mock = Mock()
     self.events_lib_mock.event_mapping = self.all_cmds
     self.s = ServiceCommand(self.events_lib_mock)
class TestServiceCommand(TestCase):

    def setUp(self):
        self.service_cmd_name = "myservice"
        self.event_type_name = "myevent"
        self.all_cmds = {"hello": "world", "hi": "you"}
        self.events_lib_mock = Mock()
        self.events_lib_mock.event_mapping = self.all_cmds
        self.s = ServiceCommand(self.events_lib_mock)

    def test_init_has_correct_all_cmds(self):
        self.assertEqual(self.s.all_cmds, self.all_cmds)

    def test_init_events_lib_is_not_valid(self):
        with self.assertRaises(ValueError):
            ServiceCommand(events_lib=None)

    def test_init_events_lib_is_valid(self):
        s = ServiceCommand(self.events_lib_mock)
        self.assertEqual(s.events_lib, self.events_lib_mock)

    def test_get_command_returns_none_when_not_in_all_cmds(self):
        cmd_name = "howdy"
        e = self.s.get_command(None, cmd_name)
        self.assertIsNone(e)

    def test_list_commands_must_return_commands_name(self):
        expected = self.s.list_commands(ctx=None)
        self.assertEqual(expected, ['hello', 'hi'])

    def test_get_command_return_value(self):
        command_name = "hello"
        output = self.s.get_command(None, command_name)
        self.assertEqual(output.top_level_cmd_name, "hello")
        self.assertEqual(output.events_lib, self.events_lib_mock)
        self.assertEqual(output.subcmd_definition, "world")
 def test_init_events_lib_is_valid(self):
     s = ServiceCommand(self.events_lib_mock)
     self.assertEqual(s.events_lib, self.events_lib_mock)
 def test_init_events_lib_is_not_valid(self):
     with self.assertRaises(ValueError):
         ServiceCommand(events_lib=None)