mongo/buildscripts/tests/patch_builds/test_evg_change_data.py

33 lines
1.2 KiB
Python

"""Unit tests for buildscripts.patch_builds.evg_change_data.py."""
from __future__ import absolute_import
import os
import unittest
from mock import MagicMock
import buildscripts.patch_builds.evg_change_data as under_test
# pylint: disable=missing-docstring
def create_mock_repo(working_dir=""):
return MagicMock(working_dir=working_dir)
class TestGenerateRevisionMapFromManifest(unittest.TestCase):
def test_map_can_be_created_from_evergreen_api(self):
mock_repo_list = [create_mock_repo(os.getcwd()), create_mock_repo("/path/to/enterprise")]
mongo_revision = "revision1234"
enterprise_revision = "revision5678"
mock_manifest = MagicMock(revision=mongo_revision,
modules={"enterprise": MagicMock(revision=enterprise_revision)})
mock_evg_api = MagicMock()
mock_evg_api.manifest_for_task.return_value = mock_manifest
revision_map = under_test.generate_revision_map_from_manifest(mock_repo_list, "task_id",
mock_evg_api)
self.assertEqual(revision_map[mock_repo_list[0].git_dir], mongo_revision)
self.assertEqual(revision_map[mock_repo_list[1].git_dir], enterprise_revision)