'Ensure the view uses three specific POST keys to detect a request initiated by Cybersource.'

@ddt.data('decision', 'reason_code', 'signed_field_names', None)
def test_is_cybersource(self, post_key):

    self._login()
    post_data = {'decision': 'REJECT', 'reason_code': '200', 'signed_field_names': 'dummy'}
    if (post_key is not None):
        del post_data[post_key]
        expected_pattern = '<title>(\\s+)Receipt'
    else:
        expected_pattern = '<title>(\\s+)Payment    Failed'
    response = self.post_to_receipt_page(post_data)
    self.assertRegexpMatches(response.content, expected_pattern)
