def test_get_container_metadata(self): def _mock_get_container_details(path): o_list = ['a', 'b', 'c'] o_count = 3 b_used = 47 return o_list, o_count, b_used orig_gcd = utils.get_container_details utils.get_container_details = _mock_get_container_details td = tempfile.mkdtemp() try: exp_md = { utils.X_TYPE: (utils.CONTAINER, 0), utils.X_TIMESTAMP: (utils.normalize_timestamp(os.path.getctime(td)), 0), utils.X_PUT_TIMESTAMP: (utils.normalize_timestamp(os.path.getmtime(td)), 0), utils.X_OBJECTS_COUNT: (3, 0), utils.X_BYTES_USED: (47, 0), } md = utils.get_container_metadata(td) assert md == exp_md finally: utils.get_container_details = orig_gcd os.rmdir(td)
def initialize(self, timestamp): """ Create and write metatdata to directory/container. :param metadata: Metadata to write. """ if not self._dir_exists: mkdirs(self.datadir) # If we create it, ensure we own it. do_chown(self.datadir, self.uid, self.gid) metadata = get_container_metadata(self.datadir) metadata[X_TIMESTAMP] = timestamp write_metadata(self.datadir, metadata) self.metadata = metadata self._dir_exists = True
def test_get_container_metadata(self): def _mock_get_container_details(path, memcache=None): o_list = [ 'a', 'b', 'c' ] o_count = 3 b_used = 47 return o_list, o_count, b_used td = tempfile.mkdtemp() orig_gcd = utils.get_container_details utils.get_container_details = _mock_get_container_details try: exp_md = { utils.X_TYPE: (utils.CONTAINER, 0), utils.X_TIMESTAMP: (normalize_timestamp(os.path.getctime(td)), 0), utils.X_PUT_TIMESTAMP: (normalize_timestamp(os.path.getmtime(td)), 0), utils.X_OBJECTS_COUNT: (3, 0), utils.X_BYTES_USED: (47, 0), } md = utils.get_container_metadata(td) assert md == exp_md finally: utils.get_container_details = orig_gcd os.rmdir(td)