Code Duplication    Length = 67-67 lines in 2 locations

tests/test_errors.py 2 locations

@@ 100-166 (lines=67) @@
97
            raise InvalidArgument('foo bar')
98
99
100
class RequiredArgumentTestCase(unittest.TestCase):
101
    def test_raise_with_message(self):
102
        with self.assertRaisesRegex(RequiredArgument, '^foo bar$'):
103
            raise RequiredArgument('foo bar')
104
105
    def test_message_precedence(self):
106
        with self.assertRaisesRegex(RequiredArgument, '^foo bar$') as cm:
107
            raise RequiredArgument('foo bar', argument='foo', function='bar')
108
109
        ex = cm.exception
110
        self.assertEqual(ex.argument, 'foo')
111
        self.assertEqual(ex.function, 'bar')
112
113
        self.assertEqual(str(ex), 'foo bar')
114
115
    def test_raise_with_argument(self):
116
        with self.assertRaises(RequiredArgument) as cm:
117
            raise RequiredArgument(argument='foo')
118
119
        ex = cm.exception
120
        self.assertEqual(ex.argument, 'foo')
121
        self.assertIsNone(ex.function)
122
123
    def test_raise_with_function(self):
124
        with self.assertRaises(RequiredArgument) as cm:
125
            raise RequiredArgument(function='foo')
126
127
        ex = cm.exception
128
        self.assertEqual(ex.function, 'foo')
129
        self.assertIsNone(ex.argument)
130
131
    def test_raise_with_argument_and_function(self):
132
        with self.assertRaises(RequiredArgument) as cm:
133
            raise RequiredArgument(argument='foo', function='bar')
134
135
        ex = cm.exception
136
        self.assertEqual(ex.argument, 'foo')
137
        self.assertEqual(ex.function, 'bar')
138
139
    def test_string_conversion(self):
140
        with self.assertRaises(RequiredArgument) as cm:
141
            raise RequiredArgument('foo bar')
142
143
        ex = cm.exception
144
        self.assertEqual(str(ex), 'foo bar')
145
146
        with self.assertRaises(RequiredArgument) as cm:
147
            raise RequiredArgument(argument='foo')
148
149
        ex = cm.exception
150
        self.assertEqual(str(ex), 'Required argument foo')
151
152
        with self.assertRaises(RequiredArgument) as cm:
153
            raise RequiredArgument(function='foo')
154
155
        ex = cm.exception
156
        self.assertEqual(str(ex), 'Required argument missing for foo')
157
158
        with self.assertRaises(RequiredArgument) as cm:
159
            raise RequiredArgument(argument='foo', function='bar')
160
161
        ex = cm.exception
162
        self.assertEqual(str(ex), 'bar requires a foo argument')
163
164
    def test_is_gvm_error(self):
165
        with self.assertRaises(GvmError):
166
            raise RequiredArgument('foo bar')
167
168
169
class GvmServerErrorTestCase(unittest.TestCase):
@@ 31-97 (lines=67) @@
28
)
29
30
31
class InvalidArgumentTestCase(unittest.TestCase):
32
    def test_raise_with_message(self):
33
        with self.assertRaisesRegex(InvalidArgument, '^foo bar$'):
34
            raise InvalidArgument('foo bar')
35
36
    def test_message_precedence(self):
37
        with self.assertRaisesRegex(InvalidArgument, '^foo bar$') as cm:
38
            raise InvalidArgument('foo bar', argument='foo', function='bar')
39
40
        ex = cm.exception
41
        self.assertEqual(ex.argument, 'foo')
42
        self.assertEqual(ex.function, 'bar')
43
44
        self.assertEqual(str(ex), 'foo bar')
45
46
    def test_raise_with_argument(self):
47
        with self.assertRaises(InvalidArgument) as cm:
48
            raise InvalidArgument(argument='foo')
49
50
        ex = cm.exception
51
        self.assertEqual(ex.argument, 'foo')
52
        self.assertIsNone(ex.function)
53
54
    def test_raise_with_function(self):
55
        with self.assertRaises(InvalidArgument) as cm:
56
            raise InvalidArgument(function='foo')
57
58
        ex = cm.exception
59
        self.assertEqual(ex.function, 'foo')
60
        self.assertIsNone(ex.argument)
61
62
    def test_raise_with_argument_and_function(self):
63
        with self.assertRaises(InvalidArgument) as cm:
64
            raise InvalidArgument(argument='foo', function='bar')
65
66
        ex = cm.exception
67
        self.assertEqual(ex.argument, 'foo')
68
        self.assertEqual(ex.function, 'bar')
69
70
    def test_string_conversion(self):
71
        with self.assertRaises(InvalidArgument) as cm:
72
            raise InvalidArgument('foo bar', argument='foo')
73
74
        ex = cm.exception
75
        self.assertEqual(str(ex), 'foo bar')
76
77
        with self.assertRaises(InvalidArgument) as cm:
78
            raise InvalidArgument(argument='foo')
79
80
        ex = cm.exception
81
        self.assertEqual(str(ex), 'Invalid argument foo')
82
83
        with self.assertRaises(InvalidArgument) as cm:
84
            raise InvalidArgument(function='foo')
85
86
        ex = cm.exception
87
        self.assertEqual(str(ex), 'Invalid argument for foo')
88
89
        with self.assertRaises(InvalidArgument) as cm:
90
            raise InvalidArgument(argument='foo', function='bar')
91
92
        ex = cm.exception
93
        self.assertEqual(str(ex), 'Invalid argument foo for bar')
94
95
    def test_is_gvm_error(self):
96
        with self.assertRaises(GvmError):
97
            raise InvalidArgument('foo bar')
98
99
100
class RequiredArgumentTestCase(unittest.TestCase):