blob: b536255aba3d36126159c06ffe94f0b64324bbfb [file] [log] [blame]
Andrew M. Kuchling76fffd82002-03-22 02:48:57 +00001
Jason Tishler0fd54d82003-08-11 12:13:14 +00002import netrc, os, unittest, sys
Barry Warsaw04f357c2002-07-23 19:04:11 +00003from test import test_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
Guido van Rossum3b0a3292002-08-09 16:38:32 +000020temp_filename = test_support.TESTFN
Andrew M. Kuchling76fffd82002-03-22 02:48:57 +000021
22class NetrcTestCase(unittest.TestCase):
23
24 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()
31 self.netrc = netrc.netrc(temp_filename)
Tim Peters863ac442002-04-16 01:38:40 +000032
Andrew M. Kuchling76fffd82002-03-22 02:48:57 +000033 def tearDown (self):
34 del self.netrc
35 os.unlink(temp_filename)
36
37 def test_case_1(self):
38 self.assert_(self.netrc.macros == {'macro1':['line1\n', 'line2\n'],
39 'macro2':['line3\n', 'line4\n']}
40 )
41 self.assert_(self.netrc.hosts['foo'] == ('log1', 'acct1', 'pass1'))
42 self.assert_(self.netrc.hosts['default'] == ('log2', None, 'pass2'))
Tim Peters863ac442002-04-16 01:38:40 +000043
Neal Norwitz996acf12003-02-17 14:51:41 +000044def test_main():
45 test_support.run_unittest(NetrcTestCase)
Tim Peters863ac442002-04-16 01:38:40 +000046
Andrew M. Kuchling76fffd82002-03-22 02:48:57 +000047if __name__ == "__main__":
Neal Norwitz996acf12003-02-17 14:51:41 +000048 test_main()