integration tests for instruction service
This commit is contained in:
parent
e3ac612fb3
commit
d897b91be9
1 changed files with 142 additions and 7 deletions
|
@ -12,6 +12,10 @@ import static org.junit.Assert.*;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
@ -39,10 +43,13 @@ public class SEBClientInstructionServiceTest extends AdministrationAPIIntegratio
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void initSEBConnection() {
|
public void initSEBConnection() {
|
||||||
|
final ClientConnection cc = this.clientConnectionDAO.byConnectionToken("testToken").getOr(null);
|
||||||
|
if (cc == null) {
|
||||||
this.clientConnectionDAO.createNew(new ClientConnection(
|
this.clientConnectionDAO.createNew(new ClientConnection(
|
||||||
null, 1L, 2L, ConnectionStatus.ACTIVE, "testToken", "user1", "0.0.0.0", false, null, null))
|
null, 1L, 2L, ConnectionStatus.ACTIVE, "testToken", "user1", "0.0.0.0", false, null, null))
|
||||||
.getOrThrow();
|
.getOrThrow();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testRegister() {
|
public void testRegister() {
|
||||||
|
@ -55,8 +62,8 @@ public class SEBClientInstructionServiceTest extends AdministrationAPIIntegratio
|
||||||
assertTrue(all.isEmpty());
|
assertTrue(all.isEmpty());
|
||||||
|
|
||||||
// register instruction
|
// register instruction
|
||||||
this.sebClientInstructionService.registerInstruction(2L, InstructionType.SEB_QUIT, Collections.emptyMap(),
|
this.sebClientInstructionService.registerInstruction(
|
||||||
"testToken", false);
|
2L, InstructionType.SEB_QUIT, Collections.emptyMap(), "testToken", false);
|
||||||
|
|
||||||
// check on DB
|
// check on DB
|
||||||
all = this.clientInstructionDAO
|
all = this.clientInstructionDAO
|
||||||
|
@ -68,11 +75,139 @@ public class SEBClientInstructionServiceTest extends AdministrationAPIIntegratio
|
||||||
final ClientInstructionRecord instrRec = all.iterator().next();
|
final ClientInstructionRecord instrRec = all.iterator().next();
|
||||||
assertEquals("testToken", instrRec.getConnectionToken());
|
assertEquals("testToken", instrRec.getConnectionToken());
|
||||||
assertEquals(InstructionType.SEB_QUIT.name(), instrRec.getType());
|
assertEquals(InstructionType.SEB_QUIT.name(), instrRec.getType());
|
||||||
assertEquals("", instrRec.getAttributes());
|
assertEquals(null, instrRec.getAttributes());
|
||||||
|
|
||||||
// get instruction JSON
|
// get instruction JSON
|
||||||
final String json = this.sebClientInstructionService.getInstructionJSON("testToken");
|
final String json = this.sebClientInstructionService.getInstructionJSON("testToken");
|
||||||
assertEquals("", json);
|
assertEquals("{\"instruction\":\"SEB_QUIT\"}", json);
|
||||||
|
|
||||||
|
// check no instruction anymore
|
||||||
|
final String secondPing = this.sebClientInstructionService.getInstructionJSON("testToken");
|
||||||
|
assertNull(secondPing);
|
||||||
|
|
||||||
|
// check DB is empty again
|
||||||
|
all = this.clientInstructionDAO
|
||||||
|
.getAllActive()
|
||||||
|
.getOrThrow();
|
||||||
|
assertNotNull(all);
|
||||||
|
assertTrue(all.isEmpty());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRegisterWithConfirm() {
|
||||||
|
// register instruction
|
||||||
|
this.sebClientInstructionService.registerInstruction(
|
||||||
|
2L, InstructionType.SEB_RECONFIGURE_SETTINGS, Collections.emptyMap(), "testToken", true);
|
||||||
|
|
||||||
|
// check on DB
|
||||||
|
Collection<ClientInstructionRecord> all = this.clientInstructionDAO
|
||||||
|
.getAllActive()
|
||||||
|
.getOrThrow();
|
||||||
|
|
||||||
|
// get instruction JSON
|
||||||
|
final String json = this.sebClientInstructionService.getInstructionJSON("testToken");
|
||||||
|
assertEquals(
|
||||||
|
"{\"instruction\":\"SEB_RECONFIGURE_SETTINGS\",\"attributes\":{\"instruction-confirm\":\"1\"}}",
|
||||||
|
json);
|
||||||
|
|
||||||
|
// check insturction is beeing resent until confirmed
|
||||||
|
final String secondPing = this.sebClientInstructionService.getInstructionJSON("testToken");
|
||||||
|
assertEquals(
|
||||||
|
"{\"instruction\":\"SEB_RECONFIGURE_SETTINGS\",\"attributes\":{\"instruction-confirm\":\"1\"}}",
|
||||||
|
secondPing);
|
||||||
|
|
||||||
|
// confirm instruction
|
||||||
|
this.sebClientInstructionService.confirmInstructionDone("testToken", "1");
|
||||||
|
|
||||||
|
// check no instruction anymore
|
||||||
|
final String nextPing = this.sebClientInstructionService.getInstructionJSON("testToken");
|
||||||
|
assertNull(nextPing);
|
||||||
|
|
||||||
|
// check DB is empty again
|
||||||
|
all = this.clientInstructionDAO
|
||||||
|
.getAllActive()
|
||||||
|
.getOrThrow();
|
||||||
|
assertNotNull(all);
|
||||||
|
assertTrue(all.isEmpty());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRegisterWithConfirmAndAttributes() {
|
||||||
|
// register instruction
|
||||||
|
final Map<String, String> attributes = new LinkedHashMap<>();
|
||||||
|
attributes.put("attr1", "123");
|
||||||
|
attributes.put("attr2", "345");
|
||||||
|
this.sebClientInstructionService.registerInstruction(
|
||||||
|
2L, InstructionType.SEB_RECONFIGURE_SETTINGS, attributes, "testToken", true);
|
||||||
|
|
||||||
|
// check on DB
|
||||||
|
Collection<ClientInstructionRecord> all = this.clientInstructionDAO
|
||||||
|
.getAllActive()
|
||||||
|
.getOrThrow();
|
||||||
|
|
||||||
|
// get instruction JSON
|
||||||
|
final String json = this.sebClientInstructionService.getInstructionJSON("testToken");
|
||||||
|
assertEquals(
|
||||||
|
"{\"instruction\":\"SEB_RECONFIGURE_SETTINGS\",\"attributes\":{\"attr1\":\"123\",\"attr2\":\"345\",\"instruction-confirm\":\"1\"}}",
|
||||||
|
json);
|
||||||
|
|
||||||
|
// check insturction is beeing resent until confirmed
|
||||||
|
final String secondPing = this.sebClientInstructionService.getInstructionJSON("testToken");
|
||||||
|
assertEquals(
|
||||||
|
"{\"instruction\":\"SEB_RECONFIGURE_SETTINGS\",\"attributes\":{\"attr1\":\"123\",\"attr2\":\"345\",\"instruction-confirm\":\"1\"}}",
|
||||||
|
secondPing);
|
||||||
|
|
||||||
|
// confirm instruction
|
||||||
|
this.sebClientInstructionService.confirmInstructionDone("testToken", "1");
|
||||||
|
|
||||||
|
// check no instruction anymore
|
||||||
|
final String nextPing = this.sebClientInstructionService.getInstructionJSON("testToken");
|
||||||
|
assertNull(nextPing);
|
||||||
|
|
||||||
|
// check DB is empty again
|
||||||
|
all = this.clientInstructionDAO
|
||||||
|
.getAllActive()
|
||||||
|
.getOrThrow();
|
||||||
|
assertNotNull(all);
|
||||||
|
assertTrue(all.isEmpty());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRegisterWithConfirmAndAttributes2() {
|
||||||
|
// register instruction
|
||||||
|
final Map<String, String> attributes = new LinkedHashMap<>();
|
||||||
|
attributes.put("attr1", "123");
|
||||||
|
attributes.put("attr2", "345");
|
||||||
|
|
||||||
|
this.sebClientInstructionService.registerInstruction(
|
||||||
|
2L, InstructionType.SEB_RECONFIGURE_SETTINGS, attributes,
|
||||||
|
Stream.of("testToken").collect(Collectors.toSet()), true);
|
||||||
|
|
||||||
|
// check on DB
|
||||||
|
Collection<ClientInstructionRecord> all = this.clientInstructionDAO
|
||||||
|
.getAllActive()
|
||||||
|
.getOrThrow();
|
||||||
|
|
||||||
|
// get instruction JSON
|
||||||
|
final String json = this.sebClientInstructionService.getInstructionJSON("testToken");
|
||||||
|
assertEquals(
|
||||||
|
"{\"instruction\":\"SEB_RECONFIGURE_SETTINGS\",\"attributes\":{\"attr1\":\"123\",\"attr2\":\"345\",\"instruction-confirm\":\"1\"}}",
|
||||||
|
json);
|
||||||
|
|
||||||
|
// check insturction is beeing resent until confirmed
|
||||||
|
final String secondPing = this.sebClientInstructionService.getInstructionJSON("testToken");
|
||||||
|
assertEquals(
|
||||||
|
"{\"instruction\":\"SEB_RECONFIGURE_SETTINGS\",\"attributes\":{\"attr1\":\"123\",\"attr2\":\"345\",\"instruction-confirm\":\"1\"}}",
|
||||||
|
secondPing);
|
||||||
|
|
||||||
|
// confirm instruction
|
||||||
|
this.sebClientInstructionService.confirmInstructionDone("testToken", "1");
|
||||||
|
|
||||||
|
// check no instruction anymore
|
||||||
|
final String nextPing = this.sebClientInstructionService.getInstructionJSON("testToken");
|
||||||
|
assertNull(nextPing);
|
||||||
|
|
||||||
// check DB is empty again
|
// check DB is empty again
|
||||||
all = this.clientInstructionDAO
|
all = this.clientInstructionDAO
|
||||||
|
|
Loading…
Reference in a new issue