Added more tests. Fixed exceptions

This commit is contained in:
Andrey Terentev 2024-02-29 16:51:31 +07:00 committed by Andrey Terentev
parent 62f71cb413
commit 5e7976ed97
2 changed files with 14 additions and 3 deletions

View File

@ -53,7 +53,7 @@ public class RoomRepositoryImpl implements RoomRepository {
synchronized (node2roomsMap) {
if (node.isEmpty()) {
throw new IllegalArgumentException("Node '" + nodeId + "' does not exist");
throw new NodeNotFoundException("Node '" + nodeId + "' does not exist");
}
node2roomsMap.get(node.get()).remove(room.getId());
@ -67,7 +67,7 @@ public class RoomRepositoryImpl implements RoomRepository {
public Optional<Room> find(Node node, String identifier) {
synchronized (node2roomsMap) {
if (!node2roomsMap.containsKey(node)) {
throw new IllegalArgumentException("Node '" + node.id() + "' does not exist");
throw new NodeNotFoundException("Node '" + node.id() + "' does not exist");
}
var result = node2roomsMap.get(node).getOrDefault(identifier, null);
@ -90,7 +90,7 @@ public class RoomRepositoryImpl implements RoomRepository {
public Optional<Room> pickFree(Node node, Collection<User> users) {
synchronized (node2roomsMap) {
if (!node2roomsMap.containsKey(node)) {
throw new IllegalArgumentException("Node '" + node.id() + "' does not exist");
throw new NodeNotFoundException("Node '" + node.id() + "' does not exist");
}
Room room = null;

View File

@ -102,4 +102,15 @@ public class RoomServiceTests {
Assertions.assertThrows(NodeNotFoundException.class, () -> roomService.all(node));
}
@Test
void test_nodeDoesNotExists() {
var node = new Node("Bruh", PickingMode.ROUND_ROBIN, false);
var room = Room.create("test", node, SlotLimit.unlimited(), "", false);
Assertions.assertThrows(NodeNotFoundException.class, () -> roomService.create(room));
Assertions.assertThrows(NodeNotFoundException.class, () -> roomService.remove(room));
Assertions.assertThrows(NodeNotFoundException.class, () -> roomService.find(node, "Bruh"));
Assertions.assertThrows(NodeNotFoundException.class, () -> roomService.pickAvailable(node, List.of(new User("1"))));
}
}