Code Duplication    Length = 41-41 lines in 2 locations

tests/integration/test_main.py 1 location

@@ 160-200 (lines=41) @@
157
        actual_events = self.napp.listeners()
158
        self.assertEqual(expected_events, actual_events)
159
160
    def test_verify_api_urls(self):
161
        """Verify all APIs registered."""
162
        expected_urls = [
163
         ({}, {'GET', 'OPTIONS', 'HEAD'}, '/api/kytos/topology/v3/interfaces'),
164
         ({}, {'GET', 'OPTIONS', 'HEAD'}, '/api/kytos/topology/v3/switches'),
165
         ({}, {'GET', 'OPTIONS', 'HEAD'}, '/api/kytos/topology/v3/links'),
166
         ({}, {'GET', 'OPTIONS', 'HEAD'}, '/api/kytos/topology/v3/'),
167
         ({'key': '[key]', 'interface_id': '[interface_id]'},
168
          {'OPTIONS', 'DELETE'},
169
          '/api/kytos/topology/v3/interfaces/<interface_id>/metadata/<key>'),
170
         ({'interface_id': '[interface_id]'}, {'POST', 'OPTIONS'},
171
          '/api/kytos/topology/v3/interfaces/<interface_id>/metadata'),
172
         ({'interface_id': '[interface_id]'}, {'GET', 'OPTIONS', 'HEAD'},
173
          '/api/kytos/topology/v3/interfaces/<interface_id>/metadata'),
174
         ({'interface_id': '[interface_id]'}, {'POST', 'OPTIONS'},
175
          '/api/kytos/topology/v3/interfaces/<interface_id>/disable'),
176
         ({'interface_id': '[interface_id]'}, {'POST', 'OPTIONS'},
177
          '/api/kytos/topology/v3/interfaces/<interface_id>/enable'),
178
         ({'dpid': '[dpid]', 'key': '[key]'}, {'OPTIONS', 'DELETE'},
179
          '/api/kytos/topology/v3/switches/<dpid>/metadata/<key>'),
180
         ({'dpid': '[dpid]'}, {'POST', 'OPTIONS'},
181
          '/api/kytos/topology/v3/switches/<dpid>/metadata'),
182
         ({'dpid': '[dpid]'}, {'GET', 'OPTIONS', 'HEAD'},
183
          '/api/kytos/topology/v3/switches/<dpid>/metadata'),
184
         ({'dpid': '[dpid]'}, {'POST', 'OPTIONS'},
185
          '/api/kytos/topology/v3/switches/<dpid>/disable'),
186
         ({'dpid': '[dpid]'}, {'POST', 'OPTIONS'},
187
          '/api/kytos/topology/v3/switches/<dpid>/enable'),
188
         ({'link_id': '[link_id]', 'key': '[key]'}, {'OPTIONS', 'DELETE'},
189
          '/api/kytos/topology/v3/links/<link_id>/metadata/<key>'),
190
         ({'link_id': '[link_id]'}, {'POST', 'OPTIONS'},
191
          '/api/kytos/topology/v3/links/<link_id>/metadata'),
192
         ({'link_id': '[link_id]'}, {'GET', 'OPTIONS', 'HEAD'},
193
          '/api/kytos/topology/v3/links/<link_id>/metadata'),
194
         ({'link_id': '[link_id]'}, {'POST', 'OPTIONS'},
195
          '/api/kytos/topology/v3/links/<link_id>/disable'),
196
         ({'link_id': '[link_id]'}, {'POST', 'OPTIONS'},
197
          '/api/kytos/topology/v3/links/<link_id>/enable')]
198
199
        urls = self.get_napp_urls(self.napp)
200
        self.assertEqual(expected_urls, urls)
201
202
    @staticmethod
203
    def get_napp_urls(napp):

tests/unit/test_main.py 1 location

@@ 50-90 (lines=41) @@
47
        actual_events = self.napp.listeners()
48
        self.assertCountEqual(expected_events, actual_events)
49
50
    def test_verify_api_urls(self):
51
        """Verify all APIs registered."""
52
        expected_urls = [
53
         ({}, {'GET', 'OPTIONS', 'HEAD'}, '/api/kytos/topology/v3/interfaces'),
54
         ({}, {'GET', 'OPTIONS', 'HEAD'}, '/api/kytos/topology/v3/switches'),
55
         ({}, {'GET', 'OPTIONS', 'HEAD'}, '/api/kytos/topology/v3/links'),
56
         ({}, {'GET', 'OPTIONS', 'HEAD'}, '/api/kytos/topology/v3/'),
57
         ({'key': '[key]', 'interface_id': '[interface_id]'},
58
          {'OPTIONS', 'DELETE'},
59
          '/api/kytos/topology/v3/interfaces/<interface_id>/metadata/<key>'),
60
         ({'interface_id': '[interface_id]'}, {'POST', 'OPTIONS'},
61
          '/api/kytos/topology/v3/interfaces/<interface_id>/metadata'),
62
         ({'interface_id': '[interface_id]'}, {'GET', 'OPTIONS', 'HEAD'},
63
          '/api/kytos/topology/v3/interfaces/<interface_id>/metadata'),
64
         ({'interface_id': '[interface_id]'}, {'POST', 'OPTIONS'},
65
          '/api/kytos/topology/v3/interfaces/<interface_id>/disable'),
66
         ({'interface_id': '[interface_id]'}, {'POST', 'OPTIONS'},
67
          '/api/kytos/topology/v3/interfaces/<interface_id>/enable'),
68
         ({'dpid': '[dpid]', 'key': '[key]'}, {'OPTIONS', 'DELETE'},
69
          '/api/kytos/topology/v3/switches/<dpid>/metadata/<key>'),
70
         ({'dpid': '[dpid]'}, {'POST', 'OPTIONS'},
71
          '/api/kytos/topology/v3/switches/<dpid>/metadata'),
72
         ({'dpid': '[dpid]'}, {'GET', 'OPTIONS', 'HEAD'},
73
          '/api/kytos/topology/v3/switches/<dpid>/metadata'),
74
         ({'dpid': '[dpid]'}, {'POST', 'OPTIONS'},
75
          '/api/kytos/topology/v3/switches/<dpid>/disable'),
76
         ({'dpid': '[dpid]'}, {'POST', 'OPTIONS'},
77
          '/api/kytos/topology/v3/switches/<dpid>/enable'),
78
         ({'link_id': '[link_id]', 'key': '[key]'}, {'OPTIONS', 'DELETE'},
79
          '/api/kytos/topology/v3/links/<link_id>/metadata/<key>'),
80
         ({'link_id': '[link_id]'}, {'POST', 'OPTIONS'},
81
          '/api/kytos/topology/v3/links/<link_id>/metadata'),
82
         ({'link_id': '[link_id]'}, {'GET', 'OPTIONS', 'HEAD'},
83
          '/api/kytos/topology/v3/links/<link_id>/metadata'),
84
         ({'link_id': '[link_id]'}, {'POST', 'OPTIONS'},
85
          '/api/kytos/topology/v3/links/<link_id>/disable'),
86
         ({'link_id': '[link_id]'}, {'POST', 'OPTIONS'},
87
          '/api/kytos/topology/v3/links/<link_id>/enable')]
88
89
        urls = get_napp_urls(self.napp)
90
        self.assertEqual(expected_urls, urls)
91
92
    @patch('napps.kytos.topology.main.Main.notify_topology_update')
93
    @patch('napps.kytos.topology.main.Main.update_instance_metadata')