view test/test_anypy.py @ 8447:d06be9346c68

bug, test: fix tests for trace_id; readd import logging.config Made save_restore_logging a test level fixture. It was a class level which worked fine until I started using caplog for tests in the same class. Due to loading config from dict, the roundup channel was set to not propagate which broke the new formatting test used for trace_id. Forgot to update some tests due to change in default format adding %(trace_id). Also re-added logging.config import which broke loading logging config files in configuration.py.
author John Rouillard <rouilj@ieee.org>
date Wed, 17 Sep 2025 00:45:04 -0400
parents ebb03b8cee4d
children
line wrap: on
line source

"""Random tests for anypy modules"""


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

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'))

        # eval a tuple e.g. date representation
        val = eval_import("(2022, 9, 6, 3, 58, 4.776, 0, 0, 0)")
        self.assertSequenceEqual(val, (2022, 9, 6, 3, 58, 4.776, 0, 0, 0))

        # eval a boolean
        val = eval_import("False")
        self.assertEqual(val, False)
        val = eval_import("True")
        self.assertEqual(val, True)

        # check syntax error
        for testcase in ['true', '(2004, 10, 20', "2000, 10, 22)",
                         "test'", '"test']:
            with self.assertRaises(ValueError) as m:
                val = eval_import(testcase)
            print(m.exception)

        # 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')")
            
class MiscTest(unittest.TestCase):

    def test_cmp_(self):
        _test()

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