コード例 #1
0
    def test_with_ebcdic_file_only(self):
        args = self.parser.parse_args([
            "extract", "-d", ".".join([TEST_EBCDIC_IPM_FILENAME, "1014block"])
        ])
        _main(args)
        with open(".".join([TEST_EBCDIC_IPM_FILENAME, "1014block"]) + ".csv",
                  'r') as csv_file:
            csv_file_lines = csv_file.readlines()
            print(csv_file_lines)

        # check there are the right number of lines
        # Py26 does not support getheader so will have one less line
        if sys.version_info[0] == 2 and sys.version_info[1] == 6:
            self.assertEqual(len(csv_file_lines), 5)
        else:
            self.assertEqual(len(csv_file_lines), 6)

        # same issue here - 2.6 has no header
        start_line = 1
        if sys.version_info[0] == 2 and sys.version_info[1] == 6:
            start_line = 0
        else:
            self.assertEqual(csv_file_lines[0], HEADER_LINE)

        for line in range(start_line, start_line + 5):
            self.assertEqual(csv_file_lines[line], DETAIL_LINE)
コード例 #2
0
    def run_file_both_directions(self, file_postfix, option):
        print("************ ASCII IN ****************")
        with open(".".join([TEST_ASCII_IPM_FILENAME, file_postfix]),
                  "rb") as ascii_file:
            ascii_data = ascii_file.read()
            hexdump.hexdump(ascii_data)

        args = self.parser.parse_args([
            "convert", "-s", "ascii", option,
            ".".join([TEST_ASCII_IPM_FILENAME, file_postfix])
        ])
        _main(args)

        print("************ EBCDIC IN ****************")
        with open(".".join([TEST_ASCII_IPM_FILENAME, file_postfix]) + ".out",
                  "rb") as ebcdic_file:
            ebcdic_data = ebcdic_file.read()
            hexdump.hexdump(ebcdic_data)

        args = self.parser.parse_args([
            "convert", option,
            ".".join([TEST_ASCII_IPM_FILENAME, file_postfix]) + ".out"
        ])
        _main(args)

        with open(
                ".".join([TEST_ASCII_IPM_FILENAME, file_postfix]) + ".out.out",
                "rb") as ascii2_file:
            ascii2_data = ascii2_file.read()

        self.assertEqual(ascii2_data, ascii_data)
コード例 #3
0
ファイル: test_mideu.py プロジェクト: adelosa/mciutil
    def test_with_ascii_file_only(self):
        print("************ ASCII IN ****************")
        with open(TEST_ASCII_IPM_FILENAME, "rb") as ascii_file:
            ascii_data = ascii_file.read()
            hexdump.hexdump(ascii_data)

        args = self.parser.parse_args(["convert", "-s", "ascii", TEST_ASCII_IPM_FILENAME])
        _main(args)

        # Convert file with DE55 in it
        args = self.parser.parse_args(["convert", "-s", "ascii", "build/test/test_ascii_de55_ipm.in"])
        _main(args)

        print("************ EBCDIC IN ****************")
        with open(TEST_ASCII_IPM_FILENAME + ".out", "rb") as ebcdic_file:
            ebcdic_data = ebcdic_file.read()
            hexdump.hexdump(ebcdic_data)

        args = self.parser.parse_args(["convert", TEST_ASCII_IPM_FILENAME + ".out"])
        _main(args)

        with open(TEST_ASCII_IPM_FILENAME + ".out.out", "rb") as ascii2_file:
            ascii2_data = ascii2_file.read()

        self.assertEqual(ascii2_data, ascii_data)
コード例 #4
0
    def test_with_ascii_file_only(self):
        print("************ ASCII IN ****************")
        with open(TEST_ASCII_IPM_FILENAME, "rb") as ascii_file:
            ascii_data = ascii_file.read()
            hexdump.hexdump(ascii_data)

        args = self.parser.parse_args(
            ["convert", "-s", "ascii", TEST_ASCII_IPM_FILENAME])
        _main(args)

        # Convert file with DE55 in it
        args = self.parser.parse_args(
            ["convert", "-s", "ascii", "build/test/test_ascii_de55_ipm.in"])
        _main(args)

        print("************ EBCDIC IN ****************")
        with open(TEST_ASCII_IPM_FILENAME + ".out", "rb") as ebcdic_file:
            ebcdic_data = ebcdic_file.read()
            hexdump.hexdump(ebcdic_data)

        args = self.parser.parse_args(
            ["convert", TEST_ASCII_IPM_FILENAME + ".out"])
        _main(args)

        with open(TEST_ASCII_IPM_FILENAME + ".out.out", "rb") as ascii2_file:
            ascii2_data = ascii2_file.read()

        self.assertEqual(ascii2_data, ascii_data)
コード例 #5
0
ファイル: test_mideu.py プロジェクト: adelosa/mciutil
    def test_with_ebcdic_file_only(self):
        args = self.parser.parse_args(["extract", "-d", TEST_EBCDIC_IPM_FILENAME])
        _main(args)
        with open(TEST_EBCDIC_IPM_FILENAME + ".csv", "r") as csv_file:
            csv_file_lines = csv_file.readlines()
            print(csv_file_lines)

        # check there are the right number of lines
        # Py26 does not support getheader so will have one less line
        if sys.version_info[0] == 2 and sys.version_info[1] == 6:
            self.assertEqual(len(csv_file_lines), 5)
        else:
            self.assertEqual(len(csv_file_lines), 6)

        # same issue here - 2.6 has no header
        start_line = 1
        if sys.version_info[0] == 2 and sys.version_info[1] == 6:
            start_line = 0
        else:
            self.assertEqual(csv_file_lines[0], HEADER_LINE)

        for line in range(start_line, start_line + 5):
            self.assertEqual(csv_file_lines[line], DETAIL_LINE)
コード例 #6
0
 def test_with_bad_filename(self):
     test_file = 'abc.txt'
     args = self.parser.parse_args(["extract", test_file])
     self.assertRaises(SystemExit, lambda: _main(args))
コード例 #7
0
 def test_enter_with_no_subcommand(self):
     """
     try calling standard entry without sub command.. should return help text
     :return:
     """
     _main(None)
コード例 #8
0
 def test_de55_file(self):
     # Convert file with DE55 in it
     args = self.parser.parse_args(
         ["convert", "-s", "ascii", "build/test/test_ascii_de55_ipm.in"])
     _main(args)
コード例 #9
0
 def test_with_bad_ascii_file(self):
     args = self.parser.parse_args(
         ["extract", "-s", "ascii", "build/test/test_bad_ascii_ipm.in"])
     self.assertRaises(Exception, lambda: _main(args))
コード例 #10
0
 def test_with_ascii_de55_values(self):
     args = self.parser.parse_args(
         ["extract", "-s", "ascii", "build/test/test_ascii_de55_ipm.in"])
     _main(args)
コード例 #11
0
ファイル: test_mideu.py プロジェクト: adelosa/mciutil
 def test_with_bad_filename(self):
     test_file = "abc.txt"
     args = self.parser.parse_args(["extract", test_file])
     self.assertRaises(SystemExit, lambda: _main(args))
コード例 #12
0
ファイル: test_mideu.py プロジェクト: adelosa/mciutil
 def test_with_ascii_de55_values(self):
     args = self.parser.parse_args(["extract", "-s", "ascii", "build/test/test_ascii_de55_ipm.in"])
     _main(args)