public class ChatHomeWithShardsTestBase extends ChatHomeTestBase
{
+ public static final int NUM_SHARDS = 10;
+ public static final int OWNED_SHARD = 2;
+ public static final int NOT_OWNED_SHARD = 0;
+
+
@Test
@DisplayName("Assert ShardNotOwnedException is thrown, if the shard for the chatroom is not owned")
void testGetChatroomForNotOwnedShard()
{
assertThat(e).isInstanceOf(ShardNotOwnedException.class);
ShardNotOwnedException shardNotOwnedException = (ShardNotOwnedException) e;
- assertThat(shardNotOwnedException.getShard()).isEqualTo(0);
+ assertThat(shardNotOwnedException.getShard()).isEqualTo(NOT_OWNED_SHARD);
});
}
}
import java.time.Clock;
import java.util.stream.IntStream;
-
public class ShardedChatHomeTest extends ChatHomeWithShardsTestBase
{
@TestConfiguration
ShardedChatHome chatHome(
InMemoryChatHomeService chatHomeService)
{
- SimpleChatHome[] chatHomes = new SimpleChatHome[numShards()];
+ SimpleChatHome[] chatHomes = new SimpleChatHome[NUM_SHARDS];
IntStream
.of(ownedShards())
.forEach(shard -> chatHomes[shard] = new SimpleChatHome(chatHomeService, shard));
- ShardingStrategy strategy = new KafkaLikeShardingStrategy(numShards());
+ ShardingStrategy strategy = new KafkaLikeShardingStrategy(NUM_SHARDS);
return new ShardedChatHome(chatHomes, strategy);
}
StorageStrategy storageStrategy)
{
return new InMemoryChatHomeService(
- numShards(),
+ NUM_SHARDS,
ownedShards(),
storageStrategy.read());
}
Paths.get("target", "test-classes", "data", "files"),
Clock.systemDefaultZone(),
8,
- new KafkaLikeShardingStrategy(numShards()),
+ new KafkaLikeShardingStrategy(NUM_SHARDS),
messageFlux -> new InMemoryChatRoomService(messageFlux),
new ObjectMapper());
}
- Integer numShards()
- {
- return 10;
- }
-
int[] ownedShards()
{
- return new int[] { 2 };
+ return new int[] { OWNED_SHARD };
}
}
}