|
| 1 | +from collections import OrderedDict |
| 2 | + |
1 | 3 | from unittest import TestCase |
2 | 4 | import unittest |
3 | 5 | from mock import patch |
@@ -42,6 +44,35 @@ def test_verifier_with_provider_and_files(self, mock_path_exists, mock_wrapper): |
42 | 44 | enable_pending=False, |
43 | 45 | include_wip_pacts_since=None) |
44 | 46 |
|
| 47 | + @patch("pact.verify_wrapper.VerifyWrapper.call_verify") |
| 48 | + @patch('pact.verifier.path_exists', return_value=True) |
| 49 | + def test_verifier_with_provider_and_files_passes_consumer_selctors(self, mock_path_exists, mock_wrapper): |
| 50 | + mock_wrapper.return_value = (True, 'some logs') |
| 51 | + |
| 52 | + output, _ = self.verifier.verify_pacts( |
| 53 | + 'path/to/pact1', |
| 54 | + 'path/to/pact2', |
| 55 | + headers=['header1', 'header2'], |
| 56 | + consumer_version_selectors=[ |
| 57 | + # Using OrderedDict for the sake of testing |
| 58 | + OrderedDict([("tag", "main"), ("latest", True)]), |
| 59 | + OrderedDict([("tag", "test"), ("latest", False)]), |
| 60 | + ] |
| 61 | + ) |
| 62 | + |
| 63 | + assertVerifyCalled(mock_wrapper, |
| 64 | + 'path/to/pact1', |
| 65 | + 'path/to/pact2', |
| 66 | + provider='test_provider', |
| 67 | + custom_provider_headers=['header1', 'header2'], |
| 68 | + provider_base_url='http://localhost:8888', |
| 69 | + log_level='INFO', |
| 70 | + verbose=False, |
| 71 | + enable_pending=False, |
| 72 | + include_wip_pacts_since=None, |
| 73 | + consumer_selectors=['{"tag": "main", "latest": true}', |
| 74 | + '{"tag": "test", "latest": false}']) |
| 75 | + |
45 | 76 | def test_validate_on_publish_results(self): |
46 | 77 | self.assertRaises(Exception, self.verifier.verify_pacts, 'path/to/pact1', publish=True) |
47 | 78 |
|
@@ -140,6 +171,35 @@ def test_verifier_with_broker(self, mock_wrapper): |
140 | 171 | enable_pending=False, |
141 | 172 | include_wip_pacts_since=None) |
142 | 173 |
|
| 174 | + @patch("pact.verify_wrapper.VerifyWrapper.call_verify") |
| 175 | + def test_verifier_with_broker_passes_consumer_selctors(self, mock_wrapper): |
| 176 | + |
| 177 | + mock_wrapper.return_value = (True, 'some value') |
| 178 | + |
| 179 | + output, _ = self.verifier.verify_with_broker( |
| 180 | + consumer_version_selectors=[ |
| 181 | + # Using OrderedDict for the sake of testing |
| 182 | + OrderedDict([("tag", "main"), ("latest", True)]), |
| 183 | + OrderedDict([("tag", "test"), ("latest", False)]), |
| 184 | + ], |
| 185 | + **self.default_opts |
| 186 | + ) |
| 187 | + |
| 188 | + self.assertTrue(output) |
| 189 | + assertVerifyCalled(mock_wrapper, |
| 190 | + provider='test_provider', |
| 191 | + provider_base_url='http://localhost:8888', |
| 192 | + broker_password=self.broker_password, |
| 193 | + broker_username=self.broker_username, |
| 194 | + broker_token='token', |
| 195 | + broker_url=self.broker_url, |
| 196 | + log_level='INFO', |
| 197 | + verbose=False, |
| 198 | + enable_pending=False, |
| 199 | + include_wip_pacts_since=None, |
| 200 | + consumer_selectors=['{"tag": "main", "latest": true}', |
| 201 | + '{"tag": "test", "latest": false}']) |
| 202 | + |
143 | 203 | @patch("pact.verify_wrapper.VerifyWrapper.call_verify") |
144 | 204 | @patch('pact.verifier.path_exists', return_value=True) |
145 | 205 | def test_publish_on_success(self, mock_path_exists, mock_wrapper): |
|
0 commit comments