import textwrap
import enum
-import pkg_resources
import prettytable
from stevedore import driver
import yaml
from xtesting.ci import tier_builder
from xtesting.core import testcase
+from xtesting.utils import config
from xtesting.utils import constants
from xtesting.utils import env
self.clean_flag = True
self.report_flag = False
self.push_flag = False
- self.tiers = tier_builder.TierBuilder(_get_xtesting_config(
+ self.tiers = tier_builder.TierBuilder(config.get_xtesting_config(
constants.TESTCASE_DESCRIPTION,
constants.TESTCASE_DESCRIPTION_DEFAULT))
@staticmethod
def get_dict_by_test(testname):
# pylint: disable=missing-docstring
- with open(pkg_resources.resource_filename(
- 'xtesting', 'ci/testcases.yaml'), encoding='utf-8') as tyaml:
+ with open(config.get_xtesting_config(
+ constants.TESTCASE_DESCRIPTION,
+ constants.TESTCASE_DESCRIPTION_DEFAULT),
+ encoding='utf-8') as tyaml:
testcases_yaml = yaml.safe_load(tyaml)
for dic_tier in testcases_yaml.get("tiers"):
for dic_testcase in dic_tier['testcases']:
LOGGER.info("Xtesting report:\n\n%s\n", msg)
-def _get_xtesting_config(filename, default):
- for path in constants.XTESTING_PATHES:
- abspath = os.path.abspath(os.path.expanduser(path))
- if os.path.isfile(os.path.join(abspath, filename)):
- return os.path.join(abspath, filename)
- return default
-
-
def main():
"""Entry point"""
try:
print(f"Cannot create {constants.RESULTS_DIR}")
return testcase.TestCase.EX_RUN_ERROR
if env.get('DEBUG').lower() == 'true':
- logging.config.fileConfig(_get_xtesting_config(
+ logging.config.fileConfig(config.get_xtesting_config(
'logging.debug.ini', constants.DEBUG_INI_PATH_DEFAULT))
else:
- logging.config.fileConfig(_get_xtesting_config(
+ logging.config.fileConfig(config.get_xtesting_config(
'logging.ini', constants.INI_PATH_DEFAULT))
logging.captureWarnings(True)
parser = RunTestsParser()
import boto3
from boto3.s3.transfer import TransferConfig
import botocore
-import pkg_resources
import requests
from xtesting.core import testcase
from xtesting.utils import env
+from xtesting.utils import config
from xtesting.utils import constants
__author__ = "Cedric Ollivier <cedric.ollivier@orange.com>"
dst_s3_url = os.environ["S3_DST_URL"]
multipart_threshold = 5 * 1024 ** 5 if "google" in os.environ[
"S3_ENDPOINT_URL"] else 8 * 1024 * 1024
- config = TransferConfig(multipart_threshold=multipart_threshold)
+ tconfig = TransferConfig(multipart_threshold=multipart_threshold)
bucket_name = urlparse(dst_s3_url).netloc
s3path = re.search(
'^/*(.*)/*$', urlparse(dst_s3_url).path).group(1)
b3resource.Bucket(bucket_name).download_file(
s3_object.key,
re.sub(f'^{s3path}/*', '', s3_object.key),
- Config=config)
+ Config=tconfig)
Campaign.__logger.info(
"Downloading %s",
re.sub(f'^{s3path}/*', '', s3_object.key))
dst_s3_url = os.environ["S3_DST_URL"]
multipart_threshold = 5 * 1024 ** 5 if "google" in os.environ[
"S3_ENDPOINT_URL"] else 8 * 1024 * 1024
- config = TransferConfig(multipart_threshold=multipart_threshold)
+ tconfig = TransferConfig(multipart_threshold=multipart_threshold)
bucket_name = urlparse(dst_s3_url).netloc
mime_type = mimetypes.guess_type(f'{build_tag}.zip')
path = urlparse(dst_s3_url).path.strip("/")
b3resource.Bucket(bucket_name).upload_file(
f'{build_tag}.zip',
os.path.join(path, f'{build_tag}.zip'),
- Config=config,
+ Config=tconfig,
ExtraArgs={'ContentType': mime_type[
0] or 'application/octet-stream'})
dst_http_url = os.environ["HTTP_DST_URL"]
if not os.path.exists(testcase.TestCase.dir_results):
os.makedirs(testcase.TestCase.dir_results)
if env.get('DEBUG').lower() == 'true':
- logging.config.fileConfig(pkg_resources.resource_filename(
- 'xtesting', constants.DEBUG_INI_PATH))
+ logging.config.fileConfig(config.get_xtesting_config(
+ 'logging.debug.ini', constants.DEBUG_INI_PATH_DEFAULT))
else:
- logging.config.fileConfig(pkg_resources.resource_filename(
- 'xtesting', constants.INI_PATH))
+ logging.config.fileConfig(config.get_xtesting_config(
+ 'logging.ini', constants.INI_PATH_DEFAULT))
logging.captureWarnings(True)
Campaign.zip_campaign_files()
#!/usr/bin/env python
+# Copyright (c) 2019 Orange and others.
+#
+# All rights reserved. This program and the accompanying materials
+# 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
+
# pylint: disable=missing-docstring
import os