Unpin python-mock
Update all deprecated calls to nonexistent functions Update some incorrect unit tests for fastly services Change-Id: Ida6398944dfddc07812f74c98abf2218449d7bcc
This commit is contained in:
parent
84b5128ffb
commit
32ef7e2d9e
|
@ -89,7 +89,7 @@ class ServicesController(base.ServicesController):
|
|||
job = board.post(job_name,
|
||||
book=job_logbook,
|
||||
details=job_details)
|
||||
LOG.info("%s posted" % (job))
|
||||
LOG.info("{0} posted".format(job))
|
||||
|
||||
def run_task_worker(self, name):
|
||||
"""Run a task flow worker (conductor).
|
||||
|
|
|
@ -102,7 +102,7 @@ class ServiceController(base.ServiceBase):
|
|||
request_condition=request_condition.name
|
||||
)
|
||||
|
||||
# Fastly cachine rule implementation
|
||||
# Fastly caching rule implementation
|
||||
for caching_rule in service_obj.caching:
|
||||
if caching_rule.name.lower() == 'default':
|
||||
self.client.update_settings(service.id,
|
||||
|
|
|
@ -887,7 +887,10 @@ class TestFlowRuns(base.TestCase):
|
|||
# Keep create credentials for now
|
||||
@mock.patch('pyrax.cloud_dns')
|
||||
@mock.patch('pyrax.set_credentials')
|
||||
def test_create_ssl_certificate_normal(self, mock_creds, mock_dns_client):
|
||||
@mock.patch('cassandra.cluster.Cluster')
|
||||
def test_create_ssl_certificate_normal(
|
||||
self, mock_cluster, mock_creds, mock_dns_client):
|
||||
|
||||
providers = ['cdn_provider']
|
||||
cert_obj_json = ssl_certificate.SSLCertificate('cdn',
|
||||
'mytestsite.com',
|
||||
|
@ -915,7 +918,10 @@ class TestFlowRuns(base.TestCase):
|
|||
|
||||
@mock.patch('pyrax.cloud_dns')
|
||||
@mock.patch('pyrax.set_credentials')
|
||||
def test_recreate_ssl_certificate(self, mock_creds, mock_dns_client):
|
||||
@mock.patch('cassandra.cluster.Cluster')
|
||||
def test_recreate_ssl_certificate(
|
||||
self, mock_cluster, mock_creds, mock_dns_client):
|
||||
|
||||
providers = ['cdn_provider']
|
||||
cert_obj_json = ssl_certificate.SSLCertificate('cdn',
|
||||
'mytestsite.com',
|
||||
|
@ -945,7 +951,9 @@ class TestFlowRuns(base.TestCase):
|
|||
# Keep create credentials for now
|
||||
@mock.patch('pyrax.cloud_dns')
|
||||
@mock.patch('pyrax.set_credentials')
|
||||
def test_delete_ssl_certificate_normal(self, mock_creds, mock_dns_client):
|
||||
@mock.patch('cassandra.cluster.Cluster')
|
||||
def test_delete_ssl_certificate_normal(
|
||||
self, mock_cluster, mock_creds, mock_dns_client):
|
||||
|
||||
kwargs = {
|
||||
'cert_type': "san",
|
||||
|
|
|
@ -39,17 +39,27 @@ class TestServiceController(base.TestCase):
|
|||
self.distributed_task_driver.job_board = mock.Mock()
|
||||
self.distributed_task_driver.job_board.return_value = (
|
||||
self.mock_persistence_n_board.copy())
|
||||
self.distributed_task_driver.job_board.return_value.__enter__ = (
|
||||
mock.Mock()
|
||||
)
|
||||
self.distributed_task_driver.job_board.return_value.__exit__ = (
|
||||
mock.Mock()
|
||||
)
|
||||
|
||||
def test_persistence(self):
|
||||
self.assertTrue(self.distributed_task_driver.persistence is not None)
|
||||
|
||||
def test_submit_task(self):
|
||||
flow_factory = mock.Mock()
|
||||
flow_factory = mock.MagicMock
|
||||
self.distributed_task_driver.services_controller.submit_task(
|
||||
flow_factory,
|
||||
**{})
|
||||
self.mock_persistence_n_board.get_connection.assert_called()
|
||||
self.mock_persistence_n_board.post.assert_called()
|
||||
|
||||
# save the job logbook
|
||||
self.mock_persistence_n_board.__enter__().\
|
||||
get_connection().save_logbook.assert_called()
|
||||
# post job to board
|
||||
self.mock_persistence_n_board.copy().__enter__().post.assert_called()
|
||||
|
||||
def test_run_task_worker(self):
|
||||
self.distributed_task_driver.services_controller.run_task_worker(
|
||||
|
|
|
@ -36,8 +36,14 @@ class TestServices(base.TestCase):
|
|||
@mock.patch('fastly.FastlyVersion')
|
||||
@mock.patch('poppy.provider.fastly.services.ServiceController.client')
|
||||
@mock.patch('poppy.provider.fastly.driver.CDNProvider')
|
||||
def setUp(self, mock_connection, mock_service, mock_version,
|
||||
mock_controllerclient, mock_driver):
|
||||
def setUp(
|
||||
self,
|
||||
mock_driver,
|
||||
mock_controllerclient,
|
||||
mock_version,
|
||||
mock_service,
|
||||
mock_connection
|
||||
):
|
||||
super(TestServices, self).setUp()
|
||||
self.driver = mock_driver()
|
||||
self.driver.provider_name = 'Fastly'
|
||||
|
@ -56,6 +62,7 @@ class TestServices(base.TestCase):
|
|||
self.version = self.mock_version(
|
||||
self.controller.client,
|
||||
self.mock_create_version_resp)
|
||||
self.version.number = self.mock_create_version_resp.get('number')
|
||||
self.controller.client.create_service.return_value = (
|
||||
self.service_instance)
|
||||
self.controller.client.create_version.return_value = self.version
|
||||
|
@ -197,8 +204,9 @@ class TestServices(base.TestCase):
|
|||
self.assertEqual(False,
|
||||
controller.client.create_response_object.called)
|
||||
|
||||
controller.client.create_backend.assert_has_any_call(
|
||||
self.service_instance.id, 1,
|
||||
controller.client.create_backend.assert_any_call(
|
||||
self.service_instance.id,
|
||||
self.version.number,
|
||||
service_obj.origins[0].origin.replace(":", "-"),
|
||||
service_obj.origins[0].origin,
|
||||
service_obj.origins[0].ssl,
|
||||
|
@ -247,26 +255,36 @@ class TestServices(base.TestCase):
|
|||
controller.client.check_domains.assert_called_once_with(
|
||||
self.service_instance.id, self.version.number)
|
||||
|
||||
referrer_resctriction_list = [rule.http_host
|
||||
for restriction in
|
||||
service_obj.restrictions
|
||||
for rule in restriction.rules]
|
||||
referrer_restriction_list = [rule.referrer
|
||||
for restriction in
|
||||
service_obj.restrictions
|
||||
for rule in restriction.rules
|
||||
if hasattr(rule, 'referrer')]
|
||||
|
||||
# referrer assert
|
||||
host_pattern_stament = ' || '.join(['request.http.referer'
|
||||
' !~ %s' % host for host in
|
||||
referrer_resctriction_list])
|
||||
host_pattern_statement = ' || '.join(['req.http.referer'
|
||||
' !~ "%s"' % host for host in
|
||||
referrer_restriction_list
|
||||
if host is not None])
|
||||
condition_stmt = ('req.http.referer && (%s)'
|
||||
% host_pattern_stament)
|
||||
% host_pattern_statement)
|
||||
|
||||
controller.client.create_condition.assert_has_any_call(
|
||||
self.service_instance.id, 1,
|
||||
controller.client.create_condition.assert_any_call(
|
||||
self.service_instance.id,
|
||||
self.version.number,
|
||||
'Referrer Restriction Matching Rules',
|
||||
fastly.FastlyConditionType.REQUEST,
|
||||
condition_stmt,
|
||||
priority=10)
|
||||
|
||||
controller.client.create_response_object.assert_has_any_call()
|
||||
controller.client.create_response_object.assert_any_call(
|
||||
self.service_instance.id,
|
||||
self.version.number,
|
||||
'Referrer Restriction response rule(s)',
|
||||
content='Referring from a non-permitted domain',
|
||||
status='403',
|
||||
request_condition=controller.client.create_condition().name
|
||||
)
|
||||
|
||||
# cache rule asset
|
||||
# create condition first
|
||||
|
@ -278,10 +296,20 @@ class TestServices(base.TestCase):
|
|||
{'general.default_ttl': caching_rule.ttl}
|
||||
)
|
||||
else:
|
||||
controller.client.create_cache_settings.assert_has_any_call()
|
||||
|
||||
controller.client.create_backend.assert_has_any_call(
|
||||
self.service_instance.id, 1,
|
||||
controller.client.create_cache_settings.assert_any_call(
|
||||
self.service_instance.id,
|
||||
self.version.number,
|
||||
caching_rule.name,
|
||||
None,
|
||||
cache_condition=controller.client.create_condition().name,
|
||||
stale_ttl=0,
|
||||
ttl=caching_rule.ttl
|
||||
)
|
||||
|
||||
controller.client.create_backend.assert_any_call(
|
||||
self.service_instance.id,
|
||||
self.version.number,
|
||||
service_obj.origins[0].origin.replace(":", "-"),
|
||||
service_obj.origins[0].origin,
|
||||
service_obj.origins[0].ssl,
|
||||
|
@ -312,7 +340,7 @@ class TestServices(base.TestCase):
|
|||
origins=[current_origin],
|
||||
flavor_id='cdn',
|
||||
project_id=str(uuid.uuid4()))
|
||||
resp = controller.delete(service_obj, provider_service_id)
|
||||
|
||||
exception = fastly.FastlyError(Exception('ding'))
|
||||
controller.client.delete_service.side_effect = exception
|
||||
resp = controller.delete(service_obj, provider_service_id)
|
||||
|
@ -398,7 +426,7 @@ class TestProviderValidation(base.TestCase):
|
|||
|
||||
@mock.patch('poppy.provider.fastly.services.ServiceController.client')
|
||||
@mock.patch('poppy.provider.fastly.driver.CDNProvider')
|
||||
def setUp(self, mock_client, mock_driver):
|
||||
def setUp(self, mock_driver, mock_client):
|
||||
super(TestProviderValidation, self).setUp()
|
||||
|
||||
self.driver = mock_driver()
|
||||
|
@ -460,7 +488,7 @@ class TestProviderValidation(base.TestCase):
|
|||
def test_get_service_details_error(self):
|
||||
error = fastly.FastlyError('DIMMM')
|
||||
self.controller.client.get_service_by_name.side_effect = error
|
||||
resp = self.controller.get('rror-service')
|
||||
resp = self.controller.get('error-service')
|
||||
|
||||
self.assertIn('error', resp[self.driver.provider_name])
|
||||
|
||||
|
|
3
tox.ini
3
tox.ini
|
@ -18,8 +18,7 @@ setenv = VIRTUAL_ENV={envdir}
|
|||
PYTHONDONTWRITEBYTECODE=1
|
||||
deps = -r{toxinidir}/requirements/requirements.txt
|
||||
-r{toxinidir}/tests/test-requirements.txt
|
||||
commands = pip install -U mock==1.0.1
|
||||
pip install git+https://github.com/stackforge/opencafe.git#egg=cafe
|
||||
commands = pip install git+https://github.com/stackforge/opencafe.git#egg=cafe
|
||||
nosetests tests.unit tests.functional {posargs:--nologcapture}
|
||||
|
||||
[testenv:pep8]
|
||||
|
|
Loading…
Reference in New Issue