summaryrefslogtreecommitdiffstats
path: root/tests/unit/api/utils/test_common.py
blob: 9e050c71450a51cf8057f5ba6805b8bc9f51fc1c (plain)
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
##############################################################################
# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
import unittest
import json

from api.utils import common


class TranslateToStrTestCase(unittest.TestCase):

    def test_translate_to_str_unicode(self):
        input_str = u'hello'
        output_str = common.translate_to_str(input_str)

        result = 'hello'
        self.assertEqual(result, output_str)

    def test_translate_to_str_dict_list_unicode(self):
        input_str = {
            u'hello': {u'hello': [u'world']}
        }
        output_str = common.translate_to_str(input_str)

        result = {
            'hello': {'hello': ['world']}
        }
        self.assertEqual(result, output_str)


class GetCommandListTestCase(unittest.TestCase):

    def test_get_command_list_no_opts(self):
        command_list = ['a']
        opts = {}
        args = 'b'
        output_list = common.get_command_list(command_list, opts, args)

        result_list = ['a', 'b']
        self.assertEqual(result_list, output_list)

    def test_get_command_list_with_opts_args(self):
        command_list = ['a']
        opts = {
            'b': 'c',
            'task-args': 'd'
        }
        args = 'e'

        output_list = common.get_command_list(command_list, opts, args)

        result_list = ['a', 'e', '--b', '--task-args', 'd']
        self.assertEqual(result_list, output_list)


class ErrorHandlerTestCase(unittest.TestCase):

    def test_error_handler(self):
        message = 'hello world'
        output_dict = json.loads(common.error_handler(message))

        result = {
            'status': 'error',
            'message': message
        }

        self.assertEqual(result, output_dict)


class ResultHandlerTestCase(unittest.TestCase):

    def test_result_handler(self):
        status = 1
        data = ['hello world']
        output_dict = json.loads(common.result_handler(status, data))

        result = {
            'status': status,
            'result': data
        }

        self.assertEqual(result, output_dict)


def main():
    unittest.main()


if __name__ == '__main__':
    main()