def test_missing_component(self, mock_manifest: Mock,
                               find_build_root: Mock) -> None:
        find_build_root.return_value = "url/linux/x64/builds/opensearch"
        check = CiCheckManifestComponent(
            InputComponentFromDist({
                "name": "does-not-exist",
                "dist": "url"
            }),
            CiTarget(version="1.1.0",
                     name="opensearch",
                     qualifier=None,
                     snapshot=True))

        mock_manifest.from_url.return_value = BuildManifest.from_path(
            self.BUILD_MANIFEST)

        with self.assertRaises(
                CiCheckManifestComponent.MissingComponentError) as ctx:
            check.check()

        self.assertEqual(
            str(ctx.exception),
            "Missing does-not-exist in url/linux/x64/builds/opensearch/manifest.yml."
        )
        find_build_root.assert_called()
    def test_retrieves_manifests(self, mock_manifest: Mock,
                                 find_build_root: Mock) -> None:
        find_build_root.return_value = "url/linux/ARCH/builds/opensearch"
        check = CiCheckManifestComponent(
            InputComponentFromDist({
                "name": "common-utils",
                "dist": "url"
            }),
            CiTarget(version="1.1.0",
                     name="opensearch",
                     qualifier=None,
                     snapshot=True))

        mock_manifest.from_url.return_value = BuildManifest.from_path(
            self.BUILD_MANIFEST)

        check.check()
        mock_manifest.from_url.assert_has_calls([
            call("url/linux/ARCH/builds/opensearch/manifest.yml"),
            call("url/linux/ARCH/builds/opensearch/manifest.yml"),
        ])
        find_build_root.assert_has_calls([
            call("url", "linux", "x64", "opensearch"),
            call("url", "linux", "arm64", "opensearch"),
        ])
Exemple #3
0
 def test_from_component_dist(self):
     check_list = CiCheckLists.from_component(
         InputComponentFromDist({
             "name": "common-utils",
             "dist": "url"
         }), None)
     self.assertIs(type(check_list), CiCheckListDist)
 def test_neq_update(self) -> None:
     path = os.path.join(self.manifests_path, "1.0.0",
                         "opensearch-1.0.0.yml")
     manifest1 = InputManifest.from_path(path)
     manifest2 = copy.deepcopy(manifest1)
     self.assertEqual(manifest1, manifest2)
     manifest2.components["name"] = InputComponentFromDist({
         "name": "name",
         "dist": "dist"
     })
     self.assertNotEqual(manifest1, manifest2)
 def test_invalid_check(self, *mocks):
     component = InputComponentFromDist({
         "name": "common-utils",
         "dist": "url",
         "checks": ["invalid:check"]
     })
     list = CiCheckListDist(
         component,
         CiTarget(version="1.1.0", name="opensearch", snapshot=True))
     list.checkout("path")
     with self.assertRaises(CiCheckListDist.InvalidCheckError) as ctx:
         list.check()
     self.assertTrue(
         str(ctx.exception).startswith("Invalid check: invalid:check"))
 def test_check(self, mock_manifest_from_url: Mock, find_build_root: Mock):
     mock_manifest_from_url.return_value = BuildManifest.from_path(
         self.BUILD_MANIFEST)
     component = InputComponentFromDist({
         "name": "common-utils",
         "dist": "url",
         "checks": ["manifest:component"]
     })
     list = CiCheckListDist(
         component,
         CiTarget(version="1.1.0", name="opensearch", snapshot=True))
     list.check()
     mock_manifest_from_url.assert_called()
     find_build_root.assert_called()