| 
									
										
										
										
											2008-03-19 16:50:13 +00:00
										 |  |  | from test import test_support | 
					
						
							| 
									
										
										
										
											2006-10-29 19:24:43 +00:00
										 |  |  | import unittest | 
					
						
							| 
									
										
										
										
											1996-12-11 01:01:38 +00:00
										 |  |  | import nis | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-10-29 19:24:43 +00:00
										 |  |  | class NisTests(unittest.TestCase): | 
					
						
							|  |  |  |     def test_maps(self): | 
					
						
							|  |  |  |         try: | 
					
						
							|  |  |  |             maps = nis.maps() | 
					
						
							|  |  |  |         except nis.error, msg: | 
					
						
							|  |  |  |             # NIS is probably not active, so this test isn't useful | 
					
						
							| 
									
										
										
										
											2008-03-19 16:50:13 +00:00
										 |  |  |             if test_support.verbose: | 
					
						
							|  |  |  |                 print "Test Skipped:", msg | 
					
						
							|  |  |  |             # Can't raise TestSkipped as regrtest only recognizes the exception | 
					
						
							|  |  |  |             #   import time. | 
					
						
							| 
									
										
										
										
											2006-10-29 19:24:43 +00:00
										 |  |  |             return | 
					
						
							|  |  |  |         try: | 
					
						
							|  |  |  |             # On some systems, this map is only accessible to the | 
					
						
							|  |  |  |             # super user | 
					
						
							|  |  |  |             maps.remove("passwd.adjunct.byname") | 
					
						
							|  |  |  |         except ValueError: | 
					
						
							|  |  |  |             pass | 
					
						
							| 
									
										
										
										
											1997-05-15 18:27:49 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-10-29 19:24:43 +00:00
										 |  |  |         done = 0 | 
					
						
							|  |  |  |         for nismap in maps: | 
					
						
							|  |  |  |             mapping = nis.cat(nismap) | 
					
						
							|  |  |  |             for k, v in mapping.items(): | 
					
						
							|  |  |  |                 if not k: | 
					
						
							|  |  |  |                     continue | 
					
						
							|  |  |  |                 if nis.match(k, nismap) != v: | 
					
						
							|  |  |  |                     self.fail("NIS match failed for key `%s' in map `%s'" % (k, nismap)) | 
					
						
							|  |  |  |                 else: | 
					
						
							|  |  |  |                     # just test the one key, otherwise this test could take a | 
					
						
							|  |  |  |                     # very long time | 
					
						
							|  |  |  |                     done = 1 | 
					
						
							|  |  |  |                     break | 
					
						
							|  |  |  |             if done: | 
					
						
							|  |  |  |                 break | 
					
						
							| 
									
										
										
										
											2006-10-22 13:45:13 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-10-29 19:24:43 +00:00
										 |  |  | def test_main(): | 
					
						
							| 
									
										
										
										
											2008-03-19 16:50:13 +00:00
										 |  |  |     test_support.run_unittest(NisTests) | 
					
						
							| 
									
										
										
										
											2006-10-29 19:24:43 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | if __name__ == '__main__': | 
					
						
							|  |  |  |     test_main() |