Browse Source

Skip integration tests when Swift is not available

Let's skip integration tests using Swift when the service is not
available. It will help turn the py3 gate green.

Change-Id: Ib3536583dbb3bbf50d9c64976e909fd352391d05
changes/49/449049/1
Thomas Herve 5 years ago
parent
commit
9398dedd98
  1. 10
      heat_integrationtests/common/test.py
  2. 2
      heat_integrationtests/functional/test_aws_stack.py
  3. 2
      heat_integrationtests/functional/test_swiftsignal_update.py

10
heat_integrationtests/common/test.py

@ -18,6 +18,7 @@ import time
import fixtures
from heatclient import exc as heat_exceptions
from keystoneauth1 import exceptions as kc_exceptions
from neutronclient.common import exceptions as network_exceptions
from oslo_log import log as logging
from oslo_utils import timeutils
@ -194,6 +195,15 @@ class HeatIntegrationTest(testscenarios.WithScenarios,
return False
return True
def is_service_available(self, service_type):
try:
self.identity_client.get_endpoint_url(
service_type, self.conf.region)
except kc_exceptions.EndpointNotFound:
return False
else:
return True
@staticmethod
def _stack_output(stack, output_key, validate_errors=True):
"""Return a stack output value for a given key."""

2
heat_integrationtests/functional/test_aws_stack.py

@ -72,6 +72,8 @@ Outputs:
def setUp(self):
super(AwsStackTest, self).setUp()
if not self.is_service_available('object-store'):
self.skipTest('object-store service not available, skipping')
self.object_container_name = test.rand_name()
self.project_id = self.identity_client.project_id
self.swift_key = hashlib.sha224(

2
heat_integrationtests/functional/test_swiftsignal_update.py

@ -34,6 +34,8 @@ outputs:
class SwiftSignalHandleUpdateTest(functional_base.FunctionalTestsBase):
def test_stack_update_same_template_replace_no_url(self):
if not self.is_service_available('object-store'):
self.skipTest('object-store service not available, skipping')
stack_identifier = self.stack_create(template=test_template)
stack = self.client.stacks.get(stack_identifier)
orig_url = self._stack_output(stack, 'signal_url')

Loading…
Cancel
Save