def test_ci_version_with_subprocess(self, mock_popen, mock_get_distribution): # Setup mock_get_distribution.side_effect = Exception() popen_return = [ [None, 'cloud-init 0.0.5\n'], [None, 'cloud-init 0.7.5\n'], ] mock_popen.return_value = mock.MagicMock() mock_popen.return_value.communicate.side_effect = popen_return # Test & Verify self.assertFalse(loguserdata.chk_ci_version()) self.assertTrue(loguserdata.chk_ci_version()) self.assertEqual(2, mock_get_distribution.call_count)
def test_ci_version(self): # too old versions pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.5.0')) pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.5.9')) # new enough versions pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.6.0')) pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.7.0')) pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('1.0')) pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('2.0')) self.m.ReplayAll() self.assertFalse(loguserdata.chk_ci_version()) self.assertFalse(loguserdata.chk_ci_version()) self.assertTrue(loguserdata.chk_ci_version()) self.assertTrue(loguserdata.chk_ci_version()) self.assertTrue(loguserdata.chk_ci_version()) self.assertTrue(loguserdata.chk_ci_version()) self.m.VerifyAll()
def test_ci_version_with_pkg_resources(self, mock_get): # Setup returned_versions = [ FakeCiVersion('0.5.0'), FakeCiVersion('0.5.9'), FakeCiVersion('0.6.0'), FakeCiVersion('0.7.0'), FakeCiVersion('1.0'), FakeCiVersion('2.0'), ] mock_get.side_effect = returned_versions # Test & Verify self.assertFalse(loguserdata.chk_ci_version()) self.assertFalse(loguserdata.chk_ci_version()) self.assertTrue(loguserdata.chk_ci_version()) self.assertTrue(loguserdata.chk_ci_version()) self.assertTrue(loguserdata.chk_ci_version()) self.assertTrue(loguserdata.chk_ci_version()) self.assertEqual(6, mock_get.call_count)