Beispiel #1
0
    def _test_deployment_inputs(self,
                                exception_type,
                                inputs,
                                expected_outputs=None):
        def raise_error(*args, **kwargs):
            raise exception_type('no inputs')

        blueprint = blueprints.Blueprint({
            'plan': {
                'inputs': {
                    'input1': {
                        'description': 'val1'
                    },
                    'input2': {
                        'description': 'val2'
                    }
                }
            }
        })

        self.client.blueprints.get = MagicMock(return_value=blueprint)
        self.client.deployments.create = raise_error

        inputs_line = ' '.join([
            '-i {0}={1}'.format(key, value)
            for key, value in inputs.iteritems()
        ])

        outcome = self.invoke(
            'cfy deployments create deployment -b a-blueprint-id {0}'.format(
                inputs_line),
            exception=exceptions.SuppressedCloudifyCliError,
            err_str_segment='no inputs')
        outcome = [o.strip() for o in outcome.logs.split('\n')]

        if not expected_outputs:
            expected_outputs = []

        for output in expected_outputs:
            found = False
            for outcome_line in outcome:
                if output in outcome_line:
                    found = True
                    break
            self.assertTrue(
                found, 'String '
                '{0}'
                ' not found in outcome {1}'.format(output, outcome))
Beispiel #2
0
    def _test_deployment_inputs(self, exception_type, error_msg):
        def raise_error(*args, **kwargs):
            raise exception_type('no inputs')

        blueprint = blueprints.Blueprint({
            'plan': {
                'inputs': {
                    'input1': {
                        'description': 'val1'
                    },
                    'input2': {
                        'description': 'val2'
                    }
                }
            }
        })

        self.client.blueprints.get = MagicMock(return_value=blueprint)
        self.client.deployments.create = raise_error

        outcome = self.invoke(
            'cfy deployments create deployment -b a-blueprint-id',
            err_str_segment='no inputs')
        outcome = [o.strip() for o in outcome.logs.split('\n')]

        expected_outputs = [
            'Deployment inputs:',
            'input1:',
            'description: val1',
            'input2:',
            'description: val2',
        ]

        for output in expected_outputs:
            self.assertIn(output, outcome)

        self.assertIn(error_msg, outcome)