def add_symlink(self, oid, name, link_size, dkey_count=1): akey = copy.deepcopy(self._dfs_inode_akey) value = VosValue(size=link_size) akey.add_value(value) dkey = DKey(key=name) dkey.set_count(dkey_count) dkey.add_value(akey) self._objects[oid].add_value(dkey)
def test_invalid_parameters(self): with pytest.raises(TypeError) as err: akey = DKey(count="rubbish") assert "count parameter must be of type int" in str(err.value) with pytest.raises(TypeError) as err: akey = DKey(key_type="rubbish") assert "key_type parameter must be of type" in str(err.value) with pytest.raises(TypeError) as err: akey = DKey(overhead="rubbish") assert "overhead parameter must be of type" in str(err.value) with pytest.raises(VosValueError) as err: dkey = DKey() akey = dkey.dump() assert "list of akeys must not be empty" in str(err.value)
def _add_entry(self, oid, name, dkey_count=1): dkey = DKey(key=name) dkey.set_count(dkey_count) dkey.add_value(self._dfs_inode_akey) self._objects[oid].add_value(dkey)
def test_add_value(self): with pytest.raises(VosValueError) as err: dkey = DKey(key="D-key 1") dkey.dump() assert "list of akeys must not be empty" in str(err.value) with pytest.raises(TypeError) as err: dkey = DKey(key="D-key 1") dkey.add_value("rubbish") assert "must be of type" in str(err.value) dkey = DKey(key="D-key 1") akey = AKey(key="A-key 1", value_type="single_value", values=self.test_data.create_values()) dkey.add_value(akey) akey = AKey(key="A-key 2", value_type="array", values=self.test_data.create_values()) dkey.add_value(akey) want = self.test_data.create_default_dkey() assert want == dkey.dump()
def get_mock_dfs_superblock_obj(self): dkey_sb = DKey(key="DFS_SB_METADATA", overhead=Overhead.META) dkey_sb.add_value(self._create_sb_akey(key="DFS_MAGIC", size=8)) dkey_sb.add_value( self._create_sb_akey(key="DFS_SB_VERSION", size=2)) dkey_sb.add_value( self._create_sb_akey(key="DFS_LAYOUT_VERSION", size=2)) dkey_sb.add_value( self._create_sb_akey(key="DFS_CHUNK_SIZE", size=8)) dkey_sb.add_value(self._create_sb_akey(key="DFS_OBJ_CLASS", size=2)) inode_value = VosValue(size=64) akey_inode = AKey(key="DFS_INODE", overhead=Overhead.META, value_type=ValType.ARRAY) akey_inode.add_value(inode_value) dkey_root = DKey(key="/") dkey_root.add_value(akey_inode) superblock_obj = VosObject() superblock_obj.add_value(dkey_sb) superblock_obj.add_value(dkey_root) return superblock_obj