@Test public void reload() { com.google.longrunning.Operation proto = newBuilder().setName("op1").setDone(false).build(); Operation<Database, String> op = Operation.create(rpc, proto, new ParserImpl()); com.google.spanner.admin.database.v1.Database db = com.google.spanner.admin.database.v1.Database.newBuilder() .setName(NAME) .setState(com.google.spanner.admin.database.v1.Database.State.READY) .build(); proto = newBuilder().setName("op1").setDone(true).setResponse(Any.pack(db)).build(); when(rpc.getOperation("op1")).thenReturn(proto); op = op.reload(); assertThat(op.getName()).isEqualTo("op1"); assertThat(op.isDone()).isTrue(); assertThat(op.isSuccessful()).isTrue(); assertThat(op.getMetadata()).isNull(); assertThat(op.getResult().getId().getName()).isEqualTo(NAME); }
@Test public void successfulOperation() { com.google.spanner.admin.database.v1.Database db = com.google.spanner.admin.database.v1.Database.newBuilder() .setName(NAME) .setState(com.google.spanner.admin.database.v1.Database.State.READY) .build(); com.google.longrunning.Operation proto = newBuilder().setName("op1").setDone(true).setResponse(Any.pack(db)).build(); Operation<Database, String> op = Operation.create(rpc, proto, new ParserImpl()); assertThat(op.getName()).isEqualTo("op1"); assertThat(op.isDone()).isTrue(); assertThat(op.isSuccessful()).isTrue(); assertThat(op.getMetadata()).isNull(); assertThat(op.getResult().getId().getName()).isEqualTo(NAME); }
@Test public void waitForCompletes() throws Exception { com.google.longrunning.Operation proto = newBuilder().setName("op1").setDone(false).build(); Operation<Database, String> op = Operation.create(rpc, proto, new ParserImpl()); com.google.spanner.admin.database.v1.Database db = com.google.spanner.admin.database.v1.Database.newBuilder() .setName(NAME) .setState(com.google.spanner.admin.database.v1.Database.State.READY) .build(); com.google.longrunning.Operation proto2 = newBuilder().setName("op1").setDone(true).setResponse(Any.pack(db)).build(); when(rpc.getOperation("op1")).thenReturn(proto, proto2); op = op.waitFor( RetryOption.totalTimeout(Duration.ofSeconds(3)), RetryOption.initialRetryDelay(Duration.ZERO)); assertThat(op.getName()).isEqualTo("op1"); assertThat(op.isDone()).isTrue(); assertThat(op.isSuccessful()).isTrue(); assertThat(op.getMetadata()).isNull(); assertThat(op.getResult().getId().getName()).isEqualTo(NAME); }
private Database getAnotherDatabaseProto() { return Database.newBuilder().setName(DB_NAME2).setState(Database.State.READY).build(); }
private Database getDatabaseProto() { return Database.newBuilder().setName(DB_NAME).setState(Database.State.READY).build(); }
private Database createDatabase() { com.google.spanner.admin.database.v1.Database proto = com.google.spanner.admin.database.v1.Database.newBuilder() .setName(NAME) .setState(com.google.spanner.admin.database.v1.Database.State.CREATING) .build(); return Database.fromProto(proto, dbClient); } }