Create test case stack (self.stack) from setUp base class method.

Change-Id: Ic92610d67052ad179b1de6fd57db03042702b760
This commit is contained in:
Federico Ressi 2018-12-03 16:11:13 +01:00
parent baea33663c
commit 4327d3b685
1 changed files with 11 additions and 14 deletions

View File

@ -17,8 +17,6 @@ from __future__ import absolute_import
import os
import sys
from heatclient import exc
from tobiko.tests import base
from tobiko.common.managers import stack
from tobiko.common.managers import network
@ -28,6 +26,8 @@ from tobiko.common import constants
class ScenarioTestsBase(base.TobikoTest):
"""All scenario tests inherit from this scenario base class."""
stack = None
def setUp(self):
super(ScenarioTestsBase, self).setUp()
templates_dir = os.path.join(os.path.dirname(__file__), 'templates')
@ -47,11 +47,15 @@ class ScenarioTestsBase(base.TobikoTest):
raise RuntimeError(msg)
test_name = name_parts[0]
self.stack_name = test_name.rsplit('.', 1)[-1]
self.setup_stack()
try:
self.stackManager.get_stack(self.stack_name)
except exc.HTTPNotFound:
self.create_stack()
def setup_stack(self):
if not self.stack:
self.stack = (self.stackManager.get_stack(self.stack_name) or
self.create_stack())
return self.stack
_get_stack = setup_stack
def create_stack(self):
"""Creates stack to be used by all scenario tests."""
@ -59,15 +63,8 @@ class ScenarioTestsBase(base.TobikoTest):
# Defines parameters required by heat template
# creates stack and stores its ID
st = self.stackManager.create_stack(
return self.stackManager.create_stack(
stack_name=self.stack_name,
template_name="%s.yaml" % self.stack_name,
parameters=self.params,
status=constants.COMPLETE_STATUS)
return st['stack']
def _get_stack(self):
_stack = self.stackManager.get_stack(self.stack_name)
if not _stack:
_stack = self.create_stack()
return _stack