def test_discover_version(self): ''' Test call to __discover_version when using different versions ''' version = { ('3000', None): { (b'v3000.0rc2-12-g44fe283a77\n', '3000rc2-12-g44fe283a77'), (b'v3000', '3000'), (b'1234567', '3000-n/a-1234567'), }, (2019, 2): { (b'v2019.2.0rc2-12-g44fe283a77\n', '2019.2.0rc2-12-g44fe283a77'), (b'v2019.2.0', '2019.2.0'), (b'afc9830198dj', '2019.2.0-n/a-afc9830198dj'), }, } for maj_min, test_v in version.items(): for tag_ver, exp in version[maj_min]: salt_ver = SaltStackVersion(major=maj_min[0], minor=maj_min[1], bugfix=None) attrs = { 'communicate.return_value': (tag_ver, b''), 'returncode.return_value': 0 } proc_ret = MagicMock(**attrs) proc_mock = patch('subprocess.Popen', return_value=proc_ret) patch_os = patch('os.path.exists', return_value=True) with proc_mock, patch_os: ret = getattr(salt.version, '__discover_version')(salt_ver) assert ret == exp
def test_discover_version(self): """ Test call to __discover_version when using different versions """ version = { ("3000", None): { (b"v3000.0rc2-12-g44fe283a77\n", "3000rc2-12-g44fe283a77"), (b"v3000", "3000"), (b"1234567", "3000-n/a-1234567"), }, (2019, 2): { (b"v2019.2.0rc2-12-g44fe283a77\n", "2019.2.0rc2-12-g44fe283a77"), (b"v2019.2.0", "2019.2.0"), (b"afc9830198dj", "2019.2.0-n/a-afc9830198dj"), }, } for maj_min, test_v in version.items(): for tag_ver, exp in version[maj_min]: salt_ver = SaltStackVersion(major=maj_min[0], minor=maj_min[1], bugfix=None) attrs = { "communicate.return_value": (tag_ver, b""), "returncode.return_value": 0, } proc_ret = MagicMock(**attrs) proc_mock = patch("subprocess.Popen", return_value=proc_ret) patch_os = patch("os.path.exists", return_value=True) with proc_mock, patch_os: ret = getattr(salt.version, "__discover_version")(salt_ver) assert ret == exp