Esempio n. 1
0
    def test_get_services_by_role(self):

        SEARCHED_ROLE = 'needle'

        service_no_roles = {'$name': 'service1'}

        service_searched_role1 = {
            '$name': 'service1',
            'roles': ['role1', SEARCHED_ROLE, 'role2', 'role3']
        }

        service_searched_role2 = {
            '$name': 'service2',
            'roles': ['role1', SEARCHED_ROLE, 'role2', 'role3']
        }

        doc = {
            'name': 'test',
            'services': {
                'service_no_roles': service_no_roles,
                'service_searched_role1': service_searched_role1,
                'service_searched_role2': service_searched_role2
            }
        }

        app = module.App(doc)

        self.assertEqual([service_searched_role1, service_searched_role2],
                         app.get_services_by_role(SEARCHED_ROLE))
Esempio n. 2
0
    def test_resolve_and_merge_references_with_commands(self):
        paths = ['path1', 'path2']

        cmd1 = {'key1': 'value1'}
        cmd2 = {'key2': 'value2'}
        doc = {'name': 'test', 'commands': {'cmd1': cmd1, 'cmd2': cmd2}}

        with mock.patch("riptide.config.document.app.load_subdocument",
                        side_effect=side_effect_for_load_subdocument()
                        ) as load_subdoc_mock:
            app = module.App(doc)
            app.resolve_and_merge_references(paths)

            self.assertIsInstance(app['commands']['cmd1'],
                                  YamlConfigDocumentStub)
            self.assertIsInstance(app['commands']['cmd2'],
                                  YamlConfigDocumentStub)
            self.assertEqual({
                '$name': 'cmd1',
                'key1': 'value1'
            }, app['commands']['cmd1'].doc)
            self.assertEqual({
                '$name': 'cmd2',
                'key2': 'value2'
            }, app['commands']['cmd2'].doc)

            load_subdoc_mock.assert_has_calls([
                call(cmd1, app, module.Command, paths),
                call(cmd2, app, module.Command, paths)
            ],
                                              any_order=True)
Esempio n. 3
0
    def test_resolve_and_merge_references_with_services_no_dict(self):

        paths = ['path1', 'path2']

        service1 = 'nodict'
        doc = {
            'name': 'test',
            'services': {
                'service1': service1,
            }
        }

        with mock.patch("riptide.config.document.app.load_subdocument",
                        side_effect=side_effect_for_load_subdocument()):
            app = module.App(doc)
            with self.assertRaises(ConfigcrunchError):
                app.resolve_and_merge_references(paths)
Esempio n. 4
0
 def test_resolve_and_merge_references_no_subdocs(self, super_mock):
     doc = {'name': 'test'}
     app = module.App(doc)
     app.resolve_and_merge_references(['./path1', './path2'])
     super_mock.assert_called_once_with(['./path1', './path2'])
Esempio n. 5
0
 def test_header(self):
     app = module.App({})
     self.assertEqual(module.HEADER, app.header())