  void createSyncMockAuthsAndVerifier(const StatusMap& statuses) {
    for (const auto& it : statuses) {
      auto mock_auth = std::make_unique<MockAuthenticator>();
      EXPECT_CALL(*mock_auth, doVerify(_, _, _, _, _))
          .WillOnce(Invoke([issuer = it.first, status = it.second](
                               Http::HeaderMap&, Tracing::Span&, std::vector<JwtLocationConstPtr>*,
                               SetPayloadCallback set_payload_cb, AuthenticatorCallback callback) {
            if (status == Status::Ok) {
              ProtobufWkt::Struct empty_struct;
              set_payload_cb(issuer, empty_struct);
            }
            callback(status);
          }));
      EXPECT_CALL(*mock_auth, onDestroy());
      mock_auths_[it.first] = std::move(mock_auth);
    }
    createVerifier();
  }
  void createSyncMockAuthsAndVerifier(const StatusMap& statuses) {
    for (const auto& it : statuses) {
      auto mock_auth = std::make_unique<MockAuthenticator>();
      EXPECT_CALL(*mock_auth, doVerify(_, _, _, _, _))
          .WillOnce(Invoke([issuer = it.first, status = it.second](
                               Http::HeaderMap&, Tracing::Span&, std::vector<JwtLocationConstPtr>*,
                               SetPayloadCallback set_payload_cb, AuthenticatorCallback callback) {
            if (status == Status::Ok) {
              ProtobufWkt::Struct empty_struct;
              set_payload_cb(issuer, empty_struct);
            }
            callback(status);
          }));
      EXPECT_CALL(*mock_auth, onDestroy());
      mock_auths_[it.first] = std::move(mock_auth);
    }
    createVerifier();
  }