### Question:
CouchbaseBucketConfig extends AbstractBucketConfig { public boolean ephemeral() { return ephemeral; } @JsonCreator  CouchbaseBucketConfig(
      @JsonProperty("rev") long rev,
      @JsonProperty("uuid") String uuid,
      @JsonProperty("name") String name,
      @JsonProperty("uri") String uri,
      @JsonProperty("streamingUri") String streamingUri,
      @JsonProperty("vBucketServerMap") PartitionInfo partitionInfo,
      @JsonProperty("nodes") List<NodeInfo> nodeInfos,
      @JsonProperty("nodesExt") List<PortInfo> portInfos,
      @JsonProperty("bucketCapabilities") List<BucketCapabilities> bucketCapabilities,
      @JsonProperty("clusterCapabilities") Map<String, Set<ClusterCapabilities>> clusterCapabilities,
      @JacksonInject("origin") String origin); int numberOfReplicas(); @Override boolean tainted(); boolean hasPrimaryPartitionsOnNode(final String hostname); short nodeIndexForActive(int partition, boolean useFastForward); short nodeIndexForReplica(int partition, int replica, boolean useFastForward); int numberOfPartitions(); NodeInfo nodeAtIndex(int nodeIndex); @Override long rev(); @Override BucketType type(); @Override boolean hasFastForwardMap(); boolean ephemeral(); @Override String toString(); static final int PARTITION_NOT_EXISTENT; }### Answer:
@Test void shouldFallbackToNodeHostnameIfNotInNodesExt() { CouchbaseBucketConfig config = readConfig("nodes_ext_without_hostname.json"); String expected = "1.2.3.4"; assertEquals(1, config.nodes().size()); assertEquals(expected, config.nodes().get(0).hostname()); assertEquals(BucketNodeLocator.VBUCKET, config.locator()); assertFalse(config.ephemeral()); }
@Test void shouldLoadEphemeralBucketConfig() { CouchbaseBucketConfig config = readConfig("ephemeral_bucket_config.json"); assertTrue(config.ephemeral()); assertTrue(config.serviceEnabled(ServiceType.KV)); assertFalse(config.serviceEnabled(ServiceType.VIEWS)); }