diff options
author | jose.lausuch <jose.lausuch@ericsson.com> | 2016-05-10 11:51:18 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@172.30.200.206> | 2016-05-10 11:51:18 +0000 |
commit | acd3d80504a56183a4909dce52b56bc7e15bc6cd (patch) | |
tree | 9c656eb5db5813865537cb1f0693564dbc38e32b /cli/commands/cli_tier.py | |
parent | 7eeab2d73796b1054c20b41329835adc090bbf3c (diff) | |
parent | bd00e6f289a69badf7beea827b20764ed3252c7a (diff) |
Merge "CLI implementation"
Diffstat (limited to 'cli/commands/cli_tier.py')
-rw-r--r-- | cli/commands/cli_tier.py | 54 |
1 files changed, 50 insertions, 4 deletions
diff --git a/cli/commands/cli_tier.py b/cli/commands/cli_tier.py index efb8ad5f2..a872eb76f 100644 --- a/cli/commands/cli_tier.py +++ b/cli/commands/cli_tier.py @@ -8,17 +8,63 @@ # import click +import os +import yaml + +import functest.ci.tier_builder as tb +import functest.utils.functest_utils as ft_utils + +""" global variables """ +with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: + functest_yaml = yaml.safe_load(f) + +REPOS_DIR = os.getenv('repos_dir') +FUNCTEST_REPO = ("%s/functest/" % REPOS_DIR) +FUNCTEST_CONF_DIR = functest_yaml.get("general").get( + "directories").get("dir_functest_conf") +ENV_FILE = FUNCTEST_CONF_DIR + "/env_active" class CliTier: def __init__(self): - pass + CI_INSTALLER_TYPE = os.getenv('INSTALLER_TYPE') + CI_SCENARIO = os.getenv('DEPLOY_SCENARIO') + testcases = FUNCTEST_REPO + "/ci/testcases.yaml" + self.tiers = tb.TierBuilder(CI_INSTALLER_TYPE, CI_SCENARIO, testcases) def list(self): - click.echo("tier list") + summary = "" + for tier in self.tiers.get_tiers(): + summary += (" - %s. %s:\n\t %s\n" + % (tier.get_order(), + tier.get_name(), + tier.get_test_names())) + click.echo(summary) def show(self, tiername): - click.echo("tier show %s" % tiername) + tier = self.tiers.get_tier(tiername) + 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)) + + def gettests(self, tiername): + tier = self.tiers.get_tier(tiername) + 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)) def run(self, tiername): - click.echo("tier run %s" % tiername) + if not os.path.isfile(ENV_FILE): + click.echo("Functest environment is not ready. " + "Run first 'functest env prepare'") + else: + cmd = ("python /home/opnfv/repos/functest/ci/run_tests.py -t %s" + % tiername) + ft_utils.execute_command(cmd) |