2002-03-21 22:48:57 -04:00
|
|
|
|
2003-08-11 09:13:14 -03:00
|
|
|
import netrc, os, unittest, sys
|
2002-07-23 16:04:11 -03:00
|
|
|
from test import test_support
|
2002-03-21 22:48:57 -04:00
|
|
|
|
|
|
|
TEST_NETRC = """
|
2010-12-01 23:16:23 -04:00
|
|
|
|
|
|
|
#this is a comment
|
|
|
|
#this is a comment
|
|
|
|
# this is a comment
|
|
|
|
|
2002-03-21 22:48:57 -04:00
|
|
|
machine foo login log1 password pass1 account acct1
|
2010-12-01 23:16:23 -04:00
|
|
|
machine bar login log1 password pass# account acct1
|
2002-03-21 22:48:57 -04:00
|
|
|
|
|
|
|
macdef macro1
|
|
|
|
line1
|
|
|
|
line2
|
|
|
|
|
|
|
|
macdef macro2
|
|
|
|
line3
|
|
|
|
line4
|
|
|
|
|
2002-04-15 22:38:40 -03:00
|
|
|
default login log2 password pass2
|
2002-03-21 22:48:57 -04:00
|
|
|
|
|
|
|
"""
|
|
|
|
|
2002-08-09 13:38:32 -03:00
|
|
|
temp_filename = test_support.TESTFN
|
2002-03-21 22:48:57 -04:00
|
|
|
|
|
|
|
class NetrcTestCase(unittest.TestCase):
|
|
|
|
|
|
|
|
def setUp (self):
|
2003-08-11 09:13:14 -03:00
|
|
|
mode = 'w'
|
|
|
|
if sys.platform not in ['cygwin']:
|
|
|
|
mode += 't'
|
|
|
|
fp = open(temp_filename, mode)
|
2002-03-21 22:48:57 -04:00
|
|
|
fp.write(TEST_NETRC)
|
|
|
|
fp.close()
|
2010-12-01 23:16:23 -04:00
|
|
|
self.nrc = netrc.netrc(temp_filename)
|
2002-04-15 22:38:40 -03:00
|
|
|
|
2002-03-21 22:48:57 -04:00
|
|
|
def tearDown (self):
|
|
|
|
os.unlink(temp_filename)
|
|
|
|
|
|
|
|
def test_case_1(self):
|
2010-12-01 23:16:23 -04:00
|
|
|
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#'))
|
2002-04-15 22:38:40 -03:00
|
|
|
|
2003-02-17 10:51:41 -04:00
|
|
|
def test_main():
|
|
|
|
test_support.run_unittest(NetrcTestCase)
|
2002-04-15 22:38:40 -03:00
|
|
|
|
2002-03-21 22:48:57 -04:00
|
|
|
if __name__ == "__main__":
|
2003-02-17 10:51:41 -04:00
|
|
|
test_main()
|