Code Duplication    Length = 12-14 lines in 4 locations

tests/test_storage.py 4 locations

@@ 385-398 (lines=14) @@
382
    assert json.load(files[0].open('rU')) == SAVE_DATA
383
384
385
@freeze_time("2015-08-15T00:04:18.687119")
386
def test_save_with_error(sess, tmpdir, monkeypatch):
387
    monkeypatch.setattr(plugin, '__version__', '2.5.0')
388
    sess.report_backend.save = True
389
    sess.report_backend.autosave = True
390
    sess.report_backend.json = None
391
    sess.report_backend.save_data = False
392
    sess.report_backend.storage.path = Path(str(tmpdir))
393
    for bench in sess.benchmarks:
394
        bench.has_error = True
395
    sess.report_backend.handle_saving(sess.benchmarks, sess.machine_info)
396
    files = list(Path(str(tmpdir)).rglob('*.json'))
397
    assert len(files) == 1
398
    assert json.load(files[0].open('rU')) == {
399
        'benchmarks': [],
400
        'commit_info': {'foo': 'bar'},
401
        'datetime': '2015-08-15T00:04:18.687119',
@@ 356-368 (lines=13) @@
353
    assert json.loads(sess.report_backend.json.getvalue().decode()) == JSON_DATA
354
355
356
@freeze_time("2015-08-15T00:04:18.687119")
357
def test_save_with_name(sess, tmpdir, monkeypatch):
358
    monkeypatch.setattr(plugin, '__version__', '2.5.0')
359
    sess.save = 'foobar'
360
    sess.report_backend.autosave = True
361
    sess.report_backend.json = None
362
    sess.report_backend.save_data = False
363
    sess.report_backend.storage.path = Path(str(tmpdir))
364
    sess.report_backend.handle_saving(sess.benchmarks, sess.machine_info)
365
    files = list(Path(str(tmpdir)).rglob('*.json'))
366
    print(files)
367
    assert len(files) == 1
368
    assert json.load(files[0].open('rU')) == SAVE_DATA
369
370
371
@freeze_time("2015-08-15T00:04:18.687119")
@@ 407-418 (lines=12) @@
404
    }
405
406
407
@freeze_time("2015-08-15T00:04:18.687119")
408
def test_autosave(sess, tmpdir, monkeypatch):
409
    monkeypatch.setattr(plugin, '__version__', '2.5.0')
410
    sess.report_backend.save = False
411
    sess.report_backend.autosave = True
412
    sess.report_backend.json = None
413
    sess.report_backend.save_data = False
414
    sess.report_backend.storage.path = Path(str(tmpdir))
415
    sess.report_backend.handle_saving(sess.benchmarks, sess.machine_info)
416
    files = list(Path(str(tmpdir)).rglob('*.json'))
417
    assert len(files) == 1
418
    assert json.load(files[0].open('rU')) == SAVE_DATA
419
@@ 371-382 (lines=12) @@
368
    assert json.load(files[0].open('rU')) == SAVE_DATA
369
370
371
@freeze_time("2015-08-15T00:04:18.687119")
372
def test_save_no_name(sess, tmpdir, monkeypatch):
373
    monkeypatch.setattr(plugin, '__version__', '2.5.0')
374
    sess.report_backend.save = True
375
    sess.report_backend.autosave = True
376
    sess.report_backend.json = None
377
    sess.report_backend.save_data = False
378
    sess.report_backend.storage.path = Path(str(tmpdir))
379
    sess.report_backend.handle_saving(sess.benchmarks, sess.machine_info)
380
    files = list(Path(str(tmpdir)).rglob('*.json'))
381
    assert len(files) == 1
382
    assert json.load(files[0].open('rU')) == SAVE_DATA
383
384
385
@freeze_time("2015-08-15T00:04:18.687119")