Added blackbox test for disabled device provisioning strategy
This commit is contained in:
parent
09e98d1680
commit
a408da6d78
@ -97,7 +97,7 @@ public class TestRestClient {
|
|||||||
|
|
||||||
public Device getDeviceByName(String deviceName) {
|
public Device getDeviceByName(String deviceName) {
|
||||||
return given().spec(requestSpec).pathParam("deviceName", deviceName)
|
return given().spec(requestSpec).pathParam("deviceName", deviceName)
|
||||||
.get("/api/tenant/devices{deviceName}")
|
.get("/api/tenant/devices?deviceName={deviceName}")
|
||||||
.then()
|
.then()
|
||||||
.statusCode(HTTP_OK)
|
.statusCode(HTTP_OK)
|
||||||
.extract()
|
.extract()
|
||||||
|
|||||||
@ -335,11 +335,7 @@ public class MqttClientTest extends AbstractContainerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void provisionRequestForDeviceWithPreProvisionedStrategy() throws Exception {
|
public void provisionRequestForDeviceWithPreProvisionedStrategy() throws Exception {
|
||||||
|
|
||||||
String testProvisionDeviceKey = "test_provision_key";
|
|
||||||
String testProvisionDeviceSecret = "test_provision_secret";
|
|
||||||
|
|
||||||
DeviceProfile deviceProfile = testRestClient.getDeviceProfileById(device.getDeviceProfileId());
|
DeviceProfile deviceProfile = testRestClient.getDeviceProfileById(device.getDeviceProfileId());
|
||||||
|
|
||||||
deviceProfile = updateDeviceProfileWithProvisioningStrategy(deviceProfile, DeviceProfileProvisionType.CHECK_PRE_PROVISIONED_DEVICES);
|
deviceProfile = updateDeviceProfileWithProvisioningStrategy(deviceProfile, DeviceProfileProvisionType.CHECK_PRE_PROVISIONED_DEVICES);
|
||||||
|
|
||||||
DeviceCredentials expectedDeviceCredentials = testRestClient.getDeviceCredentialsByDeviceId(device.getId());
|
DeviceCredentials expectedDeviceCredentials = testRestClient.getDeviceCredentialsByDeviceId(device.getId());
|
||||||
@ -348,14 +344,13 @@ public class MqttClientTest extends AbstractContainerTest {
|
|||||||
MqttClient mqttClient = getMqttClient("provision", listener);
|
MqttClient mqttClient = getMqttClient("provision", listener);
|
||||||
|
|
||||||
JsonObject provisionRequest = new JsonObject();
|
JsonObject provisionRequest = new JsonObject();
|
||||||
provisionRequest.addProperty("provisionDeviceKey", testProvisionDeviceKey);
|
provisionRequest.addProperty("provisionDeviceKey", TEST_PROVISION_DEVICE_KEY);
|
||||||
provisionRequest.addProperty("provisionDeviceSecret", testProvisionDeviceSecret);
|
provisionRequest.addProperty("provisionDeviceSecret", TEST_PROVISION_DEVICE_SECRET);
|
||||||
provisionRequest.addProperty("deviceName", device.getName());
|
provisionRequest.addProperty("deviceName", device.getName());
|
||||||
|
|
||||||
mqttClient.publish("/provision/request", Unpooled.wrappedBuffer(provisionRequest.toString().getBytes())).get();
|
mqttClient.publish("/provision/request", Unpooled.wrappedBuffer(provisionRequest.toString().getBytes())).get();
|
||||||
|
|
||||||
//Wait for response
|
//Wait for response
|
||||||
|
|
||||||
TimeUnit.SECONDS.sleep(3 * timeoutMultiplier);
|
TimeUnit.SECONDS.sleep(3 * timeoutMultiplier);
|
||||||
|
|
||||||
MqttEvent provisionResponseMsg = listener.getEvents().poll(timeoutMultiplier, TimeUnit.SECONDS);
|
MqttEvent provisionResponseMsg = listener.getEvents().poll(timeoutMultiplier, TimeUnit.SECONDS);
|
||||||
@ -369,7 +364,6 @@ public class MqttClientTest extends AbstractContainerTest {
|
|||||||
assertThat(provisionResponse.get("status").asText()).isEqualTo("SUCCESS");
|
assertThat(provisionResponse.get("status").asText()).isEqualTo("SUCCESS");
|
||||||
|
|
||||||
updateDeviceProfileWithProvisioningStrategy(deviceProfile, DeviceProfileProvisionType.DISABLED);
|
updateDeviceProfileWithProvisioningStrategy(deviceProfile, DeviceProfileProvisionType.DISABLED);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -392,7 +386,6 @@ public class MqttClientTest extends AbstractContainerTest {
|
|||||||
mqttClient.publish("/provision/request", Unpooled.wrappedBuffer(provisionRequest.toString().getBytes())).get();
|
mqttClient.publish("/provision/request", Unpooled.wrappedBuffer(provisionRequest.toString().getBytes())).get();
|
||||||
|
|
||||||
//Wait for response
|
//Wait for response
|
||||||
|
|
||||||
TimeUnit.SECONDS.sleep(3 * timeoutMultiplier);
|
TimeUnit.SECONDS.sleep(3 * timeoutMultiplier);
|
||||||
|
|
||||||
MqttEvent provisionResponseMsg = listener.getEvents().poll(timeoutMultiplier, TimeUnit.SECONDS);
|
MqttEvent provisionResponseMsg = listener.getEvents().poll(timeoutMultiplier, TimeUnit.SECONDS);
|
||||||
@ -411,28 +404,47 @@ public class MqttClientTest extends AbstractContainerTest {
|
|||||||
assertThat(provisionResponse.get("status").asText()).isEqualTo("SUCCESS");
|
assertThat(provisionResponse.get("status").asText()).isEqualTo("SUCCESS");
|
||||||
|
|
||||||
updateDeviceProfileWithProvisioningStrategy(deviceProfile, DeviceProfileProvisionType.DISABLED);
|
updateDeviceProfileWithProvisioningStrategy(deviceProfile, DeviceProfileProvisionType.DISABLED);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void provisionRequestForDeviceWithDisabledProvisioningStrategy() throws Exception {
|
||||||
|
|
||||||
|
MqttMessageListener listener = new MqttMessageListener();
|
||||||
|
MqttClient mqttClient = getMqttClient("provision", listener);
|
||||||
|
|
||||||
|
JsonObject provisionRequest = new JsonObject();
|
||||||
|
provisionRequest.addProperty("provisionDeviceKey", TEST_PROVISION_DEVICE_KEY);
|
||||||
|
provisionRequest.addProperty("provisionDeviceSecret", TEST_PROVISION_DEVICE_SECRET);
|
||||||
|
|
||||||
|
mqttClient.publish("/provision/request", Unpooled.wrappedBuffer(provisionRequest.toString().getBytes())).get();
|
||||||
|
|
||||||
|
//Wait for response
|
||||||
|
TimeUnit.SECONDS.sleep(3 * timeoutMultiplier);
|
||||||
|
|
||||||
|
MqttEvent provisionResponseMsg = listener.getEvents().poll(timeoutMultiplier, TimeUnit.SECONDS);
|
||||||
|
|
||||||
|
assertThat(provisionResponseMsg).isNotNull();
|
||||||
|
|
||||||
|
JsonNode provisionResponse = mapper.readTree(provisionResponseMsg.getMessage());
|
||||||
|
|
||||||
|
assertThat(provisionResponse.get("status").asText()).isEqualTo("NOT_FOUND");
|
||||||
}
|
}
|
||||||
|
|
||||||
private DeviceProfile updateDeviceProfileWithProvisioningStrategy(DeviceProfile deviceProfile, DeviceProfileProvisionType provisionType) {
|
private DeviceProfile updateDeviceProfileWithProvisioningStrategy(DeviceProfile deviceProfile, DeviceProfileProvisionType provisionType) {
|
||||||
DeviceProfileProvisionConfiguration provisionConfiguration;
|
DeviceProfileProvisionConfiguration provisionConfiguration;
|
||||||
String testProvisionDeviceKey;
|
String testProvisionDeviceKey = TEST_PROVISION_DEVICE_KEY;
|
||||||
|
deviceProfile.setProvisionType(provisionType);
|
||||||
switch(provisionType) {
|
switch(provisionType) {
|
||||||
case ALLOW_CREATE_NEW_DEVICES:
|
case ALLOW_CREATE_NEW_DEVICES:
|
||||||
testProvisionDeviceKey = TEST_PROVISION_DEVICE_KEY;
|
|
||||||
provisionConfiguration = new AllowCreateNewDevicesDeviceProfileProvisionConfiguration(TEST_PROVISION_DEVICE_SECRET);
|
provisionConfiguration = new AllowCreateNewDevicesDeviceProfileProvisionConfiguration(TEST_PROVISION_DEVICE_SECRET);
|
||||||
deviceProfile.setProvisionType(DeviceProfileProvisionType.ALLOW_CREATE_NEW_DEVICES);
|
|
||||||
break;
|
break;
|
||||||
case CHECK_PRE_PROVISIONED_DEVICES:
|
case CHECK_PRE_PROVISIONED_DEVICES:
|
||||||
testProvisionDeviceKey = TEST_PROVISION_DEVICE_KEY;
|
|
||||||
provisionConfiguration = new CheckPreProvisionedDevicesDeviceProfileProvisionConfiguration(TEST_PROVISION_DEVICE_SECRET);
|
provisionConfiguration = new CheckPreProvisionedDevicesDeviceProfileProvisionConfiguration(TEST_PROVISION_DEVICE_SECRET);
|
||||||
deviceProfile.setProvisionType(DeviceProfileProvisionType.CHECK_PRE_PROVISIONED_DEVICES);
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
case DISABLED:
|
case DISABLED:
|
||||||
testProvisionDeviceKey = null;
|
testProvisionDeviceKey = null;
|
||||||
provisionConfiguration = new DisabledDeviceProfileProvisionConfiguration(null);
|
provisionConfiguration = new DisabledDeviceProfileProvisionConfiguration(null);
|
||||||
deviceProfile.setProvisionType(DeviceProfileProvisionType.DISABLED);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
DeviceProfileData deviceProfileData = deviceProfile.getProfileData();
|
DeviceProfileData deviceProfileData = deviceProfile.getProfileData();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user