Code Duplication    Length = 26-30 lines in 2 locations

tests/unit/tracing/test_trace_manager.py 2 locations

@@ 179-208 (lines=30) @@
176
        result = self.trace_manager.get_result("1234")
177
        self.assertEqual(result, {"msg": "unknown trace id"})
178
179
    @patch("napps.amlight.sdntrace.shared.colors.Colors.get_switch_color")
180
    @patch("napps.amlight.sdntrace.tracing.tracer.TracePath.send_trace_probe")
181
    def test_trace_in_process(self, mock_send_probe, mock_colors):
182
        """Test trace manager tracing request and processing."""
183
        mock_colors.return_value = "ee:ee:ee:ee:ee:01"
184
        mock_send_probe.return_value = {
185
            "dpid": "00:00:00:00:00:00:00:01",
186
            "port": 1,
187
        }, ""
188
189
        eth = {"dl_vlan": 100}
190
        dpid = {"dpid": "00:00:00:00:00:00:00:01", "in_port": 1}
191
        switch = {"switch": dpid, "eth": eth}
192
        entries = {"trace": switch}
193
194
        trace_entries = self.trace_manager.is_entry_valid(entries)
195
        self.assertIsInstance(trace_entries, TraceEntries)
196
197
        trace_id = self.trace_manager.new_trace(trace_entries)
198
        self.assertEqual(trace_id, 30001)
199
200
        pending = self.trace_manager.number_pending_requests()
201
        self.assertEqual(pending, 1)
202
203
        while pending == 1:
204
            result = self.trace_manager.get_result(trace_id)
205
            pending = self.trace_manager.number_pending_requests()
206
            time.sleep(0.1)
207
208
        self.assertEqual(result, {"msg": "trace in process"})
209
210
    @patch("napps.amlight.sdntrace.shared.colors.Colors.get_switch_color")
211
    @patch("napps.amlight.sdntrace.tracing.tracer.TracePath.send_trace_probe")
@@ 147-172 (lines=26) @@
144
        trace_id = self.trace_manager.get_id()
145
        self.assertEqual(trace_id, 30003)
146
147
    @patch("napps.amlight.sdntrace.shared.colors.Colors.get_switch_color")
148
    @patch("napps.amlight.sdntrace.tracing.tracer.TracePath.send_trace_probe")
149
    def test_trace_pending(self, mock_send_probe, mock_colors):
150
        """Test trace manager tracing request."""
151
        mock_colors.return_value = "ee:ee:ee:ee:ee:01"
152
        mock_send_probe.return_value = {
153
            "dpid": "00:00:00:00:00:00:00:01",
154
            "port": 1,
155
        }, ""
156
157
        eth = {"dl_vlan": 100}
158
        dpid = {"dpid": "00:00:00:00:00:00:00:01", "in_port": 1}
159
        switch = {"switch": dpid, "eth": eth}
160
        entries = {"trace": switch}
161
162
        trace_entries = self.trace_manager.is_entry_valid(entries)
163
        self.assertIsInstance(trace_entries, TraceEntries)
164
165
        trace_id = self.trace_manager.new_trace(trace_entries)
166
        self.assertEqual(trace_id, 30001)
167
168
        pending = self.trace_manager.number_pending_requests()
169
        self.assertEqual(pending, 1)
170
171
        result = self.trace_manager.get_result(trace_id)
172
        self.assertEqual(result, {"msg": "trace pending"})
173
174
    def test_request_invalid_trace_id(self):
175
        """Test trace manager tracing request."""