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()
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()
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