test_config.py (2904B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\stdlib\distutils\tests\test_config.py 2 import sys 3 import os 4 import unittest 5 import tempfile 6 import shutil 7 from distutils.core import PyPIRCCommand 8 from distutils.core import Distribution 9 from distutils.log import set_threshold 10 from distutils.log import WARN 11 from distutils.tests import support 12 PYPIRC = '[distutils]\n\nindex-servers =\n server1\n server2\n\n[server1]\nusername:me\npassword:secret\n\n[server2]\nusername:meagain\npassword: secret\nrealm:acme\nrepository:http://another.pypi/\n' 13 PYPIRC_OLD = '[server-login]\nusername:tarek\npassword:secret\n' 14 WANTED = '[distutils]\nindex-servers =\n pypi\n\n[pypi]\nusername:tarek\npassword:xxx\n' 15 16 class PyPIRCCommandTestCase(support.TempdirManager, support.LoggingSilencer, support.EnvironGuard, unittest.TestCase): 17 18 def setUp(self): 19 super(PyPIRCCommandTestCase, self).setUp() 20 self.tmp_dir = self.mkdtemp() 21 os.environ['HOME'] = self.tmp_dir 22 self.rc = os.path.join(self.tmp_dir, '.pypirc') 23 self.dist = Distribution() 24 25 class command(PyPIRCCommand): 26 27 def __init__(self, dist): 28 PyPIRCCommand.__init__(self, dist) 29 30 def initialize_options(self): 31 pass 32 33 finalize_options = initialize_options 34 35 self._cmd = command 36 self.old_threshold = set_threshold(WARN) 37 38 def tearDown(self): 39 set_threshold(self.old_threshold) 40 super(PyPIRCCommandTestCase, self).tearDown() 41 42 def test_server_registration(self): 43 self.write_file(self.rc, PYPIRC) 44 cmd = self._cmd(self.dist) 45 config = cmd._read_pypirc() 46 config = config.items() 47 config.sort() 48 waited = [('password', 'secret'), 49 ('realm', 'pypi'), 50 ('repository', 'http://pypi.python.org/pypi'), 51 ('server', 'server1'), 52 ('username', 'me')] 53 self.assertEqual(config, waited) 54 self.write_file(self.rc, PYPIRC_OLD) 55 config = cmd._read_pypirc() 56 config = config.items() 57 config.sort() 58 waited = [('password', 'secret'), 59 ('realm', 'pypi'), 60 ('repository', 'http://pypi.python.org/pypi'), 61 ('server', 'server-login'), 62 ('username', 'tarek')] 63 self.assertEqual(config, waited) 64 65 def test_server_empty_registration(self): 66 cmd = self._cmd(self.dist) 67 rc = cmd._get_rc_file() 68 self.assertTrue(not os.path.exists(rc)) 69 cmd._store_pypirc('tarek', 'xxx') 70 self.assertTrue(os.path.exists(rc)) 71 f = open(rc) 72 try: 73 content = f.read() 74 self.assertEqual(content, WANTED) 75 finally: 76 f.close() 77 78 79 def test_suite(): 80 return unittest.makeSuite(PyPIRCCommandTestCase) 81 82 83 if __name__ == '__main__': 84 unittest.main(defaultTest='test_suite')