view test/test_anypy.py @ 6569:3ae0c0fb2d08

Fix test_new_file_via_rest This test was failing under python2. The cgi.py module was calling readline(1<<16). I was using the wasgiref/validate.py validator to make sure the wsgi protocol was correct. The validator replaces the normal readline with it's own wrapper. The wrapper doesn't support the max bytes to read value. The same module/wrapper in python 3 fixed this bug. So fixed this by disabling the validator under python2. Keeping it on python3 so we get its benefit.
author John Rouillard <rouilj@ieee.org>
date Tue, 21 Dec 2021 02:28:25 -0500
parents e4db9d0b85c7
children c65e0a725c88
line wrap: on
line source

"""Random tests for anypy modules"""


import unittest
from roundup.anypy.strings import repr_export, eval_import

import sys
_py3 = sys.version_info[0] > 2

class StringsTest(unittest.TestCase):

    def test_import_params(self):
        """ issue2551170 - handle long int in history/journal
            params tuple
        """
        # python2 export with id as number
        val = eval_import("('issue', 2345L, 'status')")
        self.assertSequenceEqual(val, ('issue', 2345, 'status'))

        # python3 export with id as number
        val = eval_import("('issue', 2345, 'status')")
        self.assertSequenceEqual(val, ('issue', 2345, 'status'))

        # python2 or python3 export with id as string
        val = eval_import("('issue', '2345', 'status')")
        self.assertSequenceEqual(val, ('issue', '2345', 'status'))

    def test_export_params(self):
        """ issue2551170 - handle long int in history/journal
            params tuple
        """
        # python2 export with id as number
        if _py3:
            val = repr_export(('issue', 2345, 'status'))
            self.assertEqual(val, "('issue', 2345, 'status')")
        else:
            val = repr_export(('issue', long(2345), 'status'))
            self.assertEqual(val, "('issue', 2345L, 'status')")

        # python2 or python3 export with id as string
        val = repr_export(('issue', '2345', 'status'))
        self.assertEqual(val, "('issue', '2345', 'status')")
            

Roundup Issue Tracker: http://roundup-tracker.org/