summaryrefslogtreecommitdiff
path: root/buildscripts/tests
diff options
context:
space:
mode:
authorMikhail Shchatko <mikhail.shchatko@mongodb.com>2021-09-01 15:42:40 +0300
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-09-02 10:36:38 +0000
commit931cf49bd86728eb8eab9e2b35ae321fa009718a (patch)
tree75f8a67043836d38681bc5b98c33201e08e22e70 /buildscripts/tests
parent21f26ebfc3397c926af673058c0d3467d5868c62 (diff)
downloadmongo-931cf49bd86728eb8eab9e2b35ae321fa009718a.tar.gz
SERVER-59116 Fallback to downloading from master if release branch has no successful compiles yet
Diffstat (limited to 'buildscripts/tests')
-rw-r--r--buildscripts/tests/resmokelib/setup_multiversion/test_setup_multiversion.py40
1 files changed, 35 insertions, 5 deletions
diff --git a/buildscripts/tests/resmokelib/setup_multiversion/test_setup_multiversion.py b/buildscripts/tests/resmokelib/setup_multiversion/test_setup_multiversion.py
index 17a3af9edd3..32981fce51f 100644
--- a/buildscripts/tests/resmokelib/setup_multiversion/test_setup_multiversion.py
+++ b/buildscripts/tests/resmokelib/setup_multiversion/test_setup_multiversion.py
@@ -110,11 +110,7 @@ class TestSetupMultiversionGetLatestUrls(TestSetupMultiversionBase):
mock_expected_version.build_variants_map = {self.buildvariant_name: "build_id"}
evg_versions = [mock_version for _ in range(3)]
evg_versions.append(mock_expected_version)
- evg_versions = iter(evg_versions)
- mock_versions_by_project.return_value = evg_versions
- print(self.setup_multiversion.evg_api)
- print(self.buildvariant_name)
- print(mock_version)
+ mock_versions_by_project.return_value = iter(evg_versions)
mock_get_compile_artifact_urls.side_effect = lambda evg_api, evg_version, buildvariant_name, ignore_failed_push: {
(self.setup_multiversion.evg_api, mock_version, self.buildvariant_name, False): {},
(self.setup_multiversion.evg_api, mock_expected_version, self.buildvariant_name, False):
@@ -141,6 +137,40 @@ class TestSetupMultiversionGetLatestUrls(TestSetupMultiversionBase):
urls = self.setup_multiversion.get_latest_urls("4.4")
self.assertEqual(urls, expected_urls)
+ @patch("evergreen.version.Version")
+ @patch("evergreen.version.Version")
+ @patch("evergreen.api.EvergreenApi.versions_by_project")
+ @patch("buildscripts.resmokelib.utils.evergreen_conn.get_compile_artifact_urls")
+ def test_start_from_revision(self, mock_get_compile_artifact_urls, mock_versions_by_project,
+ mock_version, mock_expected_version):
+ start_from_revision = "90f767adbb1901d007ee4dd8714f53402d893669"
+ unexpected_urls = {
+ "Binaries":
+ "https://mciuploads.s3.amazonaws.com/project/build_variant/revision/binaries/unexpected.tgz"
+ }
+ expected_urls = {
+ "Binaries":
+ "https://mciuploads.s3.amazonaws.com/project/build_variant/90f767adbb1901d007ee4dd8714f53402d893669/binaries/expected.tgz"
+ }
+
+ mock_version.build_variants_map = {self.buildvariant_name: "build_id"}
+ mock_expected_version.build_variants_map = {self.buildvariant_name: "build_id"}
+ mock_expected_version.revision = start_from_revision
+
+ evg_versions = [mock_version for _ in range(3)]
+ evg_versions.append(mock_expected_version)
+ mock_versions_by_project.return_value = iter(evg_versions)
+
+ mock_get_compile_artifact_urls.side_effect = lambda evg_api, evg_version, buildvariant_name, ignore_failed_push: {
+ (self.setup_multiversion.evg_api, mock_version, self.buildvariant_name, False):
+ unexpected_urls,
+ (self.setup_multiversion.evg_api, mock_expected_version, self.buildvariant_name, False):
+ expected_urls,
+ }[evg_api, evg_version, buildvariant_name, ignore_failed_push]
+
+ urls = self.setup_multiversion.get_latest_urls("master", start_from_revision)
+ self.assertEqual(urls, expected_urls)
+
class TestSetupMultiversionGetUrls(TestSetupMultiversionBase):
@patch("evergreen.version.Version")