test_my_baseexception.py 3.43 KB
Newer Older
qunfeng qiu's avatar
qunfeng qiu committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
@Version: 1.0
@Python Version:3.6.6
@Author: ludq1
@File: test_my_baseexception
@Time: 2019/1/7 007 22:01
@Description: 测试代码
"""

from unittest import TestCase, main

from cucc_common_pkg.globalutility import GlobalConst
from cucc_common_pkg.my_baseexception import MyBaseException, create_base_exception, create_base_exception_with_dict


class TestUtility(TestCase):
    r'''
    测试 MyBaseException
    '''

    def test_str_repr(self):
        r'''

        Returns:

        '''
        retval_str = 'testretval'
        a_except = MyBaseException(retval_str)
        self.assertEqual(retval_str, str(a_except))
        self.assertEqual(retval_str, repr(a_except))

        a_except = create_base_exception(retval_str, '22', 'submitwebarg')
        self.assertEqual(a_except.ret_val, retval_str)
        self.assertEqual(a_except.ret_code, '22')
        self.assertEqual(a_except.submitted_webarg, 'submitwebarg')

        err_dict = {GlobalConst.RETKEY_RET_VAL: retval_str}
        a_except = create_base_exception_with_dict(err_dict, '22', 'submitwebarg')
        self.assertEqual(a_except.ret_val, retval_str)
        self.assertEqual(a_except.ret_code, '22')
        self.assertEqual(a_except.submitted_webarg, 'submitwebarg')

        err_dict = {
            GlobalConst.RETKEY_RET_VAL: retval_str,
            GlobalConst.RETKEY_SUBMITTEDWEBARG: 'previoussubmitmsg'
        }
        a_except = create_base_exception_with_dict(err_dict, '22', None)
        self.assertEqual(a_except.ret_val, retval_str)
        self.assertEqual(a_except.ret_code, '22')
        self.assertEqual(a_except.submitted_webarg, 'previoussubmitmsg')

        err_dict = {
            GlobalConst.RETKEY_RET_VAL: retval_str,
            GlobalConst.RETKEY_SUBMITTEDWEBARG: 'previoussubmitmsg'
        }
        a_except = create_base_exception_with_dict(err_dict, '22', 'submitwebarg')
        self.assertEqual(a_except.ret_val, retval_str)
        self.assertEqual(a_except.ret_code, '22')
        self.assertEqual(a_except.submitted_webarg, 'previoussubmitmsg;;;submitwebarg')

        gen_dict = a_except.gen_err()
        expect_dict = {
            GlobalConst.RETKEY_RET_VAL: retval_str,
            GlobalConst.RETKEY_RET_CODE: '22',
            GlobalConst.RETKEY_SUBMITTEDWEBARG: 'previoussubmitmsg;;;submitwebarg'
        }
        self.assertEqual(gen_dict, expect_dict)

        gen_dict = MyBaseException.format_to_standard_dict(retval_str, '22')
        expect_dict = {
            GlobalConst.RETKEY_RET_VAL: retval_str,
            GlobalConst.RETKEY_RET_CODE: '22'
        }
        self.assertEqual(gen_dict, expect_dict)

        gen_dict = MyBaseException.format_exception_to_standard_dict(a_except)
        expect_dict = {
            GlobalConst.RETKEY_RET_VAL: retval_str,
            GlobalConst.RETKEY_RET_CODE: '22',
            GlobalConst.RETKEY_SUBMITTEDWEBARG: 'previoussubmitmsg;;;submitwebarg'
        }
        self.assertEqual(gen_dict, expect_dict)

        a_except = NameError('<script>')
        gen_dict = MyBaseException.format_exception_to_standard_dict(a_except)
        expect_dict = {
            GlobalConst.RETKEY_RET_VAL: '''#《#script#》#''',
            GlobalConst.RETKEY_RET_CODE: GlobalConst.RETCODE_COMMON_ERROR
        }
        self.assertEqual(gen_dict, expect_dict)


if __name__ == '__main__':
    main()