示例#1
0
    def test_pact_urls_or_broker_required(self):
        self.mock_Popen.return_value.returncode = 2
        wrapper = VerifyWrapper()

        with self.assertRaises(PactException) as context:
            wrapper.call_verify(provider='provider', provider_base_url='http://localhost')

        self.assertTrue('Pact urls or Pact broker required' in context.exception.message)
 def test_broker_without_authentication_can_be_used(self):
     self.mock_Popen.return_value.returncode = 0
     wrapper = VerifyWrapper()
     wrapper.call_verify(provider='provider',
                         provider_base_url='http://localhost',
                         broker_url='http://broker.example.com')
     self.assertProcess(*[
         '--provider-base-url=http://localhost',
         '--provider=provider',
         '--pact-broker-base-url=http://broker.example.com',
     ])
示例#3
0
    def test_all_url_options(self, mock_isfile):
        self.mock_Popen.return_value.returncode = 0
        wrapper = VerifyWrapper()

        result, output = wrapper.call_verify('./pacts/consumer-provider5.json',
                                             './pacts/consumer-provider3.json',
                                             provider_base_url='http://localhost',
                                             provider_states_setup_url='http://localhost/provider-states/set',
                                             provider='provider',
                                             publish_verification_results=True,
                                             provider_app_version='1.2.3',
                                             custom_provider_headers=['Authorization: Basic cGFj', 'CustomHeader: somevalue'],
                                             log_dir='tmp/logs/pact.test.log',
                                             log_level='INFO',
                                             timeout=60,
                                             verbose=True)

        self.assertEqual(result, 0)
        self.mock_Popen.return_value.wait.assert_called_once_with()
        self.assertEqual(self.mock_Popen.call_count, 1)
        self.assertProcess(
            './pacts/consumer-provider5.json',
            './pacts/consumer-provider3.json',
            '--custom-provider-header=Authorization: Basic cGFj',
            '--custom-provider-header=CustomHeader: somevalue',
            '--provider-base-url=http://localhost',
            '--provider-states-setup-url=http://localhost/provider-states/set',
            '--provider=provider',
            '--publish-verification-results',
            '--provider-app-version', '1.2.3',
            '--log-dir=tmp/logs/pact.test.log',
            '--log-level=INFO',
            '--verbose')
示例#4
0
    def test_sanitize_called(self, mock_rerun_cmd, mock_expand_dirs, mock_sanitize_logs, mock_path_exists):
        self.mock_Popen.return_value.returncode = 0
        wrapper = VerifyWrapper()

        result, output = wrapper.call_verify('path/to/pact1',
                                             'path/to/pact2',
                                             provider_base_url='http://localhost',
                                             provider='provider')

        mock_sanitize_logs.assert_called_with(self.mock_Popen.return_value, False)
示例#5
0
    def test_pact_urls_provided(self):
        self.mock_Popen.return_value.returncode = 0
        wrapper = VerifyWrapper()

        result, output = wrapper.call_verify('./pacts/consumer-provider.json',
                                             './pacts/consumer-provider2.json',
                                             provider='test_provider',
                                             provider_base_url='http://localhost')

        self.assertProcess(*self.default_call)
        self.assertEqual(result, 0)
示例#6
0
    def test_publishing_with_version(self, mock_sanitize_logs, mock_path_exists):
        self.mock_Popen.return_value.returncode = 0
        wrapper = VerifyWrapper()

        result, output = wrapper.call_verify('./pacts/consumer-provider.json',
                                             './pacts/consumer-provider2.json',
                                             provider='test_provider',
                                             provider_base_url='http://localhost',
                                             provider_app_version='1.2.3'
                                             )
        self.default_call.extend(['--provider-app-version', '1.2.3', '--publish-verification-results'])

        self.assertProcess(*self.default_call)
        self.assertEqual(result, 0)
示例#7
0
    def test_uses_broker_if_no_pacts_and_provider_required(self):
        self.mock_Popen.return_value.returncode = 0
        wrapper = VerifyWrapper()

        result, output = wrapper.call_verify(provider='test_provider',
                                             provider_base_url='http://localhost',
                                             broker_username='******',
                                             broker_password='******',
                                             broker_url='http://broker',
                                             consumer_tags=['prod', 'dev'],
                                             provider_tags=['dev', 'qa'])

        self.assertProcess(*self.broker_call)
        self.assertEqual(result, 0)