def test_read_with_assertion(context): context.write_full('foo', b'bar') rop = context.read_op_create() rop.assert_exists() rop.read() context.read_op_operate('foo', rop) assert b'bar' == rop.read_data()
def test_write_create_fail(context): context.write_full('foo', b'bar') wop = context.write_op_create() wop.create(True) wop.write_full(b'bar') with pytest.raises(rados.ObjectExists): context.write_op_operate('foo', wop)
def test_write_append(context): context.write_full('foo', b'bar') wop = context.write_op_create() wop.append(b'baz') context.write_op_operate('foo', wop) assert b'barbaz' == context.read('foo')
def test_read_attr_cmp_eq_fail(context): context.write_full('foo', b'Hello world!') context.set_xattr('foo', 'version', b'3.14') rop = context.read_op_create() rop.cmpxattr('version', rados.CmpXattrOp.eq, b'2.71') with pytest.raises(rados.Canceled): context.read_op_operate('foo', rop)
def test_read_attr_gt_fail(context): context.write_full('foo', b'Hello world!') context.set_xattr('foo', 'attr', b'b') rop = context.read_op_create() rop.cmpxattr('attr', rados.CmpXattrOp.gt, b'a') with pytest.raises(rados.Canceled): context.read_op_operate('foo', rop)
def test_set_get(context): context.write_full('foo', b'bar') with pytest.raises(rados.NoData): context.get_xattr('foo', 'a') context.set_xattr('foo', 'a', b'b') assert b'b' == context.get_xattr('foo', 'a')
def test_write_assert(context): context.write_full('foo', b'bar') wop = context.write_op_create() wop.assert_exists() wop.write_full(b'baz') context.write_op_operate('foo', wop) assert b'baz' == context.read('foo')
def test_read_attr_cmp_eq(context): context.write_full('foo', b'Hello world!') context.set_xattr('foo', 'version', b'3.14') rop = context.read_op_create() rop.cmpxattr('version', rados.CmpXattrOp.eq, b'3.14') rop.stat() context.read_op_operate('foo', rop) assert 12 == rop.size()
def test_read_attr_gt(context): context.write_full('foo', b'Hello world!') context.set_xattr('foo', 'attr', b'a') rop = context.read_op_create() rop.cmpxattr('attr', rados.CmpXattrOp.gt, b'b') rop.stat() context.read_op_operate('foo', rop) assert 12 == rop.size()
def test_write_attr_cmp_eq(context): context.write_full('foo', b'Hello world!') context.set_xattr('foo', 'version', b'3.14') wop = context.write_op_create() wop.cmpxattr('version', rados.CmpXattrOp.eq, b'3.14') wop.write_full(b'bar') context.write_op_operate('foo', wop) assert b'bar' == context.read('foo')
def test_write_remove(context): context.write_full('foo', b'bar') wop = context.write_op_create() wop.assert_exists() wop.remove() context.write_op_operate('foo', wop) with pytest.raises(rados.ObjectNotFound): context.read('foo')
def test_read_stat(context): context.write_full('foo', b'Hello world!') rop = context.read_op_create() rop.assert_exists() rop.stat() context.read_op_operate('foo', rop) assert 12 == rop.size() diff = datetime.now() - datetime.fromtimestamp(mktime(rop.mtime())) assert 5 > diff.total_seconds()
def test_namespace(context): assert '' == context.get_namespace() context.set_namespace('test_namespace') assert 'test_namespace' == context.get_namespace() context.set_namespace('tn1') context.write_full("foo", b'1') assert b'1' == context.read('foo') context.set_namespace('tn2') context.write_full("foo", b'2') assert b'2' == context.read('foo') context.set_namespace('tn1') assert b'1' == context.read('foo')
def test_read_completion(context): context.write_full('foo', b'bar') rop = context.read_op_create() rop.read() def complete_cb(completion): complete_cb.called = True complete_cb.called = False com = rados.Completion(context, oncomplete=complete_cb) context.aio_read_op_operate('foo', rop, com) com.wait_for_complete_and_cb() assert complete_cb.called
def test_small_buffer_read(context): context.write_full('foo', b'The quick brown fox jumps over the lazy dog') assert b'The quick' == context.read('foo', length=9)
def test_simple_read(context): context.write_full('foo', b'The quick brown fox jumps over the lazy dog') assert b'The quick brown fox jumps over the lazy dog' == context.read('foo')
def test_offset_write(context): context.write_full('foo', b'The quick brown fox jumps over the lazy dog') context.write('foo', b'flies', offset=20) assert b'The quick brown fox flies over the lazy dog' == context.read('foo')
def test_offset_and_len_read(context): context.write_full('foo', b'The quick brown fox jumps over the lazy dog') assert b'jumps' == context.read('foo', length=5, offset=20)
def test_offset_read(context): context.write_full('foo', b'The quick brown fox jumps over the lazy dog') assert b'brown fox jumps over the lazy dog' == context.read('foo', offset=10)
def test_simple_read(context): context.write_full('foo', b'bar') rop = context.read_op_create() rop.read() context.read_op_operate('foo', rop) assert b'bar' == rop.read_data()
def test_stat(context): context.write_full('foo', b'Hello world!') (size, time) = context.stat('foo') assert 12 == size diff = datetime.now() - datetime.fromtimestamp(mktime(time)) assert 5 > diff.total_seconds()
def test_remove(context): assert 0 == context.write_full("foo", b'bar') assert b'bar' == context.read('foo') context.remove('foo') with pytest.raises(rados.ObjectNotFound) as e: context.stat('foo')
def test_simple_rw(context): assert 0 == context.write_full("foo", b'bar') assert b'bar' == context.read('foo')