Code Duplication    Length = 67-67 lines in 2 locations

tests/test_errors.py 2 locations

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