Exemple #1
0
    def test_make_select_cls_update_2_choices(self, mock_pkg_api,
                                              mock_env_api):
        mock_pkg_api.app_by_fqn.return_value =\
            mock.Mock(fully_qualified_name='foo_class_fqn')
        mock_pkg_api.apps_that_inherit.return_value = []
        expected_choices = [
            ('', 'Foo'), ('foo_app_id', 'foo_app_name')
        ]

        foo_app = mock.MagicMock()
        foo_app.__getitem__.return_value = {'id': 'foo_app_id'}
        foo_app.configure_mock(name='foo_app_name')
        mock_env_api.service_list_by_fqns.return_value = [foo_app]

        dynamic_select_cls = fields.make_select_cls('foo_class_fqn')
        dynamic_select = dynamic_select_cls(empty_value_message='Foo')
        dynamic_select.update({}, self.request, environment_id='foo_env_id')

        self.assertEqual(expected_choices, dynamic_select.choices)
        self.assertEqual('foo_app_id', dynamic_select.initial)

        mock_pkg_api.app_by_fqn.assert_called_once_with(
            self.request, 'foo_class_fqn')
        mock_env_api.service_list_by_fqns.assert_called_once_with(
            self.request, 'foo_env_id', ['foo_class_fqn']
        )
Exemple #2
0
    def test_make_select_cls_update(self, mock_pkg_api, mock_env_api):
        mock_pkg_api.app_by_fqn.return_value =\
            mock.Mock(fully_qualified_name='foo_class_fqn')
        mock_pkg_api.apps_that_inherit.return_value = [
            mock.Mock(fully_qualified_name='foo_class_fqn'),
            mock.Mock(fully_qualified_name='bar_class_fqn')
        ]
        expected_choices = [('', 'Foo'), ('foo_app_id', 'foo_app_name'),
                            ('bar_app_id', 'bar_app_name')]

        foo_app = mock.MagicMock()
        foo_app.__getitem__.return_value = {'id': 'foo_app_id'}
        foo_app.configure_mock(name='foo_app_name')
        bar_app = mock.MagicMock()
        bar_app.__getitem__.return_value = {'id': 'bar_app_id'}
        bar_app.configure_mock(name='bar_app_name')
        mock_env_api.service_list_by_fqns.return_value = [foo_app, bar_app]

        dynamic_select_cls = fields.make_select_cls('foo_class_fqn')
        self.assertIsNotNone(dynamic_select_cls)
        self.assertEqual('DynamicSelect', dynamic_select_cls.__name__)

        dynamic_select = dynamic_select_cls(empty_value_message='Foo')
        dynamic_select.update({}, self.request, environment_id='foo_env_id')

        self.assertTrue(
            hasattr(dynamic_select.widget.add_item_link, '__call__'))
        self.assertEqual(expected_choices, dynamic_select.choices)
        self.assertIsNone(dynamic_select.initial)

        mock_pkg_api.app_by_fqn.assert_called_once_with(
            self.request, 'foo_class_fqn')
        mock_env_api.service_list_by_fqns.assert_called_once_with(
            self.request, 'foo_env_id', ['foo_class_fqn', 'bar_class_fqn'])
Exemple #3
0
    def test_update_clean(self, mock_pkg_api, mock_env_api):
        mock_pkg_api.app_by_fqn.return_value = None
        mock_pkg_api.apps_that_inherit.return_value = []
        mock_env_api.service_list_by_fqns.return_value = []

        dynamic_select_cls = fields.make_select_cls('foo_class_fqn')
        dynamic_select = dynamic_select_cls(empty_value_message='Foo')
        dynamic_select.form = mock.Mock()
        dynamic_select.required = False
        dynamic_select.choices = [('value', '')]

        self.assertEqual('value', dynamic_select.clean('value'))
Exemple #4
0
    def test_make_select_cls_update_no_matching_classes(self, mock_pkg_api,
                                                        mock_env_api):
        mock_pkg_api.app_by_fqn.return_value = None
        mock_pkg_api.apps_that_inherit.return_value = []
        mock_env_api.service_list_by_fqns.return_value = []
        expected_choices = [('', 'Foo')]

        dynamic_select_cls = fields.make_select_cls('foo_class_fqn')
        dynamic_select = dynamic_select_cls(empty_value_message='Foo')
        dynamic_select.update({}, self.request, environment_id='foo_env_id')

        self.assertEqual(expected_choices, dynamic_select.choices)
        self.assertIsNone(dynamic_select.initial)

        mock_pkg_api.app_by_fqn.assert_called_once_with(
            self.request, 'foo_class_fqn')
        mock_env_api.service_list_by_fqns.assert_called_once_with(
            self.request, 'foo_env_id', [])
Exemple #5
0
    def test_make_select_cls_update_make_link(self, mock_pkg_api, mock_env_api,
                                              mock_reverse):
        mock_pkg_api.app_by_fqn.return_value = None
        mock_pkg_api.apps_that_inherit.return_value = []
        mock_env_api.service_list_by_fqns.return_value = []
        mock_reverse.return_value = 'foo_url'

        dynamic_select_cls = fields.make_select_cls('foo_class_fqn')
        dynamic_select = dynamic_select_cls(empty_value_message='Foo')
        dynamic_select.update({}, self.request, environment_id='foo_env_id')

        result = dynamic_select.widget.add_item_link()
        self.assertEqual('', result)

        mock_pkg = mock.Mock(fully_qualified_name='foo_class_fqn')
        mock_pkg.configure_mock(name='foo_class_name')
        mock_pkg_api.app_by_fqn.return_value = mock_pkg
        dynamic_select.update({}, self.request, environment_id='foo_env_id')

        result = dynamic_select.widget.add_item_link()
        expected = '[["foo_class_name", "foo_url"]]'
        self.assertEqual(expected, result)
 def __missing__(self, key):
     return fields.make_select_cls(key)