Skip to content

Commit

Permalink
Merge pull request #93 from lowasser/top-level-constants-static
Browse files Browse the repository at this point in the history
Make the top-level properties JvmStatic
  • Loading branch information
lowasser committed May 13, 2020
2 parents 2690082 + d43136f commit 19423e8
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 87 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ class TopLevelConstantsGenerator(config: GeneratorConfig): ServiceCodeGenerator(
override fun generate(service: Descriptors.ServiceDescriptor): Declarations = declarations {
addProperty(
PropertySpec.builder("serviceDescriptor", ServiceDescriptor::class)
.addAnnotation(JvmStatic::class)
.getter(
FunSpec.getterBuilder()
.addStatement("return %T.getServiceDescriptor()", service.grpcClass)
Expand All @@ -41,6 +42,7 @@ class TopLevelConstantsGenerator(config: GeneratorConfig): ServiceCodeGenerator(
)
.getter(
FunSpec.getterBuilder()
.addAnnotation(JvmStatic::class)
.addStatement("return %T.get%LMethod()", service.grpcClass, method.methodName)
.build()
)
Expand Down
87 changes: 0 additions & 87 deletions stub/src/test/java/io/grpc/kotlin/ClientCallsTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -406,58 +406,6 @@ class ClientCallsTest: AbstractCallsTest() {
}
}

@FlowPreview
@Test
fun clientStreamingRpcCancellation() = runBlocking {
val serverCancelled = Job()
val serverReceived = Job()
val serverImpl = object : GreeterGrpc.GreeterImplBase() {
override fun clientStreamSayHello(
responseObserver: StreamObserver<HelloReply>
): StreamObserver<HelloRequest> {
return object : StreamObserver<HelloRequest> {
private val names = mutableListOf<String>()

override fun onNext(value: HelloRequest) {
whenContextIsCancelled { serverCancelled.complete() }
Context.current().withCancellation().addListener(
Context.CancellationListener {
serverCancelled.complete()
},
directExecutor()
)
serverReceived.complete()
names += value.name
}

override fun onError(t: Throwable) = throw t

override fun onCompleted() {
responseObserver.onNext(
helloReply(names.joinToString(prefix = "Hello, ", separator = ", "))
)
responseObserver.onCompleted()
}
}
}
}

channel = makeChannel(serverImpl)

val requests = Channel<HelloRequest>()
val rpc = async {
ClientCalls.clientStreamingRpc(
channel = channel,
method = clientStreamingSayHelloMethod,
requests = requests.consumeAsFlow()
)
}
requests.send(helloRequest("Tim"))
serverReceived.join()
rpc.cancel(CancellationException("no longer needed"))
serverCancelled.join()
}

@FlowPreview
@Test
fun clientStreamingRpcCancelled() = runBlocking {
Expand Down Expand Up @@ -661,39 +609,4 @@ class ClientCallsTest: AbstractCallsTest() {
assertThat(responses.single()).isEqualTo(helloReply("Hello, Sunstone"))
assertThat(requestsEvaluations.get()).isEqualTo(2)
}

@ExperimentalCoroutinesApi
@Test
fun bidiStreamingCancelResponsesCancelsRequests() = runBlocking {
val serverImpl = object : GreeterGrpc.GreeterImplBase() {
override fun bidiStreamSayHello(
responseObserver: StreamObserver<HelloReply>
): StreamObserver<HelloRequest> {
return object : StreamObserver<HelloRequest> {
override fun onNext(value: HelloRequest) {
responseObserver.onNext(helloReply("Hello, ${value.name}"))
}

override fun onError(t: Throwable) = throw t

override fun onCompleted() {
responseObserver.onCompleted()
}
}
}
}

val channel = makeChannel(serverImpl)

val cancelled = Job()
val requests = flow {
emit(helloRequest("Steven"))
emit(helloRequest("Garnet"))
suspendUntilCancelled { cancelled.complete() }
}
assertThat(
ClientCalls.bidiStreamingRpc(channel, bidiStreamingSayHelloMethod, requests).take(2).toList()
).containsExactly(helloReply("Hello, Steven"), helloReply("Hello, Garnet")).inOrder()
cancelled.join()
}
}

0 comments on commit 19423e8

Please sign in to comment.