@Override
    public void updateTtl(List<MessageInfo> infos) throws StoreException {
      operationReceived = RequestOrResponseType.TtlUpdateRequest;
      List<MessageInfo> infosToUpdate = new ArrayList<>(infos.size());
      List<InputStream> inputStreams = new ArrayList<>();
      MessageFormatWriteSet writeSet;
      try {
        for (MessageInfo info : infos) {
          short lifeVersion =
              info.getLifeVersion() == MessageInfo.LIFE_VERSION_FROM_FRONTEND ? 0 : info.getLifeVersion();
          MessageFormatInputStream stream =
              new TtlUpdateMessageFormatInputStream(info.getStoreKey(), info.getAccountId(), info.getContainerId(),
                  info.getExpirationTimeInMs(), info.getOperationTimeMs(), lifeVersion);
          infosToUpdate.add(
              new MessageInfo(info.getStoreKey(), stream.getSize(), false, true, false, info.getExpirationTimeInMs(),
                  null, info.getAccountId(), info.getContainerId(), info.getOperationTimeMs(), lifeVersion));
          inputStreams.add(stream);
        }
        writeSet =
            new MessageFormatWriteSet(new SequenceInputStream(Collections.enumeration(inputStreams)), infosToUpdate,
                false);
      } catch (Exception e) {
        throw new IllegalStateException(e);
      }
      messageWriteSetReceived = writeSet;
      throwExceptionIfRequired();
      checkValidityOfIds(infos.stream().map(MessageInfo::getStoreKey).collect(Collectors.toList()));
    }
Mocked {@link Store} that is intended to perform predefined behavior.
ambry-server/src/test/java/com/github/ambry/server/MockStorageManager.java