Пример #1
0
def test_transfer_verify(tmpdir, file_state, file_content):
    tmpdir.mkdir('simple')
    TransferState.output_path = Path(str(tmpdir))
    trans_state = TransferState(1, file_state)
    r = trans_state.fetch()
    trans_state.chunk(r.start, file_content[r.start:r.stop])
    r = trans_state.fetch()
    trans_state.chunk(r.start, file_content[r.start:r.stop])
    assert trans_state.done
    trans_state.verify()
Пример #2
0
def test_transfer_verify_fail_size(tmpdir, file_state, file_content):
    tmpdir.mkdir('simple')
    TransferState.output_path = Path(str(tmpdir))
    trans_state = TransferState(1, file_state)
    r = trans_state.fetch()
    trans_state.chunk(r.start, file_content[r.start:r.stop])
    r = trans_state.fetch()
    trans_state.chunk(r.start, file_content[r.start:r.stop])
    assert trans_state.done
    trans_state._file.write(b'\x00' * 4)
    with pytest.raises(IOError):
        trans_state.verify()
Пример #3
0
def test_transfer_state_fetch1(tmpdir, file_state, file_content):
    tmpdir.mkdir('simple')
    TransferState.output_path = Path(str(tmpdir))
    trans_state = TransferState(1, file_state)
    assert trans_state.fetch() == range(TransferState.chunk_size)
    trans_state.chunk(0, file_content[:TransferState.chunk_size])
    assert trans_state.fetch() == range(TransferState.chunk_size, 123456)
    trans_state.chunk(TransferState.chunk_size,
                      file_content[TransferState.chunk_size:])
    assert trans_state.fetch() is None
    assert trans_state.done
    trans_state.reset_credit()
    assert trans_state.fetch() is None