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))
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)