Ejemplo n.º 1
0
    def test_handle_spec_not_fetch(self, mock_image_resource_clazz,
                                   mock_framework_clazz,
                                   mock_builder_clazz, mock_pod_clazz):
        # Setup
        mock_event = create_autospec(EventBase)
        mock_framework = mock_framework_clazz.return_value
        mock_builder = mock_builder_clazz.return_value
        mock_pod = mock_pod_clazz.return_value
        mock_pod.is_ready.return_value = False

        mock_image_resource_obj =\
            self.create_image_resource_obj(mock_image_resource_clazz, False)
        images = {
            'mongodb-image': mock_image_resource_obj
        }

        spec = {str(uuid4()): str(uuid4())}
        mock_builder.build_spec.return_value = spec

        # Exercise
        observer = ConfigChangeObserver(
            mock_framework,
            images,
            mock_pod,
            mock_builder
        )
        observer.handle(mock_event)
        # Verify
        assert mock_framework.unit_status_set.call_count == 1
        assert isinstance(
            mock_framework.unit_status_set.call_args[0][0], BlockedStatus)
        assert mock_framework.pod_spec_set.call_count == 0
Ejemplo n.º 2
0
 def on_config_changed_delegator(self, event):
     logger.info('on_config_changed_delegator({})'.format(event))
     return ConfigChangeObserver(
         self._framework_wrapper,
         self._resources,
         self._pod,
         self._mongo_builder).handle(event)