]> git.apps.os.sepia.ceph.com Git - teuthology.git/commitdiff
tests: Remove some gitbuilder-related tests
authorZack Cerza <zack@redhat.com>
Wed, 29 Nov 2023 00:25:13 +0000 (17:25 -0700)
committerZack Cerza <zack@redhat.com>
Tue, 5 Dec 2023 21:01:17 +0000 (14:01 -0700)
Signed-off-by: Zack Cerza <zack@redhat.com>
teuthology/suite/test/test_run_.py
teuthology/suite/test/test_util.py

index 0b322351fb7402d22de216845843ed9f079917c5..1dc23e20d71a29ce6d512c05034b067d4e1a35f6 100644 (file)
@@ -5,19 +5,13 @@ import contextlib
 import yaml
 
 from datetime import datetime
-from mock import patch, call, ANY, DEFAULT
-from teuthology.util.compat import PY3
-if PY3:
-    from io import StringIO
-    from io import BytesIO
-else:
-    from io import BytesIO as StringIO
-    from io import BytesIO
+from mock import patch, call, ANY
+from io import StringIO
+from io import BytesIO
 
 from teuthology.config import config, YamlConfig
 from teuthology.exceptions import ScheduleFailError
 from teuthology.suite import run
-from teuthology import packaging
 
 
 class TestRun(object):
@@ -145,8 +139,10 @@ class TestRun(object):
 
     @patch('teuthology.suite.util.smtplib.SMTP')
     @patch('teuthology.suite.util.git_ls_remote')
+    @patch('teuthology.suite.util.package_version_for_hash')
     def test_teuthology_branch_nonexistent(
         self,
+        m_pvfh,
         m_git_ls_remote,
         m_smtp,
     ):
@@ -159,48 +155,6 @@ class TestRun(object):
             self.klass(self.args)
         m_smtp.assert_not_called()
 
-    @patch('teuthology.suite.run.util.fetch_repos')
-    @patch('teuthology.suite.run.util.git_branch_exists')
-    @patch('teuthology.suite.run.util.package_version_for_hash')
-    @patch('teuthology.suite.run.util.git_ls_remote')
-    @patch('teuthology.suite.run.os.path.exists')
-    def test_regression(
-        self,
-        m_qa_teuthology_branch_exists,
-        m_git_ls_remote,
-        m_package_version_for_hash,
-        m_git_branch_exists,
-        m_fetch_repos,
-    ):
-        config.use_shaman = False
-        config.gitbuilder_host = 'example.com'
-        m_package_version_for_hash.return_value = 'ceph_hash'
-        m_git_branch_exists.return_value = True
-        m_git_ls_remote.return_value = "suite_branch"
-        m_qa_teuthology_branch_exists.return_value = False
-        self.args_dict = {
-            'base_yaml_paths': [],
-            'ceph_branch': 'main',
-            'machine_type': 'smithi',
-            'flavor': 'default',
-            'kernel_branch': 'testing',
-            'suite': 'krbd',
-        }
-        self.args = YamlConfig.from_dict(self.args_dict)
-        with patch.multiple(
-            'teuthology.packaging.GitbuilderProject',
-            _get_package_sha1=DEFAULT,
-        ) as m:
-            assert m != dict()
-            m['_get_package_sha1'].return_value = 'SHA1'
-            conf = dict(
-                os_type='ubuntu',
-                os_version='16.04',
-            )
-            assert packaging.GitbuilderProject('ceph', conf).sha1 == 'SHA1'
-            run_ = self.klass(self.args)
-            assert run_.base_config['kernel']['sha1'] == 'SHA1'
-
 
 class TestScheduleSuite(object):
     klass = run.Run
@@ -225,8 +179,6 @@ class TestScheduleSuite(object):
 
     @patch('teuthology.suite.run.Run.schedule_jobs')
     @patch('teuthology.suite.run.Run.write_rerun_memo')
-    @patch('teuthology.suite.util.has_packages_for_distro')
-    @patch('teuthology.suite.util.get_package_versions')
     @patch('teuthology.suite.util.get_install_task_flavor')
     @patch('teuthology.suite.merge.open')
     @patch('teuthology.suite.run.build_matrix')
@@ -243,8 +195,6 @@ class TestScheduleSuite(object):
         m_build_matrix,
         m_open,
         m_get_install_task_flavor,
-        m_get_package_versions,
-        m_has_packages_for_distro,
         m_write_rerun_memo,
         m_schedule_jobs,
     ):
@@ -266,8 +216,7 @@ class TestScheduleSuite(object):
             contextlib.closing(BytesIO())
         ]
         m_get_install_task_flavor.return_value = 'default'
-        m_get_package_versions.return_value = dict()
-        m_has_packages_for_distro.return_value = True
+        m_package_version_for_hash.return_value = "v1"
         # schedule_jobs() is just neutered; check calls below
 
         self.args.newest = 0
@@ -277,8 +226,8 @@ class TestScheduleSuite(object):
         count = runobj.schedule_suite()
         assert(count == 1)
         assert runobj.base_config['suite_sha1'] == 'suite_hash'
-        m_has_packages_for_distro.assert_has_calls(
-            [call('ceph_sha1', 'ubuntu', '14.04', 'default', {})],
+        m_package_version_for_hash.assert_has_calls(
+            [call('ceph_sha1', 'default', 'ubuntu', '14.04', 'machine_type')],
         )
         y = {
           'teuthology': {
@@ -312,8 +261,6 @@ class TestScheduleSuite(object):
 
     @patch('teuthology.suite.util.find_git_parents')
     @patch('teuthology.suite.run.Run.schedule_jobs')
-    @patch('teuthology.suite.util.has_packages_for_distro')
-    @patch('teuthology.suite.util.get_package_versions')
     @patch('teuthology.suite.util.get_install_task_flavor')
     @patch('teuthology.suite.run.config_merge')
     @patch('teuthology.suite.run.build_matrix')
@@ -330,14 +277,12 @@ class TestScheduleSuite(object):
         m_build_matrix,
         m_config_merge,
         m_get_install_task_flavor,
-        m_get_package_versions,
-        m_has_packages_for_distro,
         m_schedule_jobs,
         m_find_git_parents,
     ):
         m_get_arch.return_value = 'x86_64'
         m_git_validate_sha1.return_value = self.args.ceph_sha1
-        m_package_version_for_hash.return_value = 'ceph_version'
+        m_package_version_for_hash.return_value = None
         m_git_ls_remote.return_value = 'suite_hash'
         build_matrix_desc = 'desc'
         build_matrix_frags = ['frag.yml']
@@ -347,10 +292,6 @@ class TestScheduleSuite(object):
         m_build_matrix.return_value = build_matrix_output
         m_config_merge.return_value = [(a, b, {}) for a, b in build_matrix_output]
         m_get_install_task_flavor.return_value = 'default'
-        m_get_package_versions.return_value = dict()
-        m_has_packages_for_distro.side_effect = [
-            False for i in range(11)
-        ]
 
         m_find_git_parents.side_effect = lambda proj, sha1, count: [f"{sha1}_{i}" for i in range(11)]
 
@@ -367,8 +308,6 @@ class TestScheduleSuite(object):
     @patch('teuthology.suite.util.find_git_parents')
     @patch('teuthology.suite.run.Run.schedule_jobs')
     @patch('teuthology.suite.run.Run.write_rerun_memo')
-    @patch('teuthology.suite.util.has_packages_for_distro')
-    @patch('teuthology.suite.util.get_package_versions')
     @patch('teuthology.suite.util.get_install_task_flavor')
     @patch('teuthology.suite.run.config_merge')
     @patch('teuthology.suite.run.build_matrix')
@@ -385,8 +324,6 @@ class TestScheduleSuite(object):
         m_build_matrix,
         m_config_merge,
         m_get_install_task_flavor,
-        m_get_package_versions,
-        m_has_packages_for_distro,
         m_write_rerun_memo,
         m_schedule_jobs,
         m_find_git_parents,
@@ -396,7 +333,6 @@ class TestScheduleSuite(object):
         # everything will run NUM_FAILS+1 times
         NUM_FAILS = 5
         m_git_validate_sha1.return_value = self.args.ceph_sha1
-        m_package_version_for_hash.return_value = 'ceph_version'
         m_git_ls_remote.return_value = 'suite_hash'
         build_matrix_desc = 'desc'
         build_matrix_frags = ['frag.yml']
@@ -406,10 +342,9 @@ class TestScheduleSuite(object):
         m_build_matrix.return_value = build_matrix_output
         m_config_merge.return_value = [(a, b, {}) for a, b in build_matrix_output]
         m_get_install_task_flavor.return_value = 'default'
-        m_get_package_versions.return_value = dict()
         # NUM_FAILS, then success
-        m_has_packages_for_distro.side_effect = \
-            [False for i in range(NUM_FAILS)] + [True]
+        m_package_version_for_hash.side_effect = \
+            [None for i in range(NUM_FAILS)] + ["ceph_version"]
 
         m_find_git_parents.side_effect = lambda proj, sha1, count: [f"{sha1}_{i}" for i in range(NUM_FAILS)]
 
@@ -418,8 +353,8 @@ class TestScheduleSuite(object):
         runobj.base_args = list()
         count = runobj.schedule_suite()
         assert count == 1
-        m_has_packages_for_distro.assert_has_calls(
-            [call(f"ceph_sha1_{i}", 'ubuntu', '14.04', 'default', {})
+        m_package_version_for_hash.assert_has_calls(
+            [call(f"ceph_sha1_{i}", 'default', 'ubuntu', '14.04', 'machine_type')
              for i in range(NUM_FAILS)]
         )
         m_find_git_parents.assert_has_calls(
index e295010b85d42009a754b9cc55500f837dd4e8db..042cdd1235e38c6fdd084ddd8a103901fd253ff6 100644 (file)
@@ -2,7 +2,6 @@ import os
 import pytest
 import tempfile
 
-from copy import deepcopy
 from mock import Mock, patch
 
 from teuthology.config import config
@@ -48,9 +47,6 @@ def git_repository(request):
 
 
 class TestUtil(object):
-    def setup_method(self):
-        config.use_shaman = False
-
     @patch('teuthology.suite.util.smtplib.SMTP')
     def test_schedule_fail(self, m_smtp):
         config.results_email = "example@example.com"
@@ -91,32 +87,6 @@ Branch 'no-branch' not found in repo: https://github.com/ceph/ceph-ci.git!"
 Branch 'no-branch' not found in repo: https://github.com/ceph/ceph-ci.git!"
         m_smtp.assert_not_called()
 
-    @patch('requests.get')
-    def test_get_hash_success(self, m_get):
-        mock_resp = Mock()
-        mock_resp.ok = True
-        mock_resp.text = "the_hash"
-        m_get.return_value = mock_resp
-        result = util.get_gitbuilder_hash()
-        assert result == "the_hash"
-
-    @patch('requests.get')
-    def test_get_hash_fail(self, m_get):
-        mock_resp = Mock()
-        mock_resp.ok = False
-        m_get.return_value = mock_resp
-        result = util.get_gitbuilder_hash()
-        assert result is None
-
-    @patch('requests.get')
-    def test_package_version_for_hash(self, m_get):
-        mock_resp = Mock()
-        mock_resp.ok = True
-        mock_resp.text = "the_version"
-        m_get.return_value = mock_resp
-        result = util.package_version_for_hash("hash")
-        assert result == "the_version"
-
     @patch('requests.get')
     def test_get_branch_info(self, m_get):
         mock_resp = Mock()
@@ -244,111 +214,34 @@ class TestFlavor(object):
 class TestMissingPackages(object):
     """
     Tests the functionality that checks to see if a
-    scheduled job will have missing packages in gitbuilder.
+    scheduled job will have missing packages in shaman.
     """
-    def setup_method(self):
-        package_versions = {
-            'sha1': {
-                'ubuntu': {
-                    '14.04': {
-                        'basic': '1.0'
-                    }
-                }
-            }
-        }
-        self.pv = package_versions
-
-    def test_os_in_package_versions(self):
-        assert self.pv == util.get_package_versions(
-            "sha1",
-            "ubuntu",
-            "14.04",
-            "basic",
-            package_versions=self.pv
-        )
-
-    @patch("teuthology.suite.util.package_version_for_hash")
-    def test_os_not_in_package_versions(self, m_package_versions_for_hash):
-        m_package_versions_for_hash.return_value = "1.1"
-        result = util.get_package_versions(
-            "sha1",
-            "rhel",
-            "7.0",
-            "basic",
-            package_versions=self.pv
-        )
-        expected = deepcopy(self.pv)
-        expected['sha1'].update(
-            {
-                'rhel': {
-                    '7.0': {
-                        'basic': '1.1'
-                    }
-                }
-            }
-        )
-        assert result == expected
-
-    @patch("teuthology.suite.util.package_version_for_hash")
-    def test_package_versions_not_found(self, m_package_versions_for_hash):
-        # if gitbuilder returns a status that's not a 200, None is returned
-        m_package_versions_for_hash.return_value = None
-        result = util.get_package_versions(
-            "sha1",
-            "rhel",
-            "7.0",
-            "basic",
-            package_versions=self.pv
-        )
-        assert result == self.pv
-
-    @patch("teuthology.suite.util.package_version_for_hash")
-    def test_no_package_versions_kwarg(self, m_package_versions_for_hash):
-        m_package_versions_for_hash.return_value = "1.0"
-        result = util.get_package_versions(
+    @patch("teuthology.packaging.ShamanProject._get_package_version")
+    def test_distro_has_packages(self, m_gpv):
+        m_gpv.return_value = "v1"
+        result = util.package_version_for_hash(
             "sha1",
-            "ubuntu",
-            "14.04",
             "basic",
-        )
-        expected = deepcopy(self.pv)
-        assert result == expected
-
-    def test_distro_has_packages(self):
-        result = util.has_packages_for_distro(
-            "sha1",
             "ubuntu",
             "14.04",
-            "basic",
-            package_versions=self.pv,
+            "mtype",
         )
         assert result
 
-    def test_distro_does_not_have_packages(self):
-        result = util.has_packages_for_distro(
+    @patch("teuthology.packaging.ShamanProject._get_package_version")
+    def test_distro_does_not_have_packages(self, m_gpv):
+        m_gpv.return_value = None
+        result = util.package_version_for_hash(
             "sha1",
-            "rhel",
-            "7.0",
             "basic",
-            package_versions=self.pv,
-        )
-        assert not result
-
-    @patch("teuthology.suite.util.get_package_versions")
-    def test_has_packages_no_package_versions(self, m_get_package_versions):
-        m_get_package_versions.return_value = self.pv
-        result = util.has_packages_for_distro(
-            "sha1",
             "rhel",
             "7.0",
-            "basic",)
+            "mtype",
+        )
         assert not result
 
 
 class TestDistroDefaults(object):
-    def setup_method(self):
-        config.use_shaman = False
-
     def test_distro_defaults_plana(self):
         expected = ('x86_64', 'ubuntu/22.04',
                     OS(name='ubuntu', version='22.04', codename='jammy'))