Esempio n. 1
0
    def test_create_failure(self, mock_conn_params):

        _ctx = self._prepare_ctx()

        vars = {"var1": "a"}
        tables = {"tab1": "b"}
        properties = {"prop1": "c"}
        ref_host = "local1"

        expected_error =\
            'Failed creating service \'{0}\' for template \'{1}\''\
            .format(_ctx._properties.get('service_name'),
                    _ctx._properties.get('template_name'))

        with patch("iworkflow_sdk.iworkflow.IWorkflowService.create_service",
                   MagicMock(side_effect=Exception)) as create_method:
            from iworkflow_plugin import service
            # then
            with self.assertRaisesRegexp(NonRecoverableError, expected_error):
                # when
                service.create_service(vars=vars,
                                       tables=tables,
                                       properties=properties,
                                       reference_hostname=ref_host,
                                       retry_interval=10,
                                       ctx=_ctx)
                self.assertTrue(create_method.called)
        self.assertTrue(mock_conn_params.called)
Esempio n. 2
0
    def test_create_no_params(self, mock_conn_params):
        _ctx = MockCloudifyContext(node_id="test_id",
                                   node_name="test_name",
                                   deployment_id="test_name",
                                   properties={})

        _ctx._node.type = 'cloudify.iworkflow.Service'
        current_ctx.set(_ctx)

        vars = {"var1": "a"}
        tables = {"tab1": "b"}
        properties = {"prop1": "c"}
        ref_host = "local1"

        expected_error = 'Creation failed: ' \
                         'Tenant, service, template must be set.'

        with self.assertRaisesRegexp(NonRecoverableError, expected_error):
            from iworkflow_plugin import service
            # when
            service.create_service(vars=vars,
                                   tables=tables,
                                   properties=properties,
                                   reference_hostname=ref_host,
                                   retry_interval=10,
                                   ctx=_ctx)
        self.assertTrue(mock_conn_params.called)
Esempio n. 3
0
    def test_poll_retry_no_create(self, mock_conn_params):
        # given
        _ctx = self._prepare_ctx(1)

        vars = {"var1": "a"}
        tables = {"tab1": "b"}
        properties = {"prop1": "c"}
        ref_host = "local1"

        with patch("iworkflow_sdk.iworkflow.IWorkflowService.create_service",
                   MagicMock(return_value=None)) as create_method:
            with patch(
                    "iworkflow_sdk.iworkflow.IWorkflowService.poll_service",
                    MagicMock(
                        side_effect=exceptions.IWorkflowNotFoundException)) \
                    as poll_method:
                with patch("cloudify.ctx.operation.retry",
                           MagicMock(return_value=None)) as retry_method:
                    # when
                    from iworkflow_plugin import service
                    service.create_service(vars=vars,
                                           tables=tables,
                                           properties=properties,
                                           reference_hostname=ref_host,
                                           retry_interval=10,
                                           ctx=_ctx)
                    # then
                    self.assertFalse(create_method.called)
                    self.assertTrue(poll_method.called)
                    self.assertTrue(retry_method.called)
        self.assertTrue(mock_conn_params.called)
Esempio n. 4
0
    def test_create_success(self, mock_conn_params):
        _ctx = self._prepare_ctx()

        vars = {"var1": "a"}
        tables = {"tab1": "b"}
        properties = {"prop1": "c"}
        ref_host = "local1"

        with patch("iworkflow_sdk.iworkflow.IWorkflowService.create_service",
                   MagicMock(return_value=None)) as create_method:
            with patch("iworkflow_sdk.iworkflow.IWorkflowService.poll_service",
                       MagicMock(return_value=None)) as poll_method:
                from iworkflow_plugin import service
                service.create_service(vars=vars,
                                       tables=tables,
                                       properties=properties,
                                       reference_hostname=ref_host,
                                       retry_interval=10,
                                       ctx=_ctx)

                self.assertTrue(create_method.called)
                self.assertTrue(poll_method.called)
        self.assertTrue(mock_conn_params.called)