GatewayCfg { public ClusterCfg getCluster() { return cluster; }  void init(); void init(final String defaultHost); boolean isInitialized(); NetworkCfg getNetwork(); GatewayCfg setNetwork(final NetworkCfg network); ClusterCfg getCluster(); GatewayCfg setCluster(final ClusterCfg cluster); ThreadsCfg getThreads(); GatewayCfg setThreads(final ThreadsCfg threads); MonitoringCfg getMonitoring(); GatewayCfg setMonitoring(final MonitoringCfg monitoring); SecurityCfg getSecurity(); GatewayCfg setSecurity(final SecurityCfg security); LongPollingCfg getLongPolling(); GatewayCfg setLongPolling(final LongPollingCfg longPolling); @Override int hashCode(); @Override boolean equals(final Object o); @Override String toString(); String toJson();  }
@Test public void shouldSetCustomMembershipConfig() { final GatewayCfg gatewayCfg = readConfig(CUSTOM_MEMBERSHIP_CFG_FILENAME); final var membershipCfg = gatewayCfg.getCluster().getMembership(); assertThat(membershipCfg.isBroadcastDisputes()).isFalse(); assertThat(membershipCfg.isBroadcastUpdates()).isTrue(); assertThat(membershipCfg.isNotifySuspect()).isTrue(); assertThat(membershipCfg.getGossipInterval()).isEqualTo(Duration.ofSeconds(2)); assertThat(membershipCfg.getGossipFanout()).isEqualTo(3); assertThat(membershipCfg.getProbeInterval()).isEqualTo(Duration.ofSeconds(3)); assertThat(membershipCfg.getProbeTimeout()).isEqualTo(Duration.ofSeconds(5)); assertThat(membershipCfg.getSuspectProbes()).isEqualTo(5); assertThat(membershipCfg.getFailureTimeout()).isEqualTo(Duration.ofSeconds(20)); assertThat(membershipCfg.getSyncInterval()).isEqualTo(Duration.ofSeconds(25)); }