WIP on SensorSocketEndpointTests
This commit is contained in:
parent
03bd220781
commit
f534665bdb
1 changed files with 46 additions and 2 deletions
|
@ -4,16 +4,22 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.assertj.core.api.Assertions.fail;
|
import static org.assertj.core.api.Assertions.fail;
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
import static org.mockito.ArgumentMatchers.eq;
|
import static org.mockito.ArgumentMatchers.eq;
|
||||||
import static org.mockito.Mockito.doAnswer;
|
import static org.mockito.Mockito.*;
|
||||||
import static org.mockito.Mockito.doNothing;
|
import static org.springframework.test.util.ReflectionTestUtils.getField;
|
||||||
|
|
||||||
import ch.usi.inf.sa4.sanmarinoes.smarthut.config.GsonConfig;
|
import ch.usi.inf.sa4.sanmarinoes.smarthut.config.GsonConfig;
|
||||||
|
import ch.usi.inf.sa4.sanmarinoes.smarthut.config.JWTTokenUtils;
|
||||||
import ch.usi.inf.sa4.sanmarinoes.smarthut.models.ButtonDimmer;
|
import ch.usi.inf.sa4.sanmarinoes.smarthut.models.ButtonDimmer;
|
||||||
import ch.usi.inf.sa4.sanmarinoes.smarthut.models.Device;
|
import ch.usi.inf.sa4.sanmarinoes.smarthut.models.Device;
|
||||||
import ch.usi.inf.sa4.sanmarinoes.smarthut.models.User;
|
import ch.usi.inf.sa4.sanmarinoes.smarthut.models.User;
|
||||||
|
import ch.usi.inf.sa4.sanmarinoes.smarthut.models.UserRepository;
|
||||||
import ch.usi.inf.sa4.sanmarinoes.smarthut.service.DevicePopulationService;
|
import ch.usi.inf.sa4.sanmarinoes.smarthut.service.DevicePopulationService;
|
||||||
|
import com.google.common.collect.Multimap;
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import javax.websocket.Session;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
import org.mockito.InjectMocks;
|
import org.mockito.InjectMocks;
|
||||||
|
@ -30,6 +36,20 @@ public class SensorSocketEndpointTests {
|
||||||
|
|
||||||
@Mock private DevicePopulationService deviceService;
|
@Mock private DevicePopulationService deviceService;
|
||||||
|
|
||||||
|
@Mock private Session session;
|
||||||
|
|
||||||
|
@Mock private JWTTokenUtils jwtTokenUtils;
|
||||||
|
|
||||||
|
@Mock private UserRepository userRepository;
|
||||||
|
|
||||||
|
private final User u;
|
||||||
|
|
||||||
|
public SensorSocketEndpointTests() {
|
||||||
|
u = new User();
|
||||||
|
u.setName("user");
|
||||||
|
u.setId(1L);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testQueueDeviceUpdate() {
|
public void testQueueDeviceUpdate() {
|
||||||
doNothing().when(deviceService).populateComputedFields(any());
|
doNothing().when(deviceService).populateComputedFields(any());
|
||||||
|
@ -66,4 +86,28 @@ public class SensorSocketEndpointTests {
|
||||||
|
|
||||||
assertThat(done[0]).isTrue();
|
assertThat(done[0]).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCheckToken() {
|
||||||
|
when(userRepository.findByUsername("user")).thenReturn(u);
|
||||||
|
when(session.getRequestParameterMap())
|
||||||
|
.thenReturn(Map.of("token", List.of("randomgarbage")));
|
||||||
|
when(jwtTokenUtils.getUsernameFromToken("randomgarbage")).thenReturn("user");
|
||||||
|
when(jwtTokenUtils.isTokenExpired("randomgarbage")).thenReturn(false);
|
||||||
|
sensorSocketEndpoint.onOpen(session, null);
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
Multimap<User, Session> map =
|
||||||
|
(Multimap<User, Session>)
|
||||||
|
getField(
|
||||||
|
sensorSocketEndpoint,
|
||||||
|
SensorSocketEndpoint.class,
|
||||||
|
"authorizedClients");
|
||||||
|
assertThat(map).isNotNull();
|
||||||
|
assertThat(map.size()).isEqualTo(1);
|
||||||
|
assertThat(map.entries().iterator().next().getKey()).isSameAs(u);
|
||||||
|
assertThat(map.entries().iterator().next().getValue()).isSameAs(session);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testBroadcast() {}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue