コード例 #1
0
ファイル: test_jobqueue.py プロジェクト: IBM/ignition
 def test_configure_service_fails_when_already_registered(self):
     configuration = self.__bootstrap_config()
     configuration.property_groups.get_property_group(BootProperties).job_queue.service_enabled = True
     self.mock_service_register.get_service_offering_capability.return_value = MagicMock()
     with self.assertRaises(ValueError) as context:
         JobQueueConfigurator().configure(configuration, self.mock_service_register)
     self.assertEqual(str(context.exception), 'An existing service has been registered to serve the Job Queue capability but bootstrap.job_queue.service_enabled has not been disabled')
コード例 #2
0
ファイル: test_jobqueue.py プロジェクト: IBM/ignition
 def test_configure_creates_job_queue_topic_with_special_chars_removed(self, mock_topic_creator_init):
     configuration = self.__bootstrap_config()
     configuration.app_name = 'Testing Spaces And Special !"£$%^&*()+={}[]:;@~#<>?,./¬  Chars'
     configuration.property_groups.get_property_group(BootProperties).job_queue.service_enabled = True
     self.mock_service_register.get_service_offering_capability.return_value = None
     JobQueueConfigurator().configure(configuration, self.mock_service_register)
     self.assertEqual(configuration.property_groups.get_property_group(MessagingProperties).topics.job_queue.name, 'Testing_Spaces_And_Special_Chars_job_queue')
コード例 #3
0
ファイル: test_jobqueue.py プロジェクト: IBM/ignition
 def test_configure_fails_when_messaging_connection_address_not_set(self):
     configuration = self.__bootstrap_config()
     configuration.property_groups.get_property_group(BootProperties).job_queue.service_enabled = True
     configuration.property_groups.get_property_group(MessagingProperties).connection_address = None
     self.mock_service_register.get_service_offering_capability.return_value = None
     with self.assertRaises(ValueError) as context:
         JobQueueConfigurator().configure(configuration, self.mock_service_register)
     self.assertEqual(str(context.exception), 'messaging.connection_address must be set when bootstrap.job_queue.service_enabled is True')
コード例 #4
0
ファイル: test_jobqueue.py プロジェクト: IBM/ignition
 def test_configure(self, mock_topic_creator_init):
     configuration = self.__bootstrap_config()
     configuration.property_groups.get_property_group(BootProperties).job_queue.service_enabled = True
     self.mock_service_register.get_service_offering_capability.return_value = None
     JobQueueConfigurator().configure(configuration, self.mock_service_register)
     registered_service = self.assert_single_service_registered()
     self.assert_service_registration_equal(registered_service, ServiceRegistration(
         MessagingJobQueueService, job_queue_config=JobQueueProperties, postal_service=PostalCapability, inbox_service=InboxCapability, topics_config=TopicsProperties, messaging_config=MessagingProperties))
コード例 #5
0
ファイル: test_jobqueue.py プロジェクト: IBM/ignition
 def test_configure_creates_job_queue_topic_if_needed(self, mock_topic_creator_init):
     configuration = self.__bootstrap_config()
     configuration.property_groups.get_property_group(BootProperties).job_queue.service_enabled = True
     configuration.property_groups.get_property_group(MessagingProperties).topics.job_queue.auto_create = True
     self.mock_service_register.get_service_offering_capability.return_value = None
     JobQueueConfigurator().configure(configuration, self.mock_service_register)
     mock_topic_creator_init.assert_called_once()
     messaging_properties = MessagingProperties()
     messaging_properties.connection_address = 'testaddr'
     mock_topic_creator_init.return_value.create_topic_if_needed.assert_called_once_with(messaging_properties, configuration.property_groups.get_property_group(MessagingProperties).topics.job_queue)
コード例 #6
0
ファイル: test_jobqueue.py プロジェクト: IBM/ignition
 def test_configure_creates_job_queue_topic_name_when_not_set(self, mock_topic_creator_init):
     configuration = self.__bootstrap_config()
     configuration.property_groups.get_property_group(BootProperties).job_queue.service_enabled = True
     self.mock_service_register.get_service_offering_capability.return_value = None
     JobQueueConfigurator().configure(configuration, self.mock_service_register)
     self.assertEqual(configuration.property_groups.get_property_group(MessagingProperties).topics.job_queue.name, 'TestJobQueueConfigurator_job_queue')
コード例 #7
0
ファイル: test_jobqueue.py プロジェクト: IBM/ignition
 def test_configure_nothing_when_disabled(self):
     configuration = self.__bootstrap_config()
     configuration.property_groups.get_property_group(BootProperties).job_queue.service_enabled = False
     JobQueueConfigurator().configure(configuration, self.mock_service_register)
     self.mock_service_register.add_service.assert_not_called()
コード例 #8
0
ファイル: api.py プロジェクト: IBM/ignition
from ignition.boot.configurators.resourcedriverapi import ResourceDriverApiConfigurator, ResourceDriverServicesConfigurator
from ignition.boot.configurators.messaging import MessagingConfigurator
from ignition.boot.configurators.jobqueue import JobQueueConfigurator
from ignition.boot.configurators.requestqueue import RequestQueueConfigurator
from ignition.boot.configurators.management import ManagmentServicesConfigurator, ManagementApiConfigurator
from ignition.boot.configurators.movedapis import MovedApisConfigurator
from ignition.boot.configurators.templating import TemplatingConfigurator
from ignition.boot.configurators.progress_events import ProgressEventLogConfigurator
from ignition.service.resourcedriver import ResourceDriverProperties, LifecycleRequestQueueProperties
from ignition.service.messaging import MessagingProperties, TopicCreator
from ignition.service.queue import JobQueueProperties
from ignition.service.management import ManagementProperties
from jsonschema import ValidationError

SERVICE_CONFIGURATORS = [RequestQueueConfigurator(TopicCreator()), ResourceDriverServicesConfigurator(), \
    MessagingConfigurator(), JobQueueConfigurator(), ManagmentServicesConfigurator(), TemplatingConfigurator(), \
    ProgressEventLogConfigurator()]
API_CONFIGURATORS = [
    ResourceDriverApiConfigurator(),
    ManagementApiConfigurator(),
    MovedApisConfigurator()
]
MANDATORY_PROPERTY_GROUPS = [ApplicationProperties, ApiProperties]
ADDITIONAL_PROPERTY_GROUPS = [
    BootProperties, ResourceDriverProperties, MessagingProperties,
    JobQueueProperties, ManagementProperties
]

logger = logging.getLogger(__name__)