forked from ungleich-public/cdist
		
	write first tests for the exec module
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								7882b4a3ac
							
						
					
				
			
			
				commit
				
					
						24b8a57df5
					
				
			
		
					 1 changed files with 35 additions and 9 deletions
				
			
		
							
								
								
									
										44
									
								
								test.py
									
										
									
									
									
								
							
							
						
						
									
										44
									
								
								test.py
									
										
									
									
									
								
							| 
						 | 
					@ -23,6 +23,8 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import os
 | 
					import os
 | 
				
			||||||
import sys
 | 
					import sys
 | 
				
			||||||
 | 
					import shutil
 | 
				
			||||||
 | 
					import tempfile
 | 
				
			||||||
import unittest
 | 
					import unittest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sys.path.insert(0, os.path.abspath(
 | 
					sys.path.insert(0, os.path.abspath(
 | 
				
			||||||
| 
						 | 
					@ -33,6 +35,38 @@ import cdist.config
 | 
				
			||||||
import cdist.exec
 | 
					import cdist.exec
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Exec(unittest.TestCase):
 | 
					class Exec(unittest.TestCase):
 | 
				
			||||||
 | 
					    def setUp(self):
 | 
				
			||||||
 | 
					        """Create shell code and co."""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        self.temp_dir = tempfile.mkdtemp()
 | 
				
			||||||
 | 
					        self.shell_false = os.path.join(self.temp_dir, "shell_false")
 | 
				
			||||||
 | 
					        self.shell_true  = os.path.join(self.temp_dir, "shell_true")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        true_fd = open(self.shell_false, "w")
 | 
				
			||||||
 | 
					        true_fd.writelines(["!/bin/sh", "/bin/true"])
 | 
				
			||||||
 | 
					        true_fd.close()
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        false_fd = open(self.shell_false, "w")
 | 
				
			||||||
 | 
					        false_fd.writelines(["!/bin/sh", "/bin/false"])
 | 
				
			||||||
 | 
					        false_fd.close()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def tearDown(self):
 | 
				
			||||||
 | 
					        shutil.rmtree(self.temp_dir)
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					    def test_local_success_shell(self):
 | 
				
			||||||
 | 
					        try:
 | 
				
			||||||
 | 
					            cdist.shell_run_or_debug_fail(self.shell_true, [self.shell_true])
 | 
				
			||||||
 | 
					        except cdist.Error:
 | 
				
			||||||
 | 
					            failed = True
 | 
				
			||||||
 | 
					        else:
 | 
				
			||||||
 | 
					            failed = False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        self.assertFalse(failed)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_local_fail_shell(self):
 | 
				
			||||||
 | 
					        self.assertRaises(cdist.Error, cdist.exec.shell_run_or_debug_fail,
 | 
				
			||||||
 | 
					            self.shell_false, [self.shell_false])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def test_local_success(self):
 | 
					    def test_local_success(self):
 | 
				
			||||||
        try:
 | 
					        try:
 | 
				
			||||||
            cdist.exec.run_or_fail(["/bin/true"])
 | 
					            cdist.exec.run_or_fail(["/bin/true"])
 | 
				
			||||||
| 
						 | 
					@ -44,15 +78,7 @@ class Exec(unittest.TestCase):
 | 
				
			||||||
        self.assertFalse(failed)
 | 
					        self.assertFalse(failed)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def test_local_fail(self):
 | 
					    def test_local_fail(self):
 | 
				
			||||||
        try:
 | 
					        self.assertRaises(cdist.Error, cdist.exec.run_or_fail, ["/bin/false"])
 | 
				
			||||||
            cdist.exec.run_or_fail(["/bin/false"])
 | 
					 | 
				
			||||||
        except cdist.Error:
 | 
					 | 
				
			||||||
            failed = True
 | 
					 | 
				
			||||||
        else:
 | 
					 | 
				
			||||||
            failed = False
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        self.assertTrue(failed)
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if __name__ == '__main__':
 | 
					if __name__ == '__main__':
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue