Code Duplication    Length = 14-15 lines in 2 locations

tests/test_webui.py 2 locations

@@ 397-411 (lines=15) @@
394
        self.assertGreater(len(data['logs']), 0)
395
        self.assertEqual(len(data['follows']), 0)
396
397
    def test_a70_fetch_via_fetcher(self):
398
        ctx = run.webui.make_context('webui', [
399
            '--fetcher-rpc', 'http://localhost:24444/',
400
        ], self.ctx)
401
        app = run.webui.invoke(ctx)
402
        app = app.test_client()
403
        rv = app.post('/debug/test_project/run', data={
404
            'script': self.script_content,
405
            'task': self.task_content
406
        })
407
        self.assertEqual(rv.status_code, 200)
408
        data = json.loads(utils.text(rv.data))
409
        self.assertEqual(len(data['logs']), 0, data['logs'])
410
        self.assertIn(b'follows', rv.data)
411
        self.assertGreater(len(data['follows']), 0)
412
413
    def test_h000_auth(self):
414
        ctx = run.webui.make_context('webui', [
@@ 382-395 (lines=14) @@
379
        self.assertEqual(rv.status_code, 200)
380
        self.assertIn(b'url,title,url', rv.data)
381
382
    def test_a60_fetch_via_cannot_connect_fetcher(self):
383
        ctx = run.webui.make_context('webui', [
384
            '--fetcher-rpc', 'http://localhost:20000/',
385
        ], self.ctx)
386
        app = run.webui.invoke(ctx)
387
        app = app.test_client()
388
        rv = app.post('/debug/test_project/run', data={
389
            'script': self.script_content,
390
            'task': self.task_content
391
        })
392
        self.assertEqual(rv.status_code, 200)
393
        data = json.loads(utils.text(rv.data))
394
        self.assertGreater(len(data['logs']), 0)
395
        self.assertEqual(len(data['follows']), 0)
396
397
    def test_a70_fetch_via_fetcher(self):
398
        ctx = run.webui.make_context('webui', [