@Test
void load() {

    ListenPortLoader loader = new ListenPortLoader();
    Bundle bundle = new Bundle();
    loader.load(bundle, buildListenPortElement(DocumentTools.INSTANCE.getDocumentBuilder().newDocument(), true));
    assertFalse(bundle.getListenPorts().isEmpty());
    assertEquals(1, bundle.getListenPorts().size());
    ListenPort listenPort = bundle.getListenPorts().get("port");
    assertNotNull(listenPort);
    assertEquals(1234, listenPort.getPort());
    assertEquals("http", listenPort.getProtocol());
    assertTrue(SetUtils.isEqualSet(listenPort.getEnabledFeatures(), Stream.of(Feature.values()).map(Feature::name).collect(Collectors.toSet())));
    assertEquals("Service", listenPort.getTargetServiceReference());
    assertNotNull(listenPort.getTlsSettings());
    ListenPortTlsSettings tlsSettings = listenPort.getTlsSettings();
    Assertions.assertEquals(ClientAuthentication.REQUIRED, tlsSettings.getClientAuthentication());
    assertTrue(SetUtils.isEqualSet(tlsSettings.getEnabledCipherSuites(), ListenPort.DEFAULT_RECOMMENDED_CIPHERS));
    assertTrue(SetUtils.isEqualSet(tlsSettings.getEnabledVersions(), ListenPort.TLS_VERSIONS));
    assertEquals("Key", tlsSettings.getPrivateKey());
    assertPropertiesContent(Collections.emptyMap(), tlsSettings.getProperties());
    assertPropertiesContent(ImmutableMap.of("prop", "value"), listenPort.getProperties());
}