def test_close(data): '''Flush buffers and prevent further access.''' data.close() with pytest.raises(ValueError) as error: data.read() # Changed for python 3 compat assert 'closed file' in str(error.value)
def test_remove_data(new_component, session): '''Remove data using server accessor.''' random_data = uuid.uuid1().hex accessor = ftrack_api.accessor.server._ServerAccessor(session) http_file = accessor.open(new_component['id'], mode='wb') http_file.write(random_data) http_file.close() accessor.remove(new_component['id']) data = accessor.open(new_component['id'], 'r') with pytest.raises(ftrack_api.exception.AccessorOperationFailedError): data.read()
def test_open(temporary_path): '''Open file.''' accessor = ftrack_api.accessor.disk.DiskAccessor(temporary_path) with pytest.raises(ftrack_api.exception.AccessorResourceNotFoundError): accessor.open('test.txt', 'r') data = accessor.open('test.txt', 'w+') assert isinstance(data, ftrack_api.data.Data) is True assert data.read() == '' data.write('test data') data.close() data = accessor.open('test.txt', 'r') assert (data.read() == 'test data') data.close()
def test_read_and_write(new_component, session): '''Read and write data from server accessor.''' random_data = uuid.uuid1().hex.encode() accessor = ftrack_api.accessor.server._ServerAccessor(session) http_file = accessor.open(new_component['id'], mode='wb') http_file.write(random_data) http_file.close() data = accessor.open(new_component['id'], 'r') assert data.read() == random_data, 'Read data is the same as written.' data.close()
def test_seek(data, content): '''Move internal pointer to *position*.''' data.seek(5) assert data.read() == content[5:]
def test_write(data, content): '''Write content at current position.''' assert data.read() == content data.write('more test data') data.seek(0) assert data.read() == content + 'more test data'
def test_read(data, content): '''Return content from current position up to *limit*.''' assert data.read(5) == content[:5] assert data.read() == content[5:]