@Override
  public List<IdpEntry> listAvailableIdps() {

    var entities = mustFetchIdpList();

    return entities.stream()
        .map(e -> new IdpEntry(e.iss(), e.organizationName(), e.logoUri()))
        .toList();
  }
@Test
  void getList() {
    var client = new FederationMasterClientImpl(FEDERATION_MASTER, federationApiClient, clock);

    var idpListEndpoint = FEDERATION_MASTER.resolve("/idplist");
    var es =
        EntityStatement.create()
            .metadata(
                Metadata.create()
                    .federationEntity(
                        FederationEntity.create()
                            .idpListEndpoint(idpListEndpoint.toString())
                            .build())
                    .build())
            .build();

    var jws = new EntityStatementJWS(null, es);
    when(federationApiClient.fetchEntityConfiguration(FEDERATION_MASTER)).thenReturn(jws);

    var idp1Name = "AOK Testfalen";
    var idp2Name = "AOK Nordheim";

    var idpListJws =
        new IdpListJWS(
            null,
            new IdpList(
                null,
                0,
                0,
                0,
                List.of(
                    new IdpEntity(null, idp1Name, null, null, true),
                    new IdpEntity(null, idp2Name, null, null, true))));
    when(federationApiClient.fetchIdpList(idpListEndpoint)).thenReturn(idpListJws);

    // when
    var got = client.listAvailableIdps();

    // then

    assertEquals(idp1Name, got.get(0).name());
    assertEquals(idp2Name, got.get(1).name());
  }