@java.lang.Override public Builder newBuilderForType() { return newBuilder(); }
/** * * * <pre> * The request that prompted the initiation of this UpdateCluster operation. * </pre> * * <code>.google.bigtable.admin.v2.Cluster original_request = 1;</code> */ public Builder mergeOriginalRequest(com.google.bigtable.admin.v2.Cluster value) { if (originalRequestBuilder_ == null) { if (originalRequest_ != null) { originalRequest_ = com.google.bigtable.admin.v2.Cluster.newBuilder(originalRequest_) .mergeFrom(value) .buildPartial(); } else { originalRequest_ = value; } onChanged(); } else { originalRequestBuilder_.mergeFrom(value); } return this; } /**
/** * * * <pre> * The cluster to be created. * Fields marked `OutputOnly` must be left blank. * </pre> * * <code>.google.bigtable.admin.v2.Cluster cluster = 3;</code> */ public Builder mergeCluster(com.google.bigtable.admin.v2.Cluster value) { if (clusterBuilder_ == null) { if (cluster_ != null) { cluster_ = com.google.bigtable.admin.v2.Cluster.newBuilder(cluster_) .mergeFrom(value) .buildPartial(); } else { cluster_ = value; } onChanged(); } else { clusterBuilder_.mergeFrom(value); } return this; } /**
/** * Asynchronously resizes the cluster's node count. Please note that only clusters that belong to * a PRODUCTION instance can be resized. * * <pre>{@code * ApiFuture<Cluster> clusterFuture = client.resizeCluster("my-instance", "my-cluster", 30); * Cluster cluster = clusterFuture.get(); * }</pre> */ @SuppressWarnings("WeakerAccess") public ApiFuture<Cluster> resizeClusterAsync( String instanceId, String clusterId, int numServeNodes) { String name = NameUtil.formatClusterName(projectId, instanceId, clusterId); com.google.bigtable.admin.v2.Cluster request = com.google.bigtable.admin.v2.Cluster.newBuilder() .setName(name) .setServeNodes(numServeNodes) .build(); return ApiFutures.transform( stub.updateClusterOperationCallable().futureCall(request), new ApiFunction<com.google.bigtable.admin.v2.Cluster, Cluster>() { @Override public Cluster apply(com.google.bigtable.admin.v2.Cluster proto) { return Cluster.fromProto(proto); } }, MoreExecutors.directExecutor()); }
@Test public void testGetCluster() { // Setup com.google.bigtable.admin.v2.GetClusterRequest expectedRequest = com.google.bigtable.admin.v2.GetClusterRequest.newBuilder().setName(CLUSTER_NAME).build(); com.google.bigtable.admin.v2.Cluster expectedResponse = com.google.bigtable.admin.v2.Cluster.newBuilder().setName(CLUSTER_NAME).build(); Mockito.when(mockGetClusterCallable.futureCall(expectedRequest)) .thenReturn(ApiFutures.immediateFuture(expectedResponse)); // Execute Cluster actualResult = adminClient.getCluster(INSTANCE_ID, CLUSTER_ID); // Verify assertThat(actualResult).isEqualTo(Cluster.fromProto(expectedResponse)); }
@Test @SuppressWarnings("all") public void createClusterExceptionTest() throws Exception { StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockBigtableInstanceAdmin.addException(exception); try { InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]"); String clusterId = "clusterId240280960"; Cluster cluster = Cluster.newBuilder().build(); client.createClusterAsync(parent, clusterId, cluster).get(); Assert.fail("No exception raised"); } catch (ExecutionException e) { Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); InvalidArgumentException apiException = (InvalidArgumentException) e.getCause(); Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); } }
@Test public void testFromProto() { com.google.bigtable.admin.v2.Cluster proto = com.google.bigtable.admin.v2.Cluster.newBuilder() .setName("projects/my-project/instances/my-instance/clusters/my-cluster") .setLocation("projects/my-project/locations/us-east1-c") .setState(com.google.bigtable.admin.v2.Cluster.State.READY) .setServeNodes(30) .setDefaultStorageType(com.google.bigtable.admin.v2.StorageType.SSD) .build(); Cluster result = Cluster.fromProto(proto); assertThat(result.getId()).isEqualTo("my-cluster"); assertThat(result.getInstanceId()).isEqualTo("my-instance"); assertThat(result.getZone()).isEqualTo("us-east1-c"); assertThat(result.getState()).isEqualTo(Cluster.State.READY); assertThat(result.getServeNodes()).isEqualTo(30); assertThat(result.getStorageType()).isEqualTo(StorageType.SSD); }
@Test public void testRequiresName() { com.google.bigtable.admin.v2.Cluster proto = com.google.bigtable.admin.v2.Cluster.newBuilder() .setLocation("projects/my-project/locations/us-east1-c") .setState(com.google.bigtable.admin.v2.Cluster.State.READY) .setServeNodes(30) .setDefaultStorageType(com.google.bigtable.admin.v2.StorageType.SSD) .build(); Exception actualException = null; try { Cluster.fromProto(proto); } catch (Exception e) { actualException = e; } assertThat(actualException).isInstanceOf(IllegalArgumentException.class); }
@Test public void testResizeCluster() { // Setup com.google.bigtable.admin.v2.Cluster expectedRequest = com.google.bigtable.admin.v2.Cluster.newBuilder() .setName(CLUSTER_NAME) .setServeNodes(30) .build(); com.google.bigtable.admin.v2.Cluster expectedResponse = com.google.bigtable.admin.v2.Cluster.newBuilder() .setName(CLUSTER_NAME) .setLocation(NameUtil.formatLocationName(PROJECT_ID, "us-east1-c")) .setServeNodes(30) .build(); mockOperationResult(mockUpdateClusterCallable, expectedRequest, expectedResponse); // Execute Cluster actualResult = adminClient.resizeCluster(INSTANCE_ID, CLUSTER_ID, 30); // Verify assertThat(actualResult).isEqualTo(Cluster.fromProto(expectedResponse)); }
@Test public void testListClusters() { // Setup com.google.bigtable.admin.v2.ListClustersRequest expectedRequest = com.google.bigtable.admin.v2.ListClustersRequest.newBuilder() .setParent(INSTANCE_NAME) .build(); com.google.bigtable.admin.v2.ListClustersResponse expectedResponse = com.google.bigtable.admin.v2.ListClustersResponse.newBuilder() .addClusters( com.google.bigtable.admin.v2.Cluster.newBuilder().setName(CLUSTER_NAME + "1")) .addClusters( com.google.bigtable.admin.v2.Cluster.newBuilder().setName(CLUSTER_NAME + "2")) .build(); Mockito.when(mockListClustersCallable.futureCall(expectedRequest)) .thenReturn(ApiFutures.immediateFuture(expectedResponse)); // Execute List<Cluster> actualResult = adminClient.listClusters(INSTANCE_ID); // Verify assertThat(actualResult) .containsExactly( Cluster.fromProto(expectedResponse.getClusters(0)), Cluster.fromProto(expectedResponse.getClusters(1))); }
@Test public void testListClustersFailedZone() { // Setup com.google.bigtable.admin.v2.ListClustersRequest expectedRequest = com.google.bigtable.admin.v2.ListClustersRequest.newBuilder() .setParent(INSTANCE_NAME) .build(); com.google.bigtable.admin.v2.ListClustersResponse expectedResponse = com.google.bigtable.admin.v2.ListClustersResponse.newBuilder() .addClusters(com.google.bigtable.admin.v2.Cluster.newBuilder().setName(CLUSTER_NAME)) .addFailedLocations(NameUtil.formatLocationName(PROJECT_ID, "us-east1-c")) .build(); Mockito.when(mockListClustersCallable.futureCall(expectedRequest)) .thenReturn(ApiFutures.immediateFuture(expectedResponse)); // Execute Exception actualError = null; try { adminClient.listClusters(INSTANCE_ID); } catch (Exception e) { actualError = e; } // Verify assertThat(actualError).isInstanceOf(PartialListClustersException.class); assert actualError != null; PartialListClustersException partialListError = (PartialListClustersException) actualError; assertThat(partialListError.getClusters()) .containsExactly(Cluster.fromProto(expectedResponse.getClusters(0))); assertThat(partialListError.getUnavailableZones()).containsExactly("us-east1-c"); }
@Test public void testCreateCluster() { // Setup com.google.bigtable.admin.v2.CreateClusterRequest expectedRequest = com.google.bigtable.admin.v2.CreateClusterRequest.newBuilder() .setParent(INSTANCE_NAME) .setClusterId(CLUSTER_ID) .setCluster( com.google.bigtable.admin.v2.Cluster.newBuilder() .setLocation("projects/my-project/locations/us-east1-c") .setServeNodes(3) .setDefaultStorageType(com.google.bigtable.admin.v2.StorageType.SSD)) .build(); com.google.bigtable.admin.v2.Cluster expectedResponse = com.google.bigtable.admin.v2.Cluster.newBuilder().setName(CLUSTER_NAME).build(); mockOperationResult(mockCreateClusterCallable, expectedRequest, expectedResponse); // Execute Cluster actualResult = adminClient.createCluster( CreateClusterRequest.of(INSTANCE_ID, CLUSTER_ID) .setZone("us-east1-c") .setServeNodes(3) .setStorageType(StorageType.SSD)); // Verify assertThat(actualResult).isEqualTo(Cluster.fromProto(expectedResponse)); }
.putClusters( "cluster1", com.google.bigtable.admin.v2.Cluster.newBuilder() .setLocation("projects/my-project/locations/us-east1-c") .setServeNodes(3) .putClusters( "cluster2", com.google.bigtable.admin.v2.Cluster.newBuilder() .setLocation("projects/my-project/locations/us-east1-a") .setServeNodes(3)
@Test @SuppressWarnings("all") public void getClusterTest() { ClusterName name2 = ClusterName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]"); LocationName location = LocationName.of("[PROJECT]", "[LOCATION]"); int serveNodes = 1288838783; Cluster expectedResponse = Cluster.newBuilder() .setName(name2.toString()) .setLocation(location.toString()) .setServeNodes(serveNodes) .build(); mockBigtableInstanceAdmin.addResponse(expectedResponse); ClusterName name = ClusterName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]"); Cluster actualResponse = client.getCluster(name); Assert.assertEquals(expectedResponse, actualResponse); List<GeneratedMessageV3> actualRequests = mockBigtableInstanceAdmin.getRequests(); Assert.assertEquals(1, actualRequests.size()); GetClusterRequest actualRequest = (GetClusterRequest) actualRequests.get(0); Assert.assertEquals(name, ClusterName.parse(actualRequest.getName())); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
int serveNodes = 1288838783; Cluster expectedResponse = Cluster.newBuilder() .setName(name.toString()) .setLocation(location.toString()) Cluster cluster = Cluster.newBuilder().build();
@Test public void testDevelopment() { CreateInstanceRequest input = CreateInstanceRequest.of("my-instance") .setType(Instance.Type.DEVELOPMENT) .addCluster("cluster1", "us-east1-c", 1, StorageType.SSD); com.google.bigtable.admin.v2.CreateInstanceRequest actual = input.toProto("my-project"); com.google.bigtable.admin.v2.CreateInstanceRequest expected = com.google.bigtable.admin.v2.CreateInstanceRequest.newBuilder() .setParent(NameUtil.formatProjectName("my-project")) .setInstanceId("my-instance") .setInstance( com.google.bigtable.admin.v2.Instance.newBuilder() .setDisplayName("my-instance") .setType(com.google.bigtable.admin.v2.Instance.Type.DEVELOPMENT)) .putClusters( "cluster1", com.google.bigtable.admin.v2.Cluster.newBuilder() .setLocation("projects/my-project/locations/us-east1-c") .setServeNodes(1) .setDefaultStorageType(com.google.bigtable.admin.v2.StorageType.SSD) .build()) .build(); assertThat(actual).isEqualTo(expected); }
@Test public void testProductionSingle() { CreateInstanceRequest input = CreateInstanceRequest.of("my-instance") .setType(Instance.Type.PRODUCTION) .addCluster("cluster1", "us-east1-c", 3, StorageType.SSD); com.google.bigtable.admin.v2.CreateInstanceRequest actual = input.toProto("my-project"); com.google.bigtable.admin.v2.CreateInstanceRequest expected = com.google.bigtable.admin.v2.CreateInstanceRequest.newBuilder() .setParent(NameUtil.formatProjectName("my-project")) .setInstanceId("my-instance") .setInstance( com.google.bigtable.admin.v2.Instance.newBuilder() .setDisplayName("my-instance") .setType(com.google.bigtable.admin.v2.Instance.Type.PRODUCTION)) .putClusters( "cluster1", com.google.bigtable.admin.v2.Cluster.newBuilder() .setLocation("projects/my-project/locations/us-east1-c") .setServeNodes(3) .setDefaultStorageType(com.google.bigtable.admin.v2.StorageType.SSD) .build()) .build(); assertThat(actual).isEqualTo(expected); }
.putClusters( "cluster1", com.google.bigtable.admin.v2.Cluster.newBuilder() .setLocation("projects/my-project/locations/us-east1-c") .setServeNodes(1)
.putClusters( "cluster1", com.google.bigtable.admin.v2.Cluster.newBuilder() .setLocation("projects/my-project/locations/us-east1-c") .setServeNodes(1)
@java.lang.Override public Builder newBuilderForType() { return newBuilder(); }