def test_get_evidence(self): expected_evidence = StepResultEvidence(name='evidence1', value='value1', description='description1') step_result = StepResult('step1', 'sub1', 'implementer1') step_result.add_evidence('evidence1', 'value1', 'description1') self.assertEqual(step_result.get_evidence('evidence1'), expected_evidence)
def test_evidence_dicts_with_evidence(self): step_result = StepResult( step_name='foo', sub_step_name= 'tests.helpers.sample_step_implementers.FooStepImplementer', sub_step_implementer_name= 'tests.helpers.sample_step_implementers.FooStepImplementer') step_result.add_evidence(name='evi-str', value='hello') step_result.add_evidence(name='evi-bool-t', value=True) step_result.add_evidence(name='evi-bool-f', value=False) step_result.add_evidence(name='evi-desc', value='world', description='test evidence') expected_step_result_evidence_dicts = [{ 'description': '', 'name': 'evi-str', 'value': 'hello' }, { 'description': '', 'name': 'evi-bool-t', 'value': True }, { 'description': '', 'name': 'evi-bool-f', 'value': False }, { 'description': 'test evidence', 'name': 'evi-desc', 'value': 'world' }] self.assertEqual(expected_step_result_evidence_dicts, step_result.evidence_dicts)
def test_get_evidence_property(self): step_result = StepResult('step1', 'sub1', 'implementer1') step_result.add_evidence('evidence1', 'value1', 'description1') step_result.add_evidence('evidence2', 'value2') expected_evidence = { 'evidence1': StepResultEvidence(name='evidence1', value='value1', description='description1'), 'evidence2': StepResultEvidence(name='evidence2', value='value2') } self.assertEqual(step_result.evidence, expected_evidence)
def test_add_duplicate_evidence(self): expected_evidence = { 'evidence1': StepResultEvidence(name='evidence1', value='value1', description='description1'), 'evidence2': StepResultEvidence(name='evidence2', value='lastonewins') } step_result = StepResult('step1', 'sub1', 'implementer1') step_result.add_evidence('evidence1', 'value1', 'description1') step_result.add_evidence('evidence2', 'here') step_result.add_evidence('evidence2', 'andhere') step_result.add_evidence('evidence2', 'lastonewins') self.assertEqual(step_result.evidence, expected_evidence)
def test___repr__(self): step_result = StepResult( step_name='foo', sub_step_name= 'tests.helpers.sample_step_implementers.FooStepImplementer', sub_step_implementer_name= 'tests.helpers.sample_step_implementers.FooStepImplementer', environment='blarg') step_result.add_artifact(name='art-str', value='hello') step_result.add_artifact(name='art-bool-t', value=True) step_result.add_artifact(name='art-bool-f', value=False) step_result.add_artifact(name='art-desc', value='world', description='test artifact') step_result.add_evidence(name='evi-str', value='hello') step_result.add_evidence(name='evi-bool-t', value=True) step_result.add_evidence(name='evi-bool-f', value=False) step_result.add_evidence(name='evi-desc', value='world', description='test evidence') expected = "StepResult(step_name=foo,sub_step_name=tests.helpers." \ "sample_step_implementers.FooStepImplementer,sub_step_implementer_name=" \ "tests.helpers.sample_step_implementers.FooStepImplementer,environment=" \ "blarg,success=True,message=,artifacts=[{'name': 'art-str', 'value': 'hello', "\ "'description': ''}, {'name': 'art-bool-t', 'value': True, 'description': ''}, "\ "{'name': 'art-bool-f', 'value': False, 'description': ''}, "\ "{'name': 'art-desc', 'value': 'world', 'description': 'test artifact'}]"\ "evidence=[{'name': 'evi-str', 'value': 'hello', 'description': ''}, "\ "{'name': 'evi-bool-t', 'value': True, 'description': ''}, "\ "{'name': 'evi-bool-f', 'value': False, 'description': ''}, "\ "{'name': 'evi-desc', 'value': 'world', 'description': 'test evidence'}])" print(str(repr(step_result))) self.assertEqual(expected, repr(step_result))
def test___str__(self): step_result = StepResult( step_name='foo', sub_step_name= 'tests.helpers.sample_step_implementers.FooStepImplementer', sub_step_implementer_name= 'tests.helpers.sample_step_implementers.FooStepImplementer', environment='blarg') step_result.add_artifact(name='art-str', value='hello') step_result.add_artifact(name='art-bool-t', value=True) step_result.add_artifact(name='art-bool-f', value=False) step_result.add_artifact(name='art-desc', value='world', description='test artifact') step_result.add_evidence(name='evi-str', value='hello') step_result.add_evidence(name='evi-bool-t', value=True) step_result.add_evidence(name='evi-bool-f', value=False) step_result.add_evidence(name='evi-desc', value='world', description='test evidence') expected = "{'step-name': 'foo', 'sub-step-name': "\ "'tests.helpers.sample_step_implementers.FooStepImplementer', "\ "'sub-step-implementer-name': 'tests.helpers.sample_step_implementers.FooStepImplementer', "\ "'environment': 'blarg', 'success': True, 'message': '', "\ "'artifacts': [{'name': 'art-str', 'value': 'hello', 'description': ''}, "\ "{'name': 'art-bool-t', 'value': True, 'description': ''}, "\ "{'name': 'art-bool-f', 'value': False, 'description': ''}, "\ "{'name': 'art-desc', 'value': 'world', 'description': 'test artifact'}], "\ "'evidence': [{'name': 'evi-str', 'value': 'hello', 'description': ''}, "\ "{'name': 'evi-bool-t', 'value': True, 'description': ''}, "\ "{'name': 'evi-bool-f', 'value': False, 'description': ''}, "\ "{'name': 'evi-desc', 'value': 'world', 'description': 'test evidence'}]}" self.assertEqual(expected, str(step_result))
def test_add_evidence(self): step_result = StepResult('step1', 'sub1', 'implementer1') step_result.add_evidence('evidence1', 'value1', 'description1') step_result.add_evidence('evidence2', 'value2', 'description2') step_result.add_evidence('evidence3', 'value3') self.assertEqual( step_result.get_evidence('evidence1'), StepResultEvidence(name='evidence1', value='value1', description='description1')) self.assertEqual( step_result.get_evidence('evidence2'), StepResultEvidence(name='evidence2', value='value2', description='description2')) self.assertEqual(step_result.get_evidence('evidence3'), StepResultEvidence(name='evidence3', value='value3'))
def test_add_evidence_missing_value(self): step_result = StepResult('step1', 'sub1', 'implementer1') with self.assertRaisesRegex(StepRunnerException, r"Value is required to add evidence"): step_result.add_evidence('name1', '', 'description1')
def test_get_step_result_dict_with_env(self): step_result = StepResult( step_name='foo', sub_step_name= 'tests.helpers.sample_step_implementers.FooStepImplementer', sub_step_implementer_name= 'tests.helpers.sample_step_implementers.FooStepImplementer', environment='blarg') step_result.add_artifact(name='art-str', value='hello') step_result.add_artifact(name='art-bool-t', value=True) step_result.add_artifact(name='art-bool-f', value=False) step_result.add_artifact(name='art-desc', value='world', description='test artifact') step_result.add_evidence(name='evi-str', value='hello') step_result.add_evidence(name='evi-bool-t', value=True) step_result.add_evidence(name='evi-bool-f', value=False) step_result.add_evidence(name='evi-desc', value='world', description='test evidence') expected = { 'blarg': { 'foo': { 'tests.helpers.sample_step_implementers.FooStepImplementer': { 'artifacts': [{ 'description': '', 'name': 'art-str', 'value': 'hello' }, { 'description': '', 'name': 'art-bool-t', 'value': True }, { 'description': '', 'name': 'art-bool-f', 'value': False }, { 'description': 'test artifact', 'name': 'art-desc', 'value': 'world' }], 'evidence': [{ 'description': '', 'name': 'evi-str', 'value': 'hello' }, { 'description': '', 'name': 'evi-bool-t', 'value': True }, { 'description': '', 'name': 'evi-bool-f', 'value': False }, { 'description': 'test evidence', 'name': 'evi-desc', 'value': 'world' }], 'message': '', 'sub-step-implementer-name': 'tests.helpers.sample_step_implementers.FooStepImplementer', 'success': True } } } } self.assertEqual(expected, step_result.get_step_result_dict())
def test_get_evidence_value(self): step_result_expected = 'value1' step_result = StepResult('step1', 'sub1', 'implementer1') step_result.add_evidence('evidence1', 'value1', 'description1') self.assertEqual(step_result.get_evidence_value('evidence1'), step_result_expected)