X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Ffcp%2Fquelaton%2FDefaultFcpClientTest.java;h=a93c229cd3b140ce424e04c2a0836dc6af3f7d54;hb=db815b5a0f70dcc602fc33b27c39e05a4e2fe57c;hp=4fad0ead72cba863764672e332b252013b913334;hpb=7f2aac0c599e683ea50b6b41e85d3ca76e1c1f55;p=jFCPlib.git diff --git a/src/test/java/net/pterodactylus/fcp/quelaton/DefaultFcpClientTest.java b/src/test/java/net/pterodactylus/fcp/quelaton/DefaultFcpClientTest.java index 4fad0ea..a93c229 100644 --- a/src/test/java/net/pterodactylus/fcp/quelaton/DefaultFcpClientTest.java +++ b/src/test/java/net/pterodactylus/fcp/quelaton/DefaultFcpClientTest.java @@ -20,10 +20,13 @@ import java.util.Collection; import java.util.List; import java.util.Optional; import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Supplier; import java.util.stream.Collectors; @@ -2301,6 +2304,28 @@ public class DefaultFcpClientTest { "EndMessage" ); assertThat(uskSubscription.get().get().getUri(), is(URI)); + AtomicInteger edition = new AtomicInteger(); + CountDownLatch updated = new CountDownLatch(2); + uskSubscription.get().get().onUpdate(e -> { + edition.set(e); + updated.countDown(); + }); + fcpServer.writeLine( + "SubscribedUSKUpdate", + "Identifier=" + identifier, + "URI=" + URI, + "Edition=23", + "EndMessage" + ); + fcpServer.writeLine( + "SubscribedUSKUpdate", + "Identifier=" + identifier, + "URI=" + URI, + "Edition=24", + "EndMessage" + ); + assertThat("updated in time", updated.await(5, TimeUnit.SECONDS), is(true)); + assertThat(edition.get(), is(24)); } }