blob: 21ff88c8e13480d5b03d0bc99a189e5257de29db [file] [log] [blame]
Andrew M. Kuchling76fffd82002-03-22 02:48:57 +00001
Jason Tishler0fd54d82003-08-11 12:13:14 +00002import netrc, os, unittest, sys
Benjamin Petersonee8712c2008-05-20 21:35:26 +00003from test import support
Andrew M. Kuchling76fffd82002-03-22 02:48:57 +00004
5TEST_NETRC = """
6machine foo login log1 password pass1 account acct1
7
8macdef macro1
9line1
10line2
11
12macdef macro2
13line3
14line4
15
Tim Peters863ac442002-04-16 01:38:40 +000016default login log2 password pass2
Andrew M. Kuchling76fffd82002-03-22 02:48:57 +000017
18"""
19
Benjamin Petersonee8712c2008-05-20 21:35:26 +000020temp_filename = support.TESTFN
Andrew M. Kuchling76fffd82002-03-22 02:48:57 +000021
22class NetrcTestCase(unittest.TestCase):
23
Guido van Rossumc12a8132007-10-26 04:29:23 +000024 def setUp(self):
Jason Tishler0fd54d82003-08-11 12:13:14 +000025 mode = 'w'
26 if sys.platform not in ['cygwin']:
27 mode += 't'
28 fp = open(temp_filename, mode)
Andrew M. Kuchling76fffd82002-03-22 02:48:57 +000029 fp.write(TEST_NETRC)
30 fp.close()
Tim Peters863ac442002-04-16 01:38:40 +000031
Guido van Rossumc12a8132007-10-26 04:29:23 +000032 def tearDown(self):
Andrew M. Kuchling76fffd82002-03-22 02:48:57 +000033 os.unlink(temp_filename)
34
35 def test_case_1(self):
Guido van Rossumc12a8132007-10-26 04:29:23 +000036 nrc = netrc.netrc(temp_filename)
Benjamin Petersonc9c0f202009-06-30 23:06:06 +000037 self.assertTrue(nrc.macros == {'macro1':['line1\n', 'line2\n'],
Andrew M. Kuchling76fffd82002-03-22 02:48:57 +000038 'macro2':['line3\n', 'line4\n']}
39 )
Benjamin Petersonc9c0f202009-06-30 23:06:06 +000040 self.assertTrue(nrc.hosts['foo'] == ('log1', 'acct1', 'pass1'))
41 self.assertTrue(nrc.hosts['default'] == ('log2', None, 'pass2'))
Tim Peters863ac442002-04-16 01:38:40 +000042
Neal Norwitz996acf12003-02-17 14:51:41 +000043def test_main():
Benjamin Petersonee8712c2008-05-20 21:35:26 +000044 support.run_unittest(NetrcTestCase)
Tim Peters863ac442002-04-16 01:38:40 +000045
Andrew M. Kuchling76fffd82002-03-22 02:48:57 +000046if __name__ == "__main__":
Neal Norwitz996acf12003-02-17 14:51:41 +000047 test_main()