

import netrc, os, unittest, sys

from test import test_support



TEST_NETRC = """

machine foo login log1 password pass1 account acct1



macdef macro1

line1

line2



macdef macro2

line3

line4



default login log2 password pass2



"""



temp_filename = test_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.netrc = netrc.netrc(temp_filename)



    def tearDown (self):

        del self.netrc

        os.unlink(temp_filename)



    def test_case_1(self):

        self.assert_(self.netrc.macros == {'macro1':['line1\n', 'line2\n'],

                                           'macro2':['line3\n', 'line4\n']}

                                           )

        self.assert_(self.netrc.hosts['foo'] == ('log1', 'acct1', 'pass1'))

        self.assert_(self.netrc.hosts['default'] == ('log2', None, 'pass2'))



def test_main():

    test_support.run_unittest(NetrcTestCase)



if __name__ == "__main__":

    test_main()

