summaryrefslogtreecommitdiff
path: root/tests/integration/s3/test_https_cert_validation.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/integration/s3/test_https_cert_validation.py')
-rw-r--r--tests/integration/s3/test_https_cert_validation.py40
1 files changed, 23 insertions, 17 deletions
diff --git a/tests/integration/s3/test_https_cert_validation.py b/tests/integration/s3/test_https_cert_validation.py
index d55303c1..2931eeab 100644
--- a/tests/integration/s3/test_https_cert_validation.py
+++ b/tests/integration/s3/test_https_cert_validation.py
@@ -38,10 +38,12 @@ Note that this test assumes two external dependencies are available:
import os
import ssl
import unittest
+import mock
from nose.plugins.attrib import attr
import boto
+from boto.pyami.config import Config
from boto import exception, https_connection
from boto.gs.connection import GSConnection
from boto.s3.connection import S3Connection
@@ -66,26 +68,30 @@ INVALID_HOSTNAME_HOST = os.environ.get('INVALID_HOSTNAME_HOST', 'www')
@attr('notdefault', 'ssl')
class CertValidationTest(unittest.TestCase):
def setUp(self):
- # Clear config
- for section in boto.config.sections():
- boto.config.remove_section(section)
+ self.config = Config()
# Enable https_validate_certificates.
- boto.config.add_section('Boto')
- boto.config.setbool('Boto', 'https_validate_certificates', True)
+ self.config.add_section('Boto')
+ self.config.setbool('Boto', 'https_validate_certificates', True)
# Set up bogus credentials so that the auth module is willing to go
# ahead and make a request; the request should fail with a service-level
# error if it does get to the service (S3 or GS).
- boto.config.add_section('Credentials')
- boto.config.set('Credentials', 'gs_access_key_id', 'xyz')
- boto.config.set('Credentials', 'gs_secret_access_key', 'xyz')
- boto.config.set('Credentials', 'aws_access_key_id', 'xyz')
- boto.config.set('Credentials', 'aws_secret_access_key', 'xyz')
+ self.config.add_section('Credentials')
+ self.config.set('Credentials', 'gs_access_key_id', 'xyz')
+ self.config.set('Credentials', 'gs_secret_access_key', 'xyz')
+ self.config.set('Credentials', 'aws_access_key_id', 'xyz')
+ self.config.set('Credentials', 'aws_secret_access_key', 'xyz')
+
+ self._config_patch = mock.patch('boto.config', self.config)
+ self._config_patch.start()
+
+ def tearDown(self):
+ self._config_patch.stop()
def enableProxy(self):
- boto.config.set('Boto', 'proxy', PROXY_HOST)
- boto.config.set('Boto', 'proxy_port', PROXY_PORT)
+ self.config.set('Boto', 'proxy', PROXY_HOST)
+ self.config.set('Boto', 'proxy_port', PROXY_PORT)
def assertConnectionThrows(self, connection_class, error):
conn = connection_class('fake_id', 'fake_secret')
@@ -107,7 +113,7 @@ class CertValidationTest(unittest.TestCase):
self.do_test_valid_cert()
def do_test_invalid_signature(self):
- boto.config.set('Boto', 'ca_certificates_file', DEFAULT_CA_CERTS_FILE)
+ self.config.set('Boto', 'ca_certificates_file', DEFAULT_CA_CERTS_FILE)
self.assertConnectionThrows(S3Connection, ssl.SSLError)
self.assertConnectionThrows(GSConnection, ssl.SSLError)
@@ -119,14 +125,14 @@ class CertValidationTest(unittest.TestCase):
self.do_test_invalid_signature()
def do_test_invalid_host(self):
- boto.config.set('Credentials', 'gs_host', INVALID_HOSTNAME_HOST)
- boto.config.set('Credentials', 's3_host', INVALID_HOSTNAME_HOST)
+ self.config.set('Credentials', 'gs_host', INVALID_HOSTNAME_HOST)
+ self.config.set('Credentials', 's3_host', INVALID_HOSTNAME_HOST)
self.assertConnectionThrows(S3Connection, ssl.SSLError)
self.assertConnectionThrows(GSConnection, ssl.SSLError)
def do_test_invalid_host(self):
- boto.config.set('Credentials', 'gs_host', INVALID_HOSTNAME_HOST)
- boto.config.set('Credentials', 's3_host', INVALID_HOSTNAME_HOST)
+ self.config.set('Credentials', 'gs_host', INVALID_HOSTNAME_HOST)
+ self.config.set('Credentials', 's3_host', INVALID_HOSTNAME_HOST)
self.assertConnectionThrows(
S3Connection, https_connection.InvalidCertificateException)
self.assertConnectionThrows(