Java: add IT for pubsub#400
Conversation
Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
| if (client instanceof RedisClusterClient) { | ||
| ((RedisClusterClient) client).customCommand(new String[] {"unsubscribe"}).get(); | ||
| ((RedisClusterClient) client).customCommand(new String[] {"punsubscribe"}).get(); | ||
| ((RedisClusterClient) client).customCommand(new String[] {"sunsubscribe"}).get(); |
There was a problem hiding this comment.
is this necessary, or do we clean it up when we destroy the client?
There was a problem hiding this comment.
Maybe it is not needed, but I want to explicitly unsubscribe in case if a client isn't GC'ed and remains active/connected.
There was a problem hiding this comment.
The client gets close()'d right after these commands run, so I wouldn't think there's a risk of it not getting cleaned up here (not necessarily GC'd).
Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
…va/dev_yuryf_pubsub_tests Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
| @ParameterizedTest(name = "use callback = {0}") | ||
| @ValueSource(booleans = {true, false}) | ||
| public void sharded_pubsub(boolean useCallback) { | ||
| assumeTrue(REDIS_VERSION.isGreaterThanOrEqualTo("7.0.0"), "This feature added in redis 7"); |
There was a problem hiding this comment.
This goes to the test report only. Valkey <7 doesn't exist. Still need to update that?
| @SuppressWarnings("unchecked") | ||
| @ParameterizedTest(name = "standalone = {0}, use callback = {1}") | ||
| @MethodSource("getTwoBoolPermutations") | ||
| public void exact_happy_path(boolean standalone, boolean useCallback) { |
There was a problem hiding this comment.
Can we add comments similar to what was in the Python port?
There was a problem hiding this comment.
Added references to python tests
| var sender = (RedisClusterClient) createClient(false); | ||
| clients.addAll(List.of(listener, sender)); | ||
|
|
||
| assertEquals(1L, sender.spublish(channel, message).get()); |
There was a problem hiding this comment.
Let's add a publishAndWait() helper since this is used alot. Could have it take in an expected result from publish and a Message... varargs so you can include the assertion in it.
| standalone ? PubSubChannelMode.PATTERN : PubSubClusterChannelMode.PATTERN, | ||
| Set.of(pattern)); | ||
|
|
||
| for (var i = 0; i < numChannels; i++) { |
There was a problem hiding this comment.
This nested loop also shows up in alot of tests. Refactor to GenerateChannelsAndMessages() that takes in output channel and message lists.
| } | ||
|
|
||
| // TODO add following tests from https://github.com/aws/glide-for-redis/pull/1643 | ||
| // test_pubsub_exact_happy_path_coexistence |
There was a problem hiding this comment.
Those are blocked by getPubSubMessage, which is not implemented
| private void skipTestsOnMac() { | ||
| assumeFalse( | ||
| System.getProperty("os.name").toLowerCase().contains("mac"), | ||
| "PubSub doesn't work on mac OS"); |
Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
* Java: Add client configuration for subscribing to channels. (#381) * Add client configuartion for subscribing to channels. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * CLIPPY I HATE YOU Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Get and store callback. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Fix tests. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Rework configuration and add docs. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Config rework. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * docs Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * More TODOs for the god of TODOs. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> --------- Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Add `PUBLISH` and `SPUBLISH` commands. (#391) * Add `PUBLISH` and `SPUBLISH` commands. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Fix the test. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> --------- Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Java client: receive pubsub messages (#385) * Add client configuartion for subscribing to channels. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * CLIPPY I HATE YOU Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Get and store callback. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Fix tests. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Rework configuration and add docs. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Config rework. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * docs Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Receive pushes (subscibed messages). Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * I HATE YOU SPOTLESS Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Rename a class. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> --------- Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Java: add IT for pubsub (#400) * Add some tests. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Test fixes. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Add more tests. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Experiment Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Add more tests. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * I HATE YOU SPOTLESS Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Uncomment test timeout. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> --------- Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Update function signature. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> --------- Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
* Java: Add client configuration for subscribing to channels. (#381) * Add client configuartion for subscribing to channels. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * CLIPPY I HATE YOU Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Get and store callback. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Fix tests. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Rework configuration and add docs. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Config rework. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * docs Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * More TODOs for the god of TODOs. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> --------- Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Add `PUBLISH` and `SPUBLISH` commands. (#391) * Add `PUBLISH` and `SPUBLISH` commands. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Fix the test. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> --------- Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Java client: receive pubsub messages (#385) * Add client configuartion for subscribing to channels. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * CLIPPY I HATE YOU Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Get and store callback. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Fix tests. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Rework configuration and add docs. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Config rework. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * docs Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Receive pushes (subscibed messages). Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * I HATE YOU SPOTLESS Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Rename a class. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> --------- Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Java: add IT for pubsub (#400) * Add some tests. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Test fixes. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Add more tests. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Experiment Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Add more tests. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * I HATE YOU SPOTLESS Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Uncomment test timeout. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> --------- Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Update function signature. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> --------- Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
* Java: Add client configuration for subscribing to channels. (#381) * Add client configuartion for subscribing to channels. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * CLIPPY I HATE YOU Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Get and store callback. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Fix tests. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Rework configuration and add docs. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Config rework. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * docs Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * More TODOs for the god of TODOs. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> --------- Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Add `PUBLISH` and `SPUBLISH` commands. (#391) * Add `PUBLISH` and `SPUBLISH` commands. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Fix the test. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> --------- Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Java client: receive pubsub messages (#385) * Add client configuartion for subscribing to channels. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * CLIPPY I HATE YOU Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Get and store callback. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Fix tests. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Rework configuration and add docs. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Config rework. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * docs Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Receive pushes (subscibed messages). Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * I HATE YOU SPOTLESS Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Rename a class. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> --------- Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Java: add IT for pubsub (#400) * Add some tests. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Test fixes. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Add more tests. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Experiment Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Add more tests. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * I HATE YOU SPOTLESS Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Uncomment test timeout. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Typo fix. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> --------- Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Update function signature. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> * Address PR comments. Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com> --------- Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
Uh oh!
There was an error while loading. Please reload this page.