add embargoUnwrap test
This commit is contained in:
parent
bac65dbf86
commit
f0d4d9d75a
3 changed files with 61 additions and 13 deletions
|
@ -66,18 +66,6 @@ class TestExtendsImpl extends Test.TestExtends2.Server {
|
|||
}
|
||||
}
|
||||
|
||||
class TestCallOrderImpl extends Test.TestCallOrder.Server {
|
||||
|
||||
int count = 0;
|
||||
|
||||
@Override
|
||||
protected CompletableFuture<java.lang.Void> getCallSequence(CallContext<Test.TestCallOrder.GetCallSequenceParams.Reader, Test.TestCallOrder.GetCallSequenceResults.Builder> context) {
|
||||
var result = context.getResults();
|
||||
result.setN(this.count++);
|
||||
return READY_NOW;
|
||||
}
|
||||
}
|
||||
|
||||
public class CapabilityTest {
|
||||
|
||||
@org.junit.Test
|
||||
|
|
|
@ -450,7 +450,7 @@ public class RpcTest {
|
|||
var context = new TestContext(bootstrapFactory);
|
||||
var client = new Test.TestMoreStuff.Client(context.connect(Test.TestSturdyRefObjectId.Tag.TEST_MORE_STUFF));
|
||||
|
||||
var cap = new Test.TestCallOrder.Client(new TestCallOrderImpl());
|
||||
var cap = new Test.TestCallOrder.Client(new RpcTestUtil.TestCallOrderImpl());
|
||||
var earlyCall = client.getCallSequenceRequest().send();
|
||||
|
||||
var echoRequest = client.echoRequest();
|
||||
|
@ -536,5 +536,49 @@ public class RpcTest {
|
|||
// check that the connection is still open
|
||||
getCallSequence(client, 1);
|
||||
}
|
||||
|
||||
@org.junit.Test
|
||||
public void testEmbargoUnwrap() {
|
||||
var context = new TestContext(bootstrapFactory);
|
||||
var capSet = new Capability.CapabilityServerSet<Test.TestCallOrder.Server>();
|
||||
var client = new Test.TestMoreStuff.Client(context.connect(Test.TestSturdyRefObjectId.Tag.TEST_MORE_STUFF));
|
||||
|
||||
var cap = capSet.add(Test.TestCallOrder.factory, new RpcTestUtil.TestCallOrderImpl());
|
||||
|
||||
var earlyCall = client.getCallSequenceRequest().send();
|
||||
|
||||
var echoRequest = client.echoRequest();
|
||||
echoRequest.getParams().setCap(cap);
|
||||
var echo = echoRequest.send();
|
||||
|
||||
var pipeline = echo.getCap();
|
||||
|
||||
var unwrap = capSet.getLocalServer(pipeline).thenApply(unwrapped -> {
|
||||
return ((RpcTestUtil.TestCallOrderImpl)unwrapped).getCount();
|
||||
});
|
||||
|
||||
var call0 = getCallSequence(pipeline, 0);
|
||||
var call1 = getCallSequence(pipeline, 1);
|
||||
|
||||
earlyCall.join();
|
||||
|
||||
var call2 = getCallSequence(pipeline, 2);
|
||||
|
||||
var resolved = echo.join().getCap();
|
||||
|
||||
var call3 = getCallSequence(pipeline, 3);
|
||||
var call4 = getCallSequence(pipeline, 4);
|
||||
var call5 = getCallSequence(pipeline, 5);
|
||||
|
||||
Assert.assertEquals(0, call0.join().getN());
|
||||
Assert.assertEquals(1, call1.join().getN());
|
||||
Assert.assertEquals(2, call2.join().getN());
|
||||
Assert.assertEquals(3, call3.join().getN());
|
||||
Assert.assertEquals(4, call4.join().getN());
|
||||
Assert.assertEquals(5, call5.join().getN());
|
||||
|
||||
int unwrappedAt = unwrap.join();
|
||||
//Assert.assertTrue(unwrappedAt >= 3);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -244,6 +244,22 @@ class RpcTestUtil {
|
|||
}
|
||||
}
|
||||
|
||||
static class TestCallOrderImpl extends Test.TestCallOrder.Server {
|
||||
|
||||
private int count = 0;
|
||||
|
||||
@Override
|
||||
protected CompletableFuture<java.lang.Void> getCallSequence(CallContext<Test.TestCallOrder.GetCallSequenceParams.Reader, Test.TestCallOrder.GetCallSequenceResults.Builder> context) {
|
||||
var result = context.getResults();
|
||||
result.setN(this.count++);
|
||||
return READY_NOW;
|
||||
}
|
||||
|
||||
public int getCount() {
|
||||
return this.count;
|
||||
}
|
||||
}
|
||||
|
||||
static class TestPipelineImpl extends Test.TestPipeline.Server {
|
||||
|
||||
final Counter callCount;
|
||||
|
|
Loading…
Reference in a new issue