mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			57 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
 | 
						|
import netrc, os, unittest, sys
 | 
						|
from test import support
 | 
						|
 | 
						|
TEST_NETRC = """
 | 
						|
 | 
						|
 #this is a comment
 | 
						|
#this is a comment
 | 
						|
# this is a comment
 | 
						|
 | 
						|
machine foo login log1 password pass1 account acct1
 | 
						|
machine bar login log1 password pass# account acct1
 | 
						|
 | 
						|
macdef macro1
 | 
						|
line1
 | 
						|
line2
 | 
						|
 | 
						|
macdef macro2
 | 
						|
line3
 | 
						|
line4
 | 
						|
 | 
						|
default login log2 password pass2
 | 
						|
 | 
						|
"""
 | 
						|
 | 
						|
temp_filename = support.TESTFN
 | 
						|
 | 
						|
class NetrcTestCase(unittest.TestCase):
 | 
						|
 | 
						|
    def setUp(self):
 | 
						|
        mode = 'w'
 | 
						|
        if sys.platform not in ['cygwin']:
 | 
						|
            mode += 't'
 | 
						|
        fp = open(temp_filename, mode)
 | 
						|
        fp.write(TEST_NETRC)
 | 
						|
        fp.close()
 | 
						|
        self.nrc = netrc.netrc(temp_filename)
 | 
						|
 | 
						|
    def tearDown(self):
 | 
						|
        os.unlink(temp_filename)
 | 
						|
 | 
						|
    def test_case_1(self):
 | 
						|
        self.assertEqual(self.nrc.hosts['foo'], ('log1', 'acct1', 'pass1'))
 | 
						|
        self.assertEqual(self.nrc.hosts['default'], ('log2', None, 'pass2'))
 | 
						|
 | 
						|
    def test_macros(self):
 | 
						|
        self.assertEqual(self.nrc.macros, {'macro1':['line1\n', 'line2\n'],
 | 
						|
                                           'macro2':['line3\n', 'line4\n']})
 | 
						|
 | 
						|
    def test_parses_passwords_with_hash_character(self):
 | 
						|
        self.assertEqual(self.nrc.hosts['bar'], ('log1', 'acct1', 'pass#'))
 | 
						|
 | 
						|
def test_main():
 | 
						|
    support.run_unittest(NetrcTestCase)
 | 
						|
 | 
						|
if __name__ == "__main__":
 | 
						|
    test_main()
 |