Skip to content
Permalink
Browse files
Add triple UT
  • Loading branch information
guohao committed Aug 30, 2021
1 parent 1321bc2 commit 2889556c8524dec4f74f341c4d8816773f873551
Show file tree
Hide file tree
Showing 22 changed files with 549 additions and 270 deletions.

This file was deleted.

@@ -15,7 +15,7 @@
* limitations under the License.
*/

package com.apache.dubbo.sample.basic;
package org.apache.dubbo.sample.tri;

import org.apache.dubbo.common.constants.CommonConstants;
import org.apache.dubbo.common.stream.StreamObserver;
@@ -29,10 +29,10 @@
import java.io.IOException;
import java.util.concurrent.TimeUnit;

public class ApiConsumer {
private static IGreeter iGreeter;
class ApiConsumer {
private final IGreeter delegate;

public static void main(String[] args) throws IOException {
ApiConsumer() {
ReferenceConfig<IGreeter> ref = new ReferenceConfig<>();
ref.setInterface(IGreeter.class);
ref.setCheck(false);
@@ -48,54 +48,26 @@ public static void main(String[] args) throws IOException {
.reference(ref)
.start();

iGreeter = ref.get();
this.delegate = ref.get();
}

System.out.println("dubbo ref started");
unaryHello();
sayHelloException();
stream();
serverStream();
public static void main(String[] args) throws IOException {
final ApiConsumer consumer = new ApiConsumer();
System.out.println("dubbo triple consumer started");
consumer.unaryHello();
consumer.stream();
consumer.serverStream();
System.in.read();
}

public static void serverStream() {
iGreeter.sayHelloServerStream(HelloRequest.newBuilder()
public void serverStream() {
delegate.sayHelloServerStream(HelloRequest.newBuilder()
.setName("request")
.build(), new StreamObserver<HelloReply>() {
@Override
public void onNext(HelloReply data) {
System.out.println("stream reply:" + data);
}

@Override
public void onError(Throwable throwable) {
throwable.printStackTrace();
}

@Override
public void onCompleted() {
System.out.println("stream done");
}
});
.build(), new StdoutStreamObserver<>("serverStream"));
}

public static void stream() {
final StreamObserver<HelloRequest> request = iGreeter.sayHelloStream(new StreamObserver<HelloReply>() {
@Override
public void onNext(HelloReply data) {
System.out.println("stream reply:" + data);
}

@Override
public void onError(Throwable throwable) {
throwable.printStackTrace();
}

@Override
public void onCompleted() {
System.out.println("stream done");
}
});
public void stream() {
final StreamObserver<HelloRequest> request = delegate.sayHelloStream(new StdoutStreamObserver<>("stream"));
for (int i = 0; i < 10; i++) {
request.onNext(HelloRequest.newBuilder()
.setName("request")
@@ -104,9 +76,9 @@ public void onCompleted() {
request.onCompleted();
}

public static void unaryHello() {
public void unaryHello() {
try {
final HelloReply reply = iGreeter.sayHello(HelloRequest.newBuilder()
final HelloReply reply = delegate.sayHello(HelloRequest.newBuilder()
.setName("name")
.build());
TimeUnit.SECONDS.sleep(1);
@@ -116,13 +88,4 @@ public static void unaryHello() {
}
}

public static void sayHelloException() {
try {
final HelloReply reply = iGreeter.sayHelloException(HelloRequest.newBuilder()
.setName("name")
.build());
} catch (Throwable t) {
t.printStackTrace();
}
}
}
@@ -15,7 +15,7 @@
* limitations under the License.
*/

package com.apache.dubbo.sample.basic;
package org.apache.dubbo.sample.tri;

import org.apache.dubbo.common.constants.CommonConstants;
import org.apache.dubbo.config.ApplicationConfig;
@@ -24,7 +24,7 @@
import org.apache.dubbo.config.ServiceConfig;
import org.apache.dubbo.config.bootstrap.DubboBootstrap;

public class ApiProvider {
class ApiProvider {
public static void main(String[] args) {
ServiceConfig<IGreeter> service = new ServiceConfig<>();
service.setInterface(IGreeter.class);
@@ -0,0 +1,70 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.apache.dubbo.sample.tri;

import org.apache.dubbo.common.stream.StreamObserver;
import org.apache.dubbo.config.ApplicationConfig;
import org.apache.dubbo.config.ReferenceConfig;
import org.apache.dubbo.config.RegistryConfig;
import org.apache.dubbo.config.bootstrap.DubboBootstrap;

class ApiWrapperConsumer {
private final IGreeter2 delegate;

public ApiWrapperConsumer() {
ReferenceConfig<IGreeter2> ref = new ReferenceConfig<>();
ref.setInterface(IGreeter2.class);
ref.setCheck(false);
ref.setTimeout(3000);
ref.setProtocol("tri");
ref.setLazy(true);

DubboBootstrap bootstrap = DubboBootstrap.getInstance();
bootstrap.application(new ApplicationConfig("demo-consumer"))
.registry(new RegistryConfig("zookeeper://127.0.0.1:2181"))
.reference(ref)
.start();
this.delegate = ref.get();
}

public static void main(String[] args) {
final ApiWrapperConsumer consumer = new ApiWrapperConsumer();
System.out.println("dubbo triple wrapper consuemr started");
consumer.sayHelloUnary();
consumer.sayHelloStream();
consumer.sayHelloServerStream();
}

public void sayHelloUnary() {
System.out.println(delegate.sayHello("unary"));
}

public void sayHelloServerStream() {
delegate.sayHelloServerStream("server stream", new StdoutStreamObserver<>("sayHelloServerStream"));

}

public void sayHelloStream() {
final StreamObserver<String> request = delegate.sayHelloStream(new StdoutStreamObserver<>("sayHelloStream"));
for (int i = 0; i < 10; i++) {
request.onNext("stream request");
}
request.onCompleted();
}

}
@@ -15,7 +15,7 @@
* limitations under the License.
*/

package com.apache.dubbo.sample.basic;
package org.apache.dubbo.sample.tri;

import org.apache.dubbo.common.constants.CommonConstants;
import org.apache.dubbo.config.ApplicationConfig;
@@ -24,7 +24,7 @@
import org.apache.dubbo.config.ServiceConfig;
import org.apache.dubbo.config.bootstrap.DubboBootstrap;

public class ApiWrapperProvider {
class ApiWrapperProvider {
public static void main(String[] args) {
ServiceConfig<IGreeter2> service = new ServiceConfig<>();
service.setInterface(IGreeter2.class);
@@ -15,7 +15,7 @@
* limitations under the License.
*/

package com.apache.dubbo.sample.basic;
package org.apache.dubbo.sample.tri;

import org.apache.dubbo.common.constants.CommonConstants;
import org.apache.dubbo.common.extension.Activate;

0 comments on commit 2889556

Please sign in to comment.