17db96d56Sopenharmony_cifrom test import support 27db96d56Sopenharmony_cifrom test.support import import_helper 37db96d56Sopenharmony_ciimport unittest 47db96d56Sopenharmony_ciimport warnings 57db96d56Sopenharmony_ci 67db96d56Sopenharmony_ci 77db96d56Sopenharmony_ci# Skip test if nis module does not exist. 87db96d56Sopenharmony_ciwith warnings.catch_warnings(): 97db96d56Sopenharmony_ci warnings.simplefilter("ignore", DeprecationWarning) 107db96d56Sopenharmony_ci nis = import_helper.import_module('nis') 117db96d56Sopenharmony_ci 127db96d56Sopenharmony_ci 137db96d56Sopenharmony_ciclass NisTests(unittest.TestCase): 147db96d56Sopenharmony_ci def test_maps(self): 157db96d56Sopenharmony_ci try: 167db96d56Sopenharmony_ci maps = nis.maps() 177db96d56Sopenharmony_ci except nis.error as msg: 187db96d56Sopenharmony_ci # NIS is probably not active, so this test isn't useful 197db96d56Sopenharmony_ci self.skipTest(str(msg)) 207db96d56Sopenharmony_ci try: 217db96d56Sopenharmony_ci # On some systems, this map is only accessible to the 227db96d56Sopenharmony_ci # super user 237db96d56Sopenharmony_ci maps.remove("passwd.adjunct.byname") 247db96d56Sopenharmony_ci except ValueError: 257db96d56Sopenharmony_ci pass 267db96d56Sopenharmony_ci 277db96d56Sopenharmony_ci done = 0 287db96d56Sopenharmony_ci for nismap in maps: 297db96d56Sopenharmony_ci mapping = nis.cat(nismap) 307db96d56Sopenharmony_ci for k, v in mapping.items(): 317db96d56Sopenharmony_ci if not k: 327db96d56Sopenharmony_ci continue 337db96d56Sopenharmony_ci if nis.match(k, nismap) != v: 347db96d56Sopenharmony_ci self.fail("NIS match failed for key `%s' in map `%s'" % (k, nismap)) 357db96d56Sopenharmony_ci else: 367db96d56Sopenharmony_ci # just test the one key, otherwise this test could take a 377db96d56Sopenharmony_ci # very long time 387db96d56Sopenharmony_ci done = 1 397db96d56Sopenharmony_ci break 407db96d56Sopenharmony_ci if done: 417db96d56Sopenharmony_ci break 427db96d56Sopenharmony_ci 437db96d56Sopenharmony_ciif __name__ == '__main__': 447db96d56Sopenharmony_ci unittest.main() 45