use of com.google.spanner.admin.instance.v1.InstanceName in project java-bigtable by googleapis.
the class BaseBigtableTableAdminClientTest method createTableTest.
@Test
public void createTableTest() throws Exception {
Table expectedResponse = Table.newBuilder().setName(TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]").toString()).putAllClusterStates(new HashMap<String, Table.ClusterState>()).putAllColumnFamilies(new HashMap<String, ColumnFamily>()).setRestoreInfo(RestoreInfo.newBuilder().build()).build();
mockBigtableTableAdmin.addResponse(expectedResponse);
InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
String tableId = "tableId-1552905847";
Table table = Table.newBuilder().build();
Table actualResponse = client.createTable(parent, tableId, table);
Assert.assertEquals(expectedResponse, actualResponse);
List<AbstractMessage> actualRequests = mockBigtableTableAdmin.getRequests();
Assert.assertEquals(1, actualRequests.size());
CreateTableRequest actualRequest = ((CreateTableRequest) actualRequests.get(0));
Assert.assertEquals(parent.toString(), actualRequest.getParent());
Assert.assertEquals(tableId, actualRequest.getTableId());
Assert.assertEquals(table, actualRequest.getTable());
Assert.assertTrue(channelProvider.isHeaderSent(ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
}
use of com.google.spanner.admin.instance.v1.InstanceName in project java-spanner by googleapis.
the class DatabaseAdminGaxTest method listDatabasesTest.
@Test
public void listDatabasesTest() {
Exception exception = setupException();
String nextPageToken = "token%d";
List<com.google.spanner.admin.database.v1.Database> databases = new ArrayList<>(2);
for (int i = 0; i < 2; i++) {
databases.add(com.google.spanner.admin.database.v1.Database.newBuilder().setName(String.format("projects/%s/instances/%s/databases/test%d", PROJECT, INSTANCE, i)).build());
}
if (exceptionAtCall == 0) {
mockDatabaseAdmin.addException(exception);
}
for (int i = 0; i < 2; i++) {
ListDatabasesResponse.Builder builder = ListDatabasesResponse.newBuilder().addAllDatabases(Collections.singletonList(databases.get(i)));
if (i < (databases.size() - 1)) {
builder.setNextPageToken(String.format(nextPageToken, i));
}
if (exceptionAtCall == (i + 1)) {
mockDatabaseAdmin.addException(exception);
}
mockDatabaseAdmin.addResponse(builder.build());
}
InstanceName parent = InstanceName.of(PROJECT, INSTANCE);
Page<Database> pagedListResponse = client.listDatabases(INSTANCE);
List<Database> resources = Lists.newArrayList(pagedListResponse.iterateAll());
Assert.assertEquals(2, resources.size());
List<AbstractMessage> actualRequests = mockDatabaseAdmin.getRequests();
Assert.assertEquals(2, actualRequests.size());
ListDatabasesRequest actualRequest = (ListDatabasesRequest) actualRequests.get(0);
Assert.assertEquals(parent, InstanceName.parse(actualRequest.getParent()));
}
use of com.google.spanner.admin.instance.v1.InstanceName in project java-spanner by googleapis.
the class InstanceAdminGaxTest method getInstanceTest.
@Test
public void getInstanceTest() {
Exception exception = setupException();
InstanceName name2 = InstanceName.of(PROJECT, "INSTANCE");
String displayName = "displayName1615086568";
InstanceConfigName config = InstanceConfigName.of(PROJECT, "INSTANCE_CONFIG");
com.google.spanner.admin.instance.v1.Instance expectedResponse = com.google.spanner.admin.instance.v1.Instance.newBuilder().setName(name2.toString()).setConfig(config.toString()).setDisplayName(displayName).setNodeCount(3).build();
if (exceptionAtCall == 0) {
mockInstanceAdmin.addException(exception);
}
mockInstanceAdmin.addResponse(expectedResponse);
if (exceptionAtCall == 1) {
mockInstanceAdmin.addException(exception);
}
mockInstanceAdmin.addResponse(expectedResponse);
InstanceName name = InstanceName.of(PROJECT, "INSTANCE");
for (int i = 0; i < 2; i++) {
Instance actualResponse = client.getInstance(name.toString());
Assert.assertEquals(displayName, actualResponse.getDisplayName());
}
List<AbstractMessage> actualRequests = mockInstanceAdmin.getRequests();
Assert.assertEquals(2, actualRequests.size());
}
use of com.google.spanner.admin.instance.v1.InstanceName in project java-spanner by googleapis.
the class InstanceAdminGaxTest method updateInstanceTest.
@Test
public void updateInstanceTest() throws Exception {
boolean methodIsIdempotent = !spanner.getOptions().getInstanceAdminStubSettings().updateInstanceOperationSettings().getInitialCallSettings().getRetryableCodes().isEmpty();
if (!methodIsIdempotent && exceptionType == ExceptionType.DELAYED) {
// Skip this test as the method is non-idempotent and won't retry anyways.
return;
}
Exception exception = setupException();
InstanceName name = InstanceName.of(PROJECT, "INSTANCE");
InstanceConfigName config = InstanceConfigName.of(PROJECT, "INSTANCE_CONFIG");
String displayName = "displayName1615086568";
int nodeCount = 1539922066;
com.google.spanner.admin.instance.v1.Instance expectedResponse = com.google.spanner.admin.instance.v1.Instance.newBuilder().setName(name.toString()).setConfig(config.toString()).setDisplayName(displayName).setNodeCount(nodeCount).build();
com.google.longrunning.Operation resultOperation = com.google.longrunning.Operation.newBuilder().setName("updateInstanceTest").setDone(true).setResponse(Any.pack(expectedResponse)).build();
if (exceptionAtCall == 0) {
mockInstanceAdmin.addException(exception);
}
mockInstanceAdmin.addResponse(resultOperation);
if (exceptionAtCall == 1) {
mockInstanceAdmin.addException(exception);
}
mockInstanceAdmin.addResponse(resultOperation);
for (int i = 0; i < 2; i++) {
OperationFuture<Instance, UpdateInstanceMetadata> actualResponse = client.updateInstance(InstanceInfo.newBuilder(InstanceId.of(PROJECT, "INSTANCE")).setDisplayName(displayName).setNodeCount(nodeCount).build());
try {
Instance returnedInstance = actualResponse.get();
if (!methodIsIdempotent && i == exceptionAtCall) {
fail("missing expected exception");
}
Assert.assertEquals(displayName, returnedInstance.getDisplayName());
} catch (ExecutionException e) {
if (!exceptionType.isRetryable() || methodIsIdempotent || i != exceptionAtCall) {
Throwables.throwIfUnchecked(e.getCause());
throw e;
}
}
}
List<AbstractMessage> actualRequests = mockInstanceAdmin.getRequests();
if (methodIsIdempotent) {
Assert.assertEquals(2, actualRequests.size());
} else {
Assert.assertEquals(1, actualRequests.size());
}
}
use of com.google.spanner.admin.instance.v1.InstanceName in project java-spanner by googleapis.
the class InstanceAdminGaxTest method createInstanceTest.
@Test
public void createInstanceTest() throws Exception {
boolean methodIsIdempotent = !spanner.getOptions().getInstanceAdminStubSettings().createInstanceOperationSettings().getInitialCallSettings().getRetryableCodes().isEmpty();
if (!methodIsIdempotent && exceptionType == ExceptionType.DELAYED) {
// Skip this test as the method is non-idempotent and won't retry anyways.
return;
}
Exception exception = setupException();
InstanceName name = InstanceName.of(PROJECT, "INSTANCE");
InstanceConfigName config = InstanceConfigName.of(PROJECT, "INSTANCE_CONFIG");
String displayName = "displayName1615086568";
int nodeCount = 1539922066;
com.google.spanner.admin.instance.v1.Instance expectedResponse = com.google.spanner.admin.instance.v1.Instance.newBuilder().setName(name.toString()).setConfig(config.toString()).setDisplayName(displayName).setNodeCount(nodeCount).build();
com.google.longrunning.Operation resultOperation = com.google.longrunning.Operation.newBuilder().setName("createInstanceTest").setDone(true).setResponse(Any.pack(expectedResponse)).build();
if (exceptionAtCall == 0) {
mockInstanceAdmin.addException(exception);
}
mockInstanceAdmin.addResponse(resultOperation);
if (exceptionAtCall == 1) {
mockInstanceAdmin.addException(exception);
}
mockInstanceAdmin.addResponse(resultOperation);
for (int i = 0; i < 2; i++) {
OperationFuture<Instance, CreateInstanceMetadata> actualResponse = client.createInstance(InstanceInfo.newBuilder(InstanceId.of(PROJECT, "INSTANCE")).setDisplayName(displayName).setNodeCount(nodeCount).build());
try {
Instance returnedInstance = actualResponse.get();
if (!methodIsIdempotent && i == exceptionAtCall) {
fail("missing expected exception");
}
Assert.assertEquals(displayName, returnedInstance.getDisplayName());
} catch (ExecutionException e) {
if (!exceptionType.isRetryable() || methodIsIdempotent || i != exceptionAtCall) {
Throwables.throwIfUnchecked(e.getCause());
throw e;
}
}
}
List<AbstractMessage> actualRequests = mockInstanceAdmin.getRequests();
if (methodIsIdempotent) {
Assert.assertEquals(2, actualRequests.size());
} else {
Assert.assertEquals(1, actualRequests.size());
}
}
Aggregations