# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
-#
-""" global variables """
+# pylint: disable=missing-docstring
-import os
import pkg_resources
import click
-import functest.ci.tier_builder as tb
+from functest.ci import tier_builder
from functest.utils.constants import CONST
-import functest.utils.functest_utils as ft_utils
+from functest.utils import functest_utils
-class CliTier(object):
+class Tier(object):
def __init__(self):
- self.tiers = tb.TierBuilder(
+ self.tiers = tier_builder.TierBuilder(
CONST.__getattribute__('INSTALLER_TYPE'),
CONST.__getattribute__('DEPLOY_SCENARIO'),
pkg_resources.resource_filename('functest', 'ci/testcases.yaml'))
% (tier.get_order(),
tier.get_name(),
tier.get_test_names()))
- click.echo(summary)
+ return summary
- def show(self, tiername):
- tier = self.tiers.get_tier(tiername)
+ def show(self, name):
+ tier = self.tiers.get_tier(name)
if tier is None:
- tier_names = self.tiers.get_tier_names()
- click.echo("The tier with name '%s' does not exist. "
- "Available tiers are:\n %s\n" % (tiername, tier_names))
- else:
- click.echo(self.tiers.get_tier(tiername))
+ return None
+ tier_info = self.tiers.get_tier(name)
+ return tier_info
- def gettests(self, tiername):
- tier = self.tiers.get_tier(tiername)
+ def gettests(self, name):
+ tier = self.tiers.get_tier(name)
if tier is None:
- tier_names = self.tiers.get_tier_names()
- click.echo("The tier with name '%s' does not exist. "
- "Available tiers are:\n %s\n" % (tiername, tier_names))
- else:
- tests = tier.get_test_names()
- click.echo("Test cases in tier '%s':\n %s\n" % (tiername, tests))
+ return None
+ tests = tier.get_test_names()
+ return tests
@staticmethod
- def run(tiername, noclean=False, report=False):
-
+ def get_flags(noclean=False, report=False):
flags = ""
if noclean:
flags += "-n "
if report:
flags += "-r "
+ return flags
+
+ @staticmethod
+ def run(name, noclean=False, report=False):
+ cmd = "run_tests {}-t {}".format(Tier.get_flags(noclean, report), name)
+ functest_utils.execute_command(cmd)
- if not os.path.isfile(CONST.__getattribute__('env_active')):
- click.echo("Functest environment is not ready. "
- "Run first 'functest env prepare'")
+
+class CliTier(Tier):
+
+ def list(self):
+ click.echo(super(CliTier, self).list())
+
+ def show(self, name):
+ tier_info = super(CliTier, self).show(name)
+ if tier_info:
+ click.echo(tier_info)
+ else:
+ tier_names = self.tiers.get_tier_names()
+ click.echo("The tier with name '%s' does not exist. "
+ "Available tiers are:\n %s\n" % (name, tier_names))
+
+ def gettests(self, name):
+ tests = super(CliTier, self).gettests(name)
+ if tests:
+ click.echo("Test cases in tier '%s':\n %s\n" % (name, tests))
else:
- cmd = ("python %s %s -t %s" % (pkg_resources.resource_filename(
- 'functest', 'ci/run_tests.py'), flags, tiername))
- ft_utils.execute_command(cmd)
+ tier_names = self.tiers.get_tier_names()
+ click.echo("The tier with name '%s' does not exist. "
+ "Available tiers are:\n %s\n" % (name, tier_names))