Leverage on Xtesting
[functest.git] / functest / cli / commands / cli_tier.py
index 995354b..a035f85 100644 (file)
@@ -5,26 +5,24 @@
 # 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
+from xtesting.ci import tier_builder
 
-import functest.ci.tier_builder as tb
-from functest.utils.constants import CONST
-import functest.utils.functest_utils as ft_utils
+from functest.utils import functest_utils
+from functest.utils import env
 
 
 class Tier(object):
 
     def __init__(self):
-        self.tiers = tb.TierBuilder(
-            CONST.__getattribute__('INSTALLER_TYPE'),
-            CONST.__getattribute__('DEPLOY_SCENARIO'),
+        self.tiers = tier_builder.TierBuilder(
+            env.get('INSTALLER_TYPE'),
+            env.get('DEPLOY_SCENARIO'),
             pkg_resources.resource_filename('functest', 'ci/testcases.yaml'))
 
     def list(self):
@@ -36,61 +34,54 @@ class Tier(object):
                            tier.get_test_names()))
         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:
             return None
-        else:
-            tier_info = self.tiers.get_tier(tiername)
-            return tier_info
+        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:
             return None
-        else:
-            tests = tier.get_test_names()
-            return tests
+        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
 
-        if not os.path.isfile(CONST.__getattribute__('env_active')):
-            click.echo("Functest environment is not ready. "
-                       "Run first 'functest env prepare'")
-        else:
-            cmd = "run_tests {}-t {}".format(flags, tiername)
-            ft_utils.execute_command(cmd)
+    @staticmethod
+    def run(name, noclean=False, report=False):
+        cmd = "run_tests {}-t {}".format(Tier.get_flags(noclean, report), name)
+        functest_utils.execute_command(cmd)
 
 
 class CliTier(Tier):
 
-    def __init__(self):
-        super(CliTier, self).__init__()
-
     def list(self):
         click.echo(super(CliTier, self).list())
 
-    def show(self, tiername):
-        tier_info = super(CliTier, self).show(tiername)
+    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" % (tiername, tier_names))
+                       "Available tiers are:\n  %s\n" % (name, tier_names))
 
-    def gettests(self, tiername):
-        tests = super(CliTier, self).gettests(tiername)
+    def gettests(self, name):
+        tests = super(CliTier, self).gettests(name)
         if tests:
-            click.echo("Test cases in tier '%s':\n %s\n" % (tiername, tests))
+            click.echo("Test cases in tier '%s':\n %s\n" % (name, tests))
         else:
             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))
+                       "Available tiers are:\n  %s\n" % (name, tier_names))