-
Notifications
You must be signed in to change notification settings - Fork 228
IT test for long values #713
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
c759e2d
afc31e6
b913cf9
fa8f19d
52bcadc
a31516f
acd4a32
bf825b1
ba29451
4ba4859
93a5943
09c52af
5b4f1d7
c40af0a
f0b5663
fca6921
c798729
c81363f
77006cb
113baf5
0f7f2f8
2240671
f2de558
ddcd2b3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
|
|
@@ -37,20 +37,27 @@ | |||||||
| import java.util.Collections; | ||||||||
| import java.util.LinkedHashMap; | ||||||||
| import java.util.List; | ||||||||
| import java.util.Random; | ||||||||
| import java.util.HashSet; | ||||||||
| import java.util.Iterator; | ||||||||
| import java.util.Objects; | ||||||||
|
|
||||||||
| import static io.dapr.it.Retry.callWithRetry; | ||||||||
| import static io.dapr.it.TestUtils.assertThrowsDaprException; | ||||||||
| import static org.junit.Assert.assertArrayEquals; | ||||||||
| import static org.junit.Assert.assertEquals; | ||||||||
| import static org.junit.Assert.assertNull; | ||||||||
| import static org.junit.Assert.assertTrue; | ||||||||
| import static org.junit.Assert.assertNotNull; | ||||||||
|
|
||||||||
|
|
||||||||
| @RunWith(Parameterized.class) | ||||||||
| public class PubSubIT extends BaseIT { | ||||||||
|
|
||||||||
| private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); | ||||||||
|
|
||||||||
| private static final TypeRef<List<CloudEvent>> CLOUD_EVENT_LIST_TYPE_REF = new TypeRef<>() {}; | ||||||||
| private static final TypeRef<List<CloudEvent<ConvertToLong>>> CLOUD_EVENT_LONG_LIST_TYPE_REF = new TypeRef<>() {}; | ||||||||
| private static final TypeRef<List<CloudEvent<MyObject>>> CLOUD_EVENT_MYOBJECT_LIST_TYPE_REF = new TypeRef<>() {}; | ||||||||
|
|
||||||||
| //Number of messages to be sent: 10 | ||||||||
|
|
@@ -66,6 +73,8 @@ public class PubSubIT extends BaseIT { | |||||||
| // Topic to test binary data | ||||||||
| private static final String BINARY_TOPIC_NAME = "binarytopic"; | ||||||||
|
|
||||||||
| private static final String LONG_TOPIC_NAME = "testinglongvalues"; | ||||||||
|
|
||||||||
| /** | ||||||||
| * Parameters for this test. | ||||||||
| * Param #1: useGrpc. | ||||||||
|
|
@@ -402,6 +411,73 @@ public void testPubSubTTLMetadata() throws Exception { | |||||||
| daprRun.stop(); | ||||||||
| } | ||||||||
|
|
||||||||
| @Test | ||||||||
| public void testLongValues() throws Exception { | ||||||||
| final DaprRun daprRun = closeLater(startDaprApp( | ||||||||
| this.getClass().getSimpleName(), | ||||||||
| SubscriberService.SUCCESS_MESSAGE, | ||||||||
| SubscriberService.class, | ||||||||
| true, | ||||||||
| 60000)); | ||||||||
| // At this point, it is guaranteed that the service above is running and all ports being listened to. | ||||||||
| if (this.useGrpc) { | ||||||||
| daprRun.switchToGRPC(); | ||||||||
| } else { | ||||||||
| daprRun.switchToHTTP(); | ||||||||
| } | ||||||||
|
|
||||||||
| ConvertToLong toLong = new ConvertToLong(); | ||||||||
| HashSet<ConvertToLong> expected = new HashSet<>(); | ||||||||
| Random random = new Random(); | ||||||||
| Long randomLong = 590518626939830271L; | ||||||||
| random.setSeed(randomLong); | ||||||||
| toLong.setValue(randomLong); | ||||||||
| expected.add(toLong); | ||||||||
| for (int i = 1; i < NUM_MESSAGES; i++) { | ||||||||
| ConvertToLong value = new ConvertToLong(); | ||||||||
| randomLong = random.nextLong(); | ||||||||
| value.setValue(randomLong); | ||||||||
| expected.add(value); | ||||||||
| System.out.println("expected value is : " +value); | ||||||||
| } | ||||||||
| Iterator expectVal = expected.iterator(); | ||||||||
| try (DaprClient client = new DaprClientBuilder().build()) { | ||||||||
| while(expectVal.hasNext()) { | ||||||||
| //Publishing messages | ||||||||
| client.publishEvent( | ||||||||
| PUBSUB_NAME, | ||||||||
| LONG_TOPIC_NAME, | ||||||||
| expectVal.next(), | ||||||||
| Collections.singletonMap(Metadata.TTL_IN_SECONDS, "1")).block(); | ||||||||
|
|
||||||||
| try { | ||||||||
| Thread.sleep((long) (1000 * Math.random())); | ||||||||
| } catch (InterruptedException e) { | ||||||||
| e.printStackTrace(); | ||||||||
| Thread.currentThread().interrupt(); | ||||||||
| return; | ||||||||
| } | ||||||||
| } | ||||||||
| } | ||||||||
|
|
||||||||
| HashSet<ConvertToLong> actual = new HashSet<>(); | ||||||||
| try (DaprClient client = new DaprClientBuilder().build()) { | ||||||||
| callWithRetry(() -> { | ||||||||
| System.out.println("Checking results for topic " + LONG_TOPIC_NAME); | ||||||||
| final List<CloudEvent<ConvertToLong>> messages = client.invokeMethod( | ||||||||
| daprRun.getAppName(), | ||||||||
| "messages/testinglongvalues", | ||||||||
| null, | ||||||||
| HttpExtension.GET, CLOUD_EVENT_LONG_LIST_TYPE_REF).block(); | ||||||||
| assertNotNull(messages); | ||||||||
| for (int i = 0; i < NUM_MESSAGES; i++) { | ||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||
| actual.add(messages.get(i).getData()); | ||||||||
| } | ||||||||
| assertEquals(expected,actual); | ||||||||
| }, 2000); | ||||||||
| } | ||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add assert comparing two set values Assert.assertEquals(expected, actual);Both |
||||||||
| } | ||||||||
|
|
||||||||
| public static class MyObject { | ||||||||
| private String id; | ||||||||
|
|
||||||||
|
|
@@ -413,4 +489,30 @@ public void setId(String id) { | |||||||
| this.id = id; | ||||||||
| } | ||||||||
| } | ||||||||
|
|
||||||||
| public static class ConvertToLong { | ||||||||
| private Long value; | ||||||||
|
|
||||||||
| public Long getValue() { | ||||||||
| return value; | ||||||||
| } | ||||||||
|
|
||||||||
| public void setValue(Long value) { | ||||||||
| this.value = value; | ||||||||
| } | ||||||||
|
|
||||||||
| @Override | ||||||||
| public boolean equals(Object o) { | ||||||||
| if (this == o) return true; | ||||||||
| if (o == null || getClass() != o.getClass()) return false; | ||||||||
| ConvertToLong that = (ConvertToLong) o; | ||||||||
| return Objects.equals(value, that.value); | ||||||||
| } | ||||||||
|
|
||||||||
| @Override | ||||||||
| public int hashCode() { | ||||||||
| return Objects.hash(value); | ||||||||
| } | ||||||||
| } | ||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add getter for value, and equals and Dashcode method (Can autogenerate in IntelliJ using Objects.hash etc ). |
||||||||
|
|
||||||||
| } | ||||||||
Uh oh!
There was an error while loading. Please reload this page.