Пример #1
0
    def test_encode_decode_ok(self):
        DECODED = b'abbcccddddeeeee'
        ENCODED = b'|a1|b2|c3|d4|e5'

        with tempfile.NamedTemporaryFile() as fout:

            with tempfile.NamedTemporaryFile() as fin:

                fin.write(DECODED)
                fin.flush()

                __main__.main((
                    'dummy',
                    'encode',
                    fin.name,
                    fout.name,
                ))

                fout.seek(0)
                self.assertEqual(ENCODED, fout.read())

            with tempfile.NamedTemporaryFile() as fout2:

                __main__.main((
                    'dummy',
                    'decode',
                    fout.name,
                    fout2.name,
                ))

                fout2.seek(0)
                self.assertEqual(DECODED, fout2.read())
Пример #2
0
    def test_invalid_spearator(self):

        for separator in (' ', '3', 'aa', '', '\n'):
            with self.assertRaises(SystemExit) as cm:
                __main__.main((
                    'dummy',
                    'encode',
                    '--separator',
                    separator,
                    os.devnull,
                    os.devnull,
                ))
            self.assertNotEqual(0, cm.exception.code)
Пример #3
0
    def test_invalid_decode_spearator(self):

        ENCODED = b'aa2ab2'

        with tempfile.NamedTemporaryFile() as fin:

            fin.write(ENCODED)
            fin.flush()

            with self.assertRaisesRegex(RuntimeError, r'separator'):
                __main__.main((
                    'dummy',
                    'decode',
                    '--separator',
                    '|',
                    fin.name,
                    '/dev/null',
                ))
Пример #4
0
    def test_valid_decode_spearator(self):

        DECODED = b'aabb'
        ENCODED = b'aa2ab2'

        with tempfile.NamedTemporaryFile() as fout:
            with tempfile.NamedTemporaryFile() as fin:

                fin.write(ENCODED)
                fin.flush()

                __main__.main((
                    'dummy',
                    'decode',
                    fin.name,
                    fout.name,
                ))

                fout.seek(0)
                self.assertEqual(DECODED, fout.read())
Пример #5
0
    def test_valid_encode_spearator(self):

        DECODED = b'abbcccddddeeeee'

        for separator in ('a', '|'):
            with tempfile.NamedTemporaryFile() as fout:
                with tempfile.NamedTemporaryFile() as fin:

                    fin.write(DECODED)
                    fin.flush()

                    __main__.main((
                        'dummy',
                        'encode',
                        '--separator',
                        separator,
                        fin.name,
                        fout.name,
                    ))

                    fout.seek(0)
                    self.assertEqual(separator.encode('ascii'), fout.read(1))
Пример #6
0
 def test_invalid_command(self):
     with self.assertRaises(SystemExit) as cm:
         __main__.main(('dummy', 'xxx'))
     self.assertNotEqual(0, cm.exception.code)
Пример #7
0
 def test_sanity(self):
     with self.assertRaises(SystemExit) as cm:
         __main__.main(('dummy', '--version'))
     self.assertEqual(0, cm.exception.code)