1 # vim: expandtab smarttab shiftwidth=4 softtabstop=4
2 from nose.tools import assert_raises, assert_equal, with_setup
7 root_dir_handler = None
13 rgwfs = librgwfs.LibRGWFS("testid", "", "")
14 root_handler = rgwfs.mount()
17 def teardown_module():
23 global root_dir_handler
28 root_dir_handler = rgwfs.opendir(root_handler, b"bucket", 0)
30 root_dir_handler = rgwfs.mkdir(root_handler, b"bucket", 0)
34 rgwfs.readdir(root_dir_handler, cb, 0, 0)
36 rgwfs.unlink(root_dir_handler, name, 0)
39 @with_setup(setup_test)
44 @with_setup(setup_test)
46 stat = rgwfs.fstat(root_dir_handler)
47 assert(len(stat) == 13)
48 file_handler = rgwfs.create(root_dir_handler, b'file-1', 0)
49 stat = rgwfs.fstat(file_handler)
50 assert(len(stat) == 13)
51 rgwfs.close(file_handler)
54 @with_setup(setup_test)
57 assert(len(stat) == 11)
60 @with_setup(setup_test)
62 fd = rgwfs.create(root_dir_handler, b'file-1', 0)
63 rgwfs.write(fd, 0, b"asdf")
65 rgwfs.write(fd, 4, b"qwer")
70 @with_setup(setup_test)
72 dir_handler = rgwfs.mkdir(root_dir_handler, b"temp-directory", 0)
73 rgwfs.close(dir_handler)
74 rgwfs.unlink(root_dir_handler, b"temp-directory")
77 @with_setup(setup_test)
79 dirs = [b"dir-1", b"dir-2", b"dir-3"]
82 d = rgwfs.mkdir(root_dir_handler, i, 0)
87 entries.append((name, offset))
89 offset, eof = rgwfs.readdir(root_dir_handler, cb, 0)
94 for name, _ in entries:
96 rgwfs.unlink(root_dir_handler, name)
99 @with_setup(setup_test)
101 file_handler = rgwfs.create(root_dir_handler, b"a", 0)
102 rgwfs.close(file_handler)
103 rgwfs.rename(root_dir_handler, b"a", root_dir_handler, b"b")
104 file_handler = rgwfs.open(root_dir_handler, b"b", 0)
105 rgwfs.fstat(file_handler)
106 rgwfs.close(file_handler)
107 rgwfs.unlink(root_dir_handler, b"b")
110 @with_setup(setup_test)
112 assert_raises(librgwfs.ObjectNotFound, rgwfs.open,
113 root_dir_handler, b'file-1', 0)
114 assert_raises(librgwfs.ObjectNotFound, rgwfs.open,
115 root_dir_handler, b'file-1', 0)
116 fd = rgwfs.create(root_dir_handler, b'file-1', 0)
117 rgwfs.write(fd, 0, b"asdf")
119 fd = rgwfs.open(root_dir_handler, b'file-1', 0)
120 assert_equal(rgwfs.read(fd, 0, 4), b"asdf")
122 fd = rgwfs.open(root_dir_handler, b'file-1', 0)
123 rgwfs.write(fd, 0, b"aaaazxcv")
125 fd = rgwfs.open(root_dir_handler, b'file-1', 0)
126 assert_equal(rgwfs.read(fd, 4, 4), b"zxcv")
128 fd = rgwfs.open(root_dir_handler, b'file-1', 0)
129 assert_equal(rgwfs.read(fd, 0, 4), b"aaaa")
131 rgwfs.unlink(root_dir_handler, b"file-1")
134 @with_setup(setup_test)
135 def test_mount_unmount():
137 global root_dir_handler
139 rgwfs.close(root_dir_handler)
140 rgwfs.close(root_handler)
142 root_handler = rgwfs.mount()
143 root_dir_handler = rgwfs.opendir(root_handler, b"bucket", 0)