diff --git a/omps/manifests_util.py b/omps/manifests_util.py deleted file mode 100644 index ab60cf9..0000000 --- a/omps/manifests_util.py +++ /dev/null @@ -1,59 +0,0 @@ -# -# Copyright (C) 2019 Red Hat, Inc -# see the LICENSE file for license -# - -"""Helper classes/functions for operator manifests""" - -import logging -import io - -import yaml - -from operatorcourier.api import build_and_verify -from omps.errors import raise_for_courier_exception - -logger = logging.getLogger(__name__) - - -class ManifestBundle: - """Provides metadata of operator bundle""" - - @classmethod - def from_dir(cls, source_dir_path): - """Build bundle from specified directory - - :param source_dir_path: path to directory with operator manifest - :rtype: ManifestBundle - :return: object - """ - try: - bundle = build_and_verify(source_dir_path) - except Exception as e: - msg = "Operator courier failed: {}".format(e) - raise_for_courier_exception(e, new_msg=msg) - return cls(bundle) - - def __init__(self, bundle): - """ - :param bundle: bundle built by operator-courier - """ - self._bundle = bundle - - @property - def bundle(self): - """Returns operator bundle""" - return self._bundle - - @property - def package_name(self): - """Returns defined package name from operator bundle""" - # op. courier do verification, this should be never empty - if hasattr(self.bundle, 'bundle'): - # New, op. courier >= 2.0.0 - pkgs_yaml = self.bundle.bundle['data']['packages'] - else: - # Old, op. courier < 2.0.0 - pkgs_yaml = self.bundle['data']['packages'] - pkgs = yaml.safe_load(io.StringIO(pkgs_yaml)) - return pkgs[0]['packageName'] diff --git a/tests/test_manifest_util.py b/tests/test_manifest_util.py deleted file mode 100644 index 3693f6a..0000000 --- a/tests/test_manifest_util.py +++ /dev/null @@ -1,30 +0,0 @@ -# -# Copyright (C) 2019 Red Hat, Inc -# see the LICENSE file for license -# - -import tempfile - -import pytest - -from omps.errors import PackageValidationError -from omps.manifests_util import ManifestBundle - - -class TestManifestBundle: - """Tests of ManifestBundle class""" - - def test_invalid_bundle(self): - """Test if proper exception is raised when source data are invalid. - Uses empty dir to force operator-courier to raise an exception - """ - with pytest.raises(PackageValidationError) as exc_info, \ - tempfile.TemporaryDirectory() as tmpdir: - ManifestBundle.from_dir(tmpdir) - - assert str(exc_info.value).startswith('Operator courier failed: ') - - def test_package_name(self, valid_manifest_flatten_dir): - """Test of property which provides package name""" - mb = ManifestBundle.from_dir(valid_manifest_flatten_dir.path) - assert mb.package_name == valid_manifest_flatten_dir.pkg_name