X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=apex%2Ftests%2Ftest_apex_common_utils.py;h=6f2a94763a6fb17571961b2f6b2599031ca4ca1b;hb=b3c610b205f88dddb02cdac39638c52eafaaf82c;hp=aee39a75c8e515409e8d3ca2e877bb63c8b0eb59;hpb=3c7556eb0734706f28588fb952eedea2d424c6d2;p=apex.git diff --git a/apex/tests/test_apex_common_utils.py b/apex/tests/test_apex_common_utils.py index aee39a75..6f2a9476 100644 --- a/apex/tests/test_apex_common_utils.py +++ b/apex/tests/test_apex_common_utils.py @@ -9,6 +9,8 @@ import ipaddress import os +import shutil +import urllib.error from apex.common import utils from apex.settings.network_settings import NetworkSettings @@ -66,3 +68,35 @@ class TestCommonUtils: playbook = 'apex/tests/playbooks/test_failed_playbook.yaml' assert_raises(Exception, utils.run_ansible, None, os.path.join(playbook), dry_run=True) + + def test_fetch_upstream_and_unpack(self): + url = 'https://github.com/opnfv/apex/blob/master/' + utils.fetch_upstream_and_unpack('/tmp/fetch_test', + url, ['INFO']) + assert os.path.isfile('/tmp/fetch_test/INFO') + shutil.rmtree('/tmp/fetch_test') + + def test_fetch_upstream_previous_file(self): + test_file = 'overcloud-full.tar.md5' + url = 'https://images.rdoproject.org/master/delorean/' \ + 'current-tripleo/stable/' + os.makedirs('/tmp/fetch_test', exist_ok=True) + open("/tmp/fetch_test/{}".format(test_file), 'w').close() + utils.fetch_upstream_and_unpack('/tmp/fetch_test', + url, [test_file]) + assert os.path.isfile("/tmp/fetch_test/{}".format(test_file)) + shutil.rmtree('/tmp/fetch_test') + + def test_fetch_upstream_invalid_url(self): + url = 'http://notavalidsite.com/' + assert_raises(urllib.error.URLError, + utils.fetch_upstream_and_unpack, '/tmp/fetch_test', + url, ['INFO']) + shutil.rmtree('/tmp/fetch_test') + + def test_fetch_upstream_and_unpack_tarball(self): + url = 'http://artifacts.opnfv.org/apex/tests/' + utils.fetch_upstream_and_unpack('/tmp/fetch_test', + url, ['dummy_test.tar']) + assert os.path.isfile('/tmp/fetch_test/test.txt') + shutil.rmtree('/tmp/fetch_test')