AtlasDbConfig { public abstract KeyValueServiceConfig keyValueService();  abstract KeyValueServiceConfig keyValueService(); abstract Optional<LeaderConfig> leader(); abstract Optional<TimeLockClientConfig> timelock(); abstract Optional<ServerListConfig> lock(); abstract Optional<ServerListConfig> timestamp(); abstract Optional<PersistentStorageConfig> persistentStorage(); abstract Optional<String> namespace(); @Value.Default long getTransactionReadTimeoutMillis(); @Value.Default long getPunchIntervalMillis(); @Value.Default boolean backgroundScrubAggressively(); @Value.Default int getBackgroundScrubThreads(); @Value.Default int getBackgroundScrubReadThreads(); @Value.Default long getBackgroundScrubFrequencyMillis(); @Value.Default int getBackgroundScrubBatchSize(); @Value.Default boolean initializeAsync(); @Value.Default TargetedSweepInstallConfig targetedSweep(); @Deprecated @Value.Default long getSweepPauseMillis(); @Value.Default long getSweepPersistentLockWaitMillis(); @Deprecated @Nullable abstract Integer getSweepReadLimit(); @Deprecated @Nullable abstract Integer getSweepCandidateBatchHint(); @Deprecated @Nullable abstract Integer getSweepDeleteBatchHint(); @Deprecated @Nullable abstract Integer getSweepBatchSize(); @Deprecated @Nullable abstract Integer getSweepCellBatchSize(); @Value.Default long getKvsSlowLogThresholdMillis(); @Value.Default int getDefaultLockTimeoutSeconds(); abstract Optional<TimestampCache> timestampCache(); @Value.Default boolean enableNonstandardAndPossiblyErrorProneTopologyAllowDifferentKvsAndTimelockNamespaces(); @JsonIgnore AtlasDbConfig toOfflineConfig();  }
@Test public void configWithNoLeaderOrLockIsValid() { AtlasDbConfig config = ImmutableAtlasDbConfig.builder() .keyValueService(KVS_CONFIG_WITH_NAMESPACE) .build(); assertThat(config, not(nullValue())); }