def test_should_render_execution_chain(self, mock_deserialize, mock_exists): mock_exists.return_value = True execution1 = Execution( 'command', ['-arg1', '-arg2'], 'stdin', expected=True) execution2 = Execution( 'command', ['-arg1', '-arg3'], 'stdin', expected=True) execution3 = Execution( 'command', ['-arg2', '-arg4'], 'stdin', expected=True) execution4 = Execution( 'command', ['-arg3', '-arg4'], 'stdin', expected=True) mock_deserialize.return_value = [ execution1, execution2, execution3, execution4] verifier = VerifierLoader('/hello/world') verify = verifier.__enter__() execution_chain_stream = StringIO() verify.render_execution_chain(execution_chain_stream) self.assertEquals(execution_chain_stream.getvalue(), ''' Execution chain 1 | command -arg1 -arg2 2 | command -arg1 -arg3 3 | command -arg2 -arg4 4 | command -arg3 -arg4 ''') execution_chain_stream.close()
def test_should_return_empty_verifier_when_filtering_by_argument_not_matching_execution(self, mock_deserialize, mock_exists): mock_exists.return_value = True execution1 = Execution( 'command', ['-arg1', '-arg2'], 'stdin', expected=True) mock_deserialize.return_value = [execution1] verifier = VerifierLoader('/hello/world') verify = verifier.__enter__() with verify.filter_by_argument('foobar') as verify_foobar: self.assertEqual([], verify_foobar.executions) verify_foobar.finished()