def test_main_fails(self): log = StringIO.StringIO() #fail on ci version pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.5.0')) #fail on execute cfn-userdata pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.7.0')) os.chmod('/var/lib/cloud/data/cfn-userdata', 0700).AndReturn(None) subprocess.Popen( ['/var/lib/cloud/data/cfn-userdata'], stderr=log, stdout=log).AndReturn(FakePOpen(-2)) #fail on create directories pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.7.0')) os.chmod('/var/lib/cloud/data/cfn-userdata', 0700).AndReturn(None) subprocess.Popen( ['/var/lib/cloud/data/cfn-userdata'], stderr=log, stdout=log).AndReturn(FakePOpen(0)) os.makedirs('/var/lib/heat', 0700).AndRaise(OSError()) self.m.ReplayAll() self.assertEqual(-1, loguserdata.main(log)) self.assertEqual(-2, loguserdata.main(log)) self.assertRaises(OSError, loguserdata.main, log) self.m.VerifyAll()
def test_main(self): pkg_resources.get_distribution("cloud-init").AndReturn(FakeCiVersion("0.7.0")) os.chmod("/var/lib/heat-cfntools/cfn-userdata", 0o700).AndReturn(None) subprocess.Popen( ["/var/lib/heat-cfntools/cfn-userdata"], stderr=mox.IgnoreArg(), stdout=mox.IgnoreArg() ).AndReturn(FakePOpen(0)) self.m.ReplayAll() loguserdata.main() self.m.VerifyAll()
def test_main(self): pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.7.0')) subprocess.Popen( ['/var/lib/heat-cfntools/cfn-userdata'], stderr=mox.IgnoreArg(), stdout=mox.IgnoreArg()).AndReturn(FakePOpen(0)) self.m.ReplayAll() loguserdata.main() self.m.VerifyAll()
def test_main(self): pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.7.0')) os.chmod('/var/lib/heat-cfntools/cfn-userdata', 0o700).AndReturn(None) subprocess.Popen(['/var/lib/heat-cfntools/cfn-userdata'], stderr=mox.IgnoreArg(), stdout=mox.IgnoreArg()).AndReturn(FakePOpen(0)) self.m.ReplayAll() loguserdata.main() self.m.VerifyAll()
def test_main(self): log = StringIO.StringIO() pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.7.0')) os.chmod('/var/lib/heat-cfntools/cfn-userdata', 0700).AndReturn(None) subprocess.Popen(['/var/lib/heat-cfntools/cfn-userdata'], stderr=log, stdout=log).AndReturn(FakePOpen(0)) self.m.ReplayAll() loguserdata.main(log) self.m.VerifyAll()
def test_main_error_other(self): pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.7.0')) os.chmod('/var/lib/heat-cfntools/cfn-userdata', 0o700).AndReturn(None) subprocess.Popen(['/var/lib/heat-cfntools/cfn-userdata'], stderr=mox.IgnoreArg(), stdout=mox.IgnoreArg()).AndRaise( IOError("read failed")) self.m.ReplayAll() if six.PY3: self.assertEqual(os.EX_OSERR, loguserdata.main()) else: self.assertEqual(os.EX_SOFTWARE, loguserdata.main()) self.m.VerifyAll()
def test_main(self): log = StringIO.StringIO() pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.7.0')) os.chmod('/var/lib/heat-cfntools/cfn-userdata', 0700).AndReturn(None) subprocess.Popen( ['/var/lib/heat-cfntools/cfn-userdata'], stderr=log, stdout=log).AndReturn(FakePOpen(0)) self.m.ReplayAll() loguserdata.main(log) self.m.VerifyAll()
def test_main_error_other(self): pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.7.0')) os.chmod('/var/lib/heat-cfntools/cfn-userdata', 0o700).AndReturn(None) subprocess.Popen( ['/var/lib/heat-cfntools/cfn-userdata'], stderr=mox.IgnoreArg(), stdout=mox.IgnoreArg()).AndRaise(IOError("read failed")) self.m.ReplayAll() if six.PY3: self.assertEqual(os.EX_OSERR, loguserdata.main()) else: self.assertEqual(os.EX_SOFTWARE, loguserdata.main()) self.m.VerifyAll()
def test_main_fails(self): # fail on ci version pkg_resources.get_distribution("cloud-init").AndReturn(FakeCiVersion("0.5.0")) # fail on execute cfn-userdata pkg_resources.get_distribution("cloud-init").AndReturn(FakeCiVersion("0.7.0")) os.chmod("/var/lib/heat-cfntools/cfn-userdata", 0o700).AndReturn(None) subprocess.Popen( ["/var/lib/heat-cfntools/cfn-userdata"], stderr=mox.IgnoreArg(), stdout=mox.IgnoreArg() ).AndReturn(FakePOpen(-2)) self.m.ReplayAll() self.assertEqual(-1, loguserdata.main()) self.assertEqual(-2, loguserdata.main()) self.m.VerifyAll()
def test_main_failed_ci_version(self, mock_get): # Setup mock_get.return_value = FakeCiVersion('0.0.0') # Test return_code = loguserdata.main() # Verify self.assertEqual(-1, return_code)
def test_main_fails(self): #fail on ci version pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.5.0')) #fail on execute cfn-userdata pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.7.0')) os.chmod('/var/lib/heat-cfntools/cfn-userdata', 0o700).AndReturn(None) subprocess.Popen(['/var/lib/heat-cfntools/cfn-userdata'], stderr=mox.IgnoreArg(), stdout=mox.IgnoreArg()).AndReturn(FakePOpen(-2)) self.m.ReplayAll() self.assertEqual(-1, loguserdata.main()) self.assertEqual(-2, loguserdata.main()) self.m.VerifyAll()
def test_main_failed_ci_version(self, mock_get): # Setup mock_get.return_value = FakeCiVersion('0.0.0') # Test return_code = loguserdata.main() # Verify self.assertEqual(-1, return_code)
def test_main_error_other(self): pkg_resources.get_distribution("cloud-init").AndReturn(FakeCiVersion("0.7.0")) os.chmod("/var/lib/heat-cfntools/cfn-userdata", 0700).AndReturn(None) subprocess.Popen( ["/var/lib/heat-cfntools/cfn-userdata"], stderr=mox.IgnoreArg(), stdout=mox.IgnoreArg() ).AndRaise(IOError("read failed")) self.m.ReplayAll() self.assertEqual(os.EX_SOFTWARE, loguserdata.main()) self.m.VerifyAll()
def test_main_error_other(self): log = StringIO.StringIO() pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.7.0')) os.chmod('/var/lib/heat-cfntools/cfn-userdata', 0700).AndReturn(None) subprocess.Popen(['/var/lib/heat-cfntools/cfn-userdata'], stderr=log, stdout=log).AndRaise(IOError("read failed")) self.m.ReplayAll() self.assertEqual(os.EX_SOFTWARE, loguserdata.main(log)) self.m.VerifyAll()
def test_main(self, mock_call, mock_chmod, mock_get): # Setup mock_get.return_value = FakeCiVersion('1.0') mock_call.return_value = 10 # Test return_code = loguserdata.main() # Verify expected_path = os.path.join(loguserdata.VAR_PATH, 'cfn-userdata') mock_chmod.assert_called_once_with(expected_path, int('700', 8)) self.assertEqual(10, return_code)
def test_main(self, mock_call, mock_chmod, mock_get): # Setup mock_get.return_value = FakeCiVersion('1.0') mock_call.return_value = 10 # Test return_code = loguserdata.main() # Verify expected_path = os.path.join(loguserdata.VAR_PATH, 'cfn-userdata') mock_chmod.assert_called_once_with(expected_path, int('700', 8)) self.assertEqual(10, return_code)
def test_main_script_empty(self): pkg_resources.get_distribution("cloud-init").AndReturn(FakeCiVersion("0.7.0")) os.chmod("/var/lib/heat-cfntools/cfn-userdata", 0o700).AndReturn(None) subprocess.Popen( ["/var/lib/heat-cfntools/cfn-userdata"], stderr=mox.IgnoreArg(), stdout=mox.IgnoreArg() ).AndRaise(OSError(errno.ENOEXEC, "empty script")) self.m.ReplayAll() self.assertIsNone(loguserdata.main()) self.m.VerifyAll()
def test_main_error_other(self): log = StringIO.StringIO() pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.7.0')) os.chmod('/var/lib/heat-cfntools/cfn-userdata', 0700).AndReturn(None) subprocess.Popen( ['/var/lib/heat-cfntools/cfn-userdata'], stderr=log, stdout=log).AndRaise(IOError("read failed")) self.m.ReplayAll() self.assertEqual(os.EX_SOFTWARE, loguserdata.main(log)) self.m.VerifyAll()
def test_main_os_error(self): pkg_resources.get_distribution("cloud-init").AndReturn(FakeCiVersion("0.7.0")) os.chmod("/var/lib/heat-cfntools/cfn-userdata", 0o700).AndReturn(None) subprocess.Popen( ["/var/lib/heat-cfntools/cfn-userdata"], stderr=mox.IgnoreArg(), stdout=mox.IgnoreArg() ).AndRaise(OSError(errno.ENOENT, "no such file")) self.m.ReplayAll() self.assertEqual(os.EX_OSERR, loguserdata.main()) self.m.VerifyAll()
def test_main_os_error(self): pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.7.0')) os.chmod('/var/lib/heat-cfntools/cfn-userdata', 0o700).AndReturn(None) subprocess.Popen(['/var/lib/heat-cfntools/cfn-userdata'], stderr=mox.IgnoreArg(), stdout=mox.IgnoreArg()).AndRaise( OSError(errno.ENOENT, "no such file")) self.m.ReplayAll() self.assertEqual(os.EX_OSERR, loguserdata.main()) self.m.VerifyAll()
def test_main_script_empty(self): pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.7.0')) subprocess.Popen( ['/var/lib/heat-cfntools/cfn-userdata'], stderr=mox.IgnoreArg(), stdout=mox.IgnoreArg()).AndRaise( OSError(errno.ENOEXEC, "empty script")) self.m.ReplayAll() self.assertEqual(None, loguserdata.main()) self.m.VerifyAll()
def test_main_script_empty(self): pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.7.0')) os.chmod('/var/lib/heat-cfntools/cfn-userdata', 0o700).AndReturn(None) subprocess.Popen(['/var/lib/heat-cfntools/cfn-userdata'], stderr=mox.IgnoreArg(), stdout=mox.IgnoreArg()).AndRaise( OSError(errno.ENOEXEC, "empty script")) self.m.ReplayAll() self.assertIsNone(loguserdata.main()) self.m.VerifyAll()
def test_main_os_error(self): log = StringIO.StringIO() pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.7.0')) os.chmod('/var/lib/heat-cfntools/cfn-userdata', 0700).AndReturn(None) subprocess.Popen( ['/var/lib/heat-cfntools/cfn-userdata'], stderr=log, stdout=log).AndRaise(OSError(errno.ENOENT, "no such file")) self.m.ReplayAll() self.assertEqual(os.EX_OSERR, loguserdata.main(log)) self.m.VerifyAll()
def test_main_script_empty(self): log = StringIO.StringIO() pkg_resources.get_distribution('cloud-init').AndReturn( FakeCiVersion('0.7.0')) os.chmod('/var/lib/heat-cfntools/cfn-userdata', 0700).AndReturn(None) subprocess.Popen(['/var/lib/heat-cfntools/cfn-userdata'], stderr=log, stdout=log).AndRaise( OSError(errno.ENOEXEC, "empty script")) self.m.ReplayAll() self.assertEqual(None, loguserdata.main(log)) self.m.VerifyAll()