|
19 | 19 | import com.google.cloud.pubsub.spi.v1.MessageDispatcher.PendingModifyAckDeadline; |
20 | 20 | import com.google.common.truth.Truth; |
21 | 21 | import com.google.pubsub.v1.StreamingPullRequest; |
22 | | -import java.util.ArrayList; |
23 | 22 | import java.util.Arrays; |
24 | 23 | import java.util.Collections; |
25 | 24 | import java.util.List; |
26 | 25 | import org.junit.Test; |
27 | 26 |
|
28 | 27 | public class StreamingSubscriberConnectionTest { |
29 | | - private static List<StreamingPullRequest> partitionAckOperations( |
30 | | - List<String> acksToSend, List<PendingModifyAckDeadline> ackDeadlineExtensions, int size) { |
31 | | - List<StreamingPullRequest> requests = new ArrayList<>(); |
32 | | - for (StreamingPullRequest req : |
33 | | - StreamingSubscriberConnection.partitionAckOperations( |
34 | | - acksToSend, ackDeadlineExtensions, size)) { |
35 | | - requests.add(req); |
36 | | - } |
37 | | - return requests; |
38 | | - } |
39 | | - |
40 | 28 | @Test |
41 | 29 | public void testPartitionAckOperations() { |
42 | 30 | List<StreamingPullRequest> requests; |
43 | 31 |
|
44 | 32 | requests = |
45 | | - partitionAckOperations( |
| 33 | + StreamingSubscriberConnection.partitionAckOperations( |
46 | 34 | Collections.<String>emptyList(), Collections.<PendingModifyAckDeadline>emptyList(), 3); |
47 | 35 | Truth.assertThat(requests).isEmpty(); |
48 | 36 |
|
49 | 37 | requests = |
50 | | - partitionAckOperations( |
| 38 | + StreamingSubscriberConnection.partitionAckOperations( |
51 | 39 | Arrays.asList("a", "b", "c"), Collections.<PendingModifyAckDeadline>emptyList(), 3); |
52 | 40 | Truth.assertThat(requests) |
53 | | - .contains( |
54 | | - StreamingPullRequest.newBuilder().addAckIds("a").addAckIds("b").addAckIds("c").build()); |
| 41 | + .containsExactly( |
| 42 | + StreamingPullRequest.newBuilder().addAckIds("a").addAckIds("b").addAckIds("c").build()) |
| 43 | + .inOrder(); |
55 | 44 |
|
56 | 45 | requests = |
57 | | - partitionAckOperations( |
| 46 | + StreamingSubscriberConnection.partitionAckOperations( |
58 | 47 | Arrays.asList("a", "b", "c", "d"), |
59 | 48 | Collections.<PendingModifyAckDeadline>emptyList(), |
60 | 49 | 3); |
61 | 50 | Truth.assertThat(requests) |
62 | | - .contains( |
63 | | - StreamingPullRequest.newBuilder().addAckIds("a").addAckIds("b").addAckIds("c").build()); |
64 | | - Truth.assertThat(requests).contains(StreamingPullRequest.newBuilder().addAckIds("d").build()); |
| 51 | + .containsExactly( |
| 52 | + StreamingPullRequest.newBuilder().addAckIds("a").addAckIds("b").addAckIds("c").build(), |
| 53 | + StreamingPullRequest.newBuilder().addAckIds("d").build()) |
| 54 | + .inOrder(); |
65 | 55 |
|
66 | 56 | requests = |
67 | | - partitionAckOperations( |
| 57 | + StreamingSubscriberConnection.partitionAckOperations( |
68 | 58 | Arrays.asList("a", "b", "c", "d"), |
69 | | - Arrays.asList(new PendingModifyAckDeadline(42, "A")), |
| 59 | + Arrays.asList(new PendingModifyAckDeadline(42, "w")), |
70 | 60 | 3); |
71 | 61 | Truth.assertThat(requests) |
72 | | - .contains( |
| 62 | + .containsExactly( |
73 | 63 | StreamingPullRequest.newBuilder() |
74 | 64 | .addAckIds("a") |
75 | 65 | .addAckIds("b") |
76 | 66 | .addAckIds("c") |
77 | | - .addModifyDeadlineAckIds("A") |
| 67 | + .addModifyDeadlineAckIds("w") |
78 | 68 | .addModifyDeadlineSeconds(42) |
79 | | - .build()); |
80 | | - Truth.assertThat(requests).contains(StreamingPullRequest.newBuilder().addAckIds("d").build()); |
| 69 | + .build(), |
| 70 | + StreamingPullRequest.newBuilder().addAckIds("d").build()) |
| 71 | + .inOrder(); |
81 | 72 |
|
82 | 73 | requests = |
83 | | - partitionAckOperations( |
84 | | - Arrays.asList("a"), Arrays.asList(new PendingModifyAckDeadline(42, "A", "B")), 3); |
| 74 | + StreamingSubscriberConnection.partitionAckOperations( |
| 75 | + Arrays.asList("a"), Arrays.asList(new PendingModifyAckDeadline(42, "w", "x")), 3); |
85 | 76 | Truth.assertThat(requests) |
86 | | - .contains( |
| 77 | + .containsExactly( |
87 | 78 | StreamingPullRequest.newBuilder() |
88 | 79 | .addAckIds("a") |
89 | | - .addModifyDeadlineAckIds("A") |
| 80 | + .addModifyDeadlineAckIds("w") |
90 | 81 | .addModifyDeadlineSeconds(42) |
91 | | - .addModifyDeadlineAckIds("B") |
| 82 | + .addModifyDeadlineAckIds("x") |
92 | 83 | .addModifyDeadlineSeconds(42) |
93 | | - .build()); |
| 84 | + .build()) |
| 85 | + .inOrder(); |
94 | 86 |
|
95 | 87 | requests = |
96 | | - partitionAckOperations( |
| 88 | + StreamingSubscriberConnection.partitionAckOperations( |
97 | 89 | Arrays.asList("a"), |
98 | 90 | Arrays.asList( |
99 | | - new PendingModifyAckDeadline(42, "A", "B"), |
100 | | - new PendingModifyAckDeadline(43, "C", "D")), |
| 91 | + new PendingModifyAckDeadline(42, "w", "x"), |
| 92 | + new PendingModifyAckDeadline(43, "y", "z")), |
101 | 93 | 3); |
102 | 94 | Truth.assertThat(requests) |
103 | | - .contains( |
| 95 | + .containsExactly( |
104 | 96 | StreamingPullRequest.newBuilder() |
105 | 97 | .addAckIds("a") |
106 | | - .addModifyDeadlineAckIds("A") |
| 98 | + .addModifyDeadlineAckIds("w") |
107 | 99 | .addModifyDeadlineSeconds(42) |
108 | | - .addModifyDeadlineAckIds("B") |
| 100 | + .addModifyDeadlineAckIds("x") |
109 | 101 | .addModifyDeadlineSeconds(42) |
110 | | - .addModifyDeadlineAckIds("C") |
| 102 | + .addModifyDeadlineAckIds("y") |
111 | 103 | .addModifyDeadlineSeconds(43) |
112 | | - .build()); |
113 | | - Truth.assertThat(requests) |
114 | | - .contains( |
| 104 | + .build(), |
115 | 105 | StreamingPullRequest.newBuilder() |
116 | | - .addModifyDeadlineAckIds("D") |
| 106 | + .addModifyDeadlineAckIds("z") |
117 | 107 | .addModifyDeadlineSeconds(43) |
118 | | - .build()); |
| 108 | + .build()) |
| 109 | + .inOrder(); |
119 | 110 | } |
120 | 111 | } |
0 commit comments