verify that corrupted manifests are detected as such
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								87937ecec9
							
						
					
				
			
			
				commit
				
					
						877d8fed30
					
				
			
		
					 1 changed files with 45 additions and 4 deletions
				
			
		
							
								
								
									
										49
									
								
								test.py
									
										
									
									
									
								
							
							
						
						
									
										49
									
								
								test.py
									
										
									
									
									
								
							|  | @ -42,12 +42,12 @@ class Exec(unittest.TestCase): | ||||||
|         self.shell_false = os.path.join(self.temp_dir, "shell_false") |         self.shell_false = os.path.join(self.temp_dir, "shell_false") | ||||||
|         self.shell_true  = os.path.join(self.temp_dir, "shell_true") |         self.shell_true  = os.path.join(self.temp_dir, "shell_true") | ||||||
| 
 | 
 | ||||||
|         true_fd = open(self.shell_false, "w") |         true_fd = open(self.shell_true, "w") | ||||||
|         true_fd.writelines(["!/bin/sh", "/bin/true"]) |         true_fd.writelines(["#!/bin/sh", "/bin/true"]) | ||||||
|         true_fd.close() |         true_fd.close() | ||||||
|          |          | ||||||
|         false_fd = open(self.shell_false, "w") |         false_fd = open(self.shell_false, "w") | ||||||
|         false_fd.writelines(["!/bin/sh", "/bin/false"]) |         false_fd.writelines(["#!/bin/sh", "/bin/false"]) | ||||||
|         false_fd.close() |         false_fd.close() | ||||||
| 
 | 
 | ||||||
|     def tearDown(self): |     def tearDown(self): | ||||||
|  | @ -55,7 +55,7 @@ class Exec(unittest.TestCase): | ||||||
|          |          | ||||||
|     def test_local_success_shell(self): |     def test_local_success_shell(self): | ||||||
|         try: |         try: | ||||||
|             cdist.shell_run_or_debug_fail(self.shell_true, [self.shell_true]) |             cdist.exec.shell_run_or_debug_fail(self.shell_true, [self.shell_true]) | ||||||
|         except cdist.Error: |         except cdist.Error: | ||||||
|             failed = True |             failed = True | ||||||
|         else: |         else: | ||||||
|  | @ -80,6 +80,47 @@ class Exec(unittest.TestCase): | ||||||
|     def test_local_fail(self): |     def test_local_fail(self): | ||||||
|         self.assertRaises(cdist.Error, cdist.exec.run_or_fail, ["/bin/false"]) |         self.assertRaises(cdist.Error, cdist.exec.run_or_fail, ["/bin/false"]) | ||||||
| 
 | 
 | ||||||
|  | class Config(unittest.TestCase): | ||||||
|  |     def setUp(self): | ||||||
|  |         self.temp_dir = tempfile.mkdtemp() | ||||||
|  |         self.init_manifest = os.path.join(self.temp_dir, "manifest") | ||||||
|  |         self.config = cdist.config.Config("localhost", | ||||||
|  |                             initial_manifest=self.init_manifest) | ||||||
|  | 
 | ||||||
|  |     def test_initial_manifest_different_parameter(self): | ||||||
|  |         manifest_fd = open(self.init_manifest, "w") | ||||||
|  |         manifest_fd.writelines(["#!/bin/sh", | ||||||
|  |             "__file " + self.temp_dir + "--mode 0700", | ||||||
|  |             "__file " + self.temp_dir + "--mode 0600", | ||||||
|  |             ]) | ||||||
|  |         manifest_fd.close() | ||||||
|  | 
 | ||||||
|  |         self.assertRaises(cdist.Error, self.config.run_initial_manifest()) | ||||||
|  | 
 | ||||||
|  |     def test_initial_manifest_parameter_added(self): | ||||||
|  |         manifest_fd = open(self.init_manifest, "w") | ||||||
|  |         manifest_fd.writelines(["#!/bin/sh", | ||||||
|  |             "__file " + self.temp_dir, | ||||||
|  |             "__file " + self.temp_dir + "--mode 0600", | ||||||
|  |             ]) | ||||||
|  |         manifest_fd.close() | ||||||
|  | 
 | ||||||
|  |         self.assertRaises(cdist.Error, self.config.run_initial_manifest()) | ||||||
|  | 
 | ||||||
|  |     def test_initial_manifest_parameter_removed(self): | ||||||
|  |         manifest_fd = open(self.init_manifest, "w") | ||||||
|  |         manifest_fd.writelines(["#!/bin/sh", | ||||||
|  |             "__file " + self.temp_dir + "--mode 0600", | ||||||
|  |             "__file " + self.temp_dir, | ||||||
|  |             ]) | ||||||
|  |         manifest_fd.close() | ||||||
|  | 
 | ||||||
|  |         self.assertRaises(cdist.Error, self.config.run_initial_manifest()) | ||||||
|  | 
 | ||||||
|  | # Todo: | ||||||
|  | # fail if parameter in manifest given are different | ||||||
|  | # fail if parameter in manifest given are absent once/given once | ||||||
|  | # succeed if same parameter is specified twice | ||||||
| 
 | 
 | ||||||
| if __name__ == '__main__': | if __name__ == '__main__': | ||||||
|     unittest.main() |     unittest.main() | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue