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) {
 | 
			
		||||
        return given().spec(requestSpec).pathParam("deviceName", deviceName)
 | 
			
		||||
                .get("/api/tenant/devices{deviceName}")
 | 
			
		||||
                .get("/api/tenant/devices?deviceName={deviceName}")
 | 
			
		||||
                .then()
 | 
			
		||||
                .statusCode(HTTP_OK)
 | 
			
		||||
                .extract()
 | 
			
		||||
 | 
			
		||||
@ -335,11 +335,7 @@ public class MqttClientTest extends AbstractContainerTest {
 | 
			
		||||
    @Test
 | 
			
		||||
    public void provisionRequestForDeviceWithPreProvisionedStrategy() throws Exception {
 | 
			
		||||
 | 
			
		||||
        String testProvisionDeviceKey = "test_provision_key";
 | 
			
		||||
        String testProvisionDeviceSecret = "test_provision_secret";
 | 
			
		||||
 | 
			
		||||
        DeviceProfile deviceProfile = testRestClient.getDeviceProfileById(device.getDeviceProfileId());
 | 
			
		||||
 | 
			
		||||
        deviceProfile = updateDeviceProfileWithProvisioningStrategy(deviceProfile, DeviceProfileProvisionType.CHECK_PRE_PROVISIONED_DEVICES);
 | 
			
		||||
 | 
			
		||||
        DeviceCredentials expectedDeviceCredentials = testRestClient.getDeviceCredentialsByDeviceId(device.getId());
 | 
			
		||||
@ -348,14 +344,13 @@ public class MqttClientTest extends AbstractContainerTest {
 | 
			
		||||
        MqttClient mqttClient = getMqttClient("provision", listener);
 | 
			
		||||
 | 
			
		||||
        JsonObject provisionRequest = new JsonObject();
 | 
			
		||||
        provisionRequest.addProperty("provisionDeviceKey", testProvisionDeviceKey);
 | 
			
		||||
        provisionRequest.addProperty("provisionDeviceSecret", testProvisionDeviceSecret);
 | 
			
		||||
        provisionRequest.addProperty("provisionDeviceKey", TEST_PROVISION_DEVICE_KEY);
 | 
			
		||||
        provisionRequest.addProperty("provisionDeviceSecret", TEST_PROVISION_DEVICE_SECRET);
 | 
			
		||||
        provisionRequest.addProperty("deviceName", device.getName());
 | 
			
		||||
 | 
			
		||||
        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);
 | 
			
		||||
@ -369,7 +364,6 @@ public class MqttClientTest extends AbstractContainerTest {
 | 
			
		||||
        assertThat(provisionResponse.get("status").asText()).isEqualTo("SUCCESS");
 | 
			
		||||
 | 
			
		||||
        updateDeviceProfileWithProvisioningStrategy(deviceProfile, DeviceProfileProvisionType.DISABLED);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
@ -392,7 +386,6 @@ public class MqttClientTest extends AbstractContainerTest {
 | 
			
		||||
        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);
 | 
			
		||||
@ -411,28 +404,47 @@ public class MqttClientTest extends AbstractContainerTest {
 | 
			
		||||
        assertThat(provisionResponse.get("status").asText()).isEqualTo("SUCCESS");
 | 
			
		||||
 | 
			
		||||
        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) {
 | 
			
		||||
        DeviceProfileProvisionConfiguration provisionConfiguration;
 | 
			
		||||
        String testProvisionDeviceKey;
 | 
			
		||||
        String testProvisionDeviceKey = TEST_PROVISION_DEVICE_KEY;
 | 
			
		||||
        deviceProfile.setProvisionType(provisionType);
 | 
			
		||||
        switch(provisionType) {
 | 
			
		||||
            case ALLOW_CREATE_NEW_DEVICES:
 | 
			
		||||
                testProvisionDeviceKey = TEST_PROVISION_DEVICE_KEY;
 | 
			
		||||
                provisionConfiguration = new AllowCreateNewDevicesDeviceProfileProvisionConfiguration(TEST_PROVISION_DEVICE_SECRET);
 | 
			
		||||
                deviceProfile.setProvisionType(DeviceProfileProvisionType.ALLOW_CREATE_NEW_DEVICES);
 | 
			
		||||
                break;
 | 
			
		||||
            case CHECK_PRE_PROVISIONED_DEVICES:
 | 
			
		||||
                testProvisionDeviceKey = TEST_PROVISION_DEVICE_KEY;
 | 
			
		||||
                provisionConfiguration = new CheckPreProvisionedDevicesDeviceProfileProvisionConfiguration(TEST_PROVISION_DEVICE_SECRET);
 | 
			
		||||
                deviceProfile.setProvisionType(DeviceProfileProvisionType.CHECK_PRE_PROVISIONED_DEVICES);
 | 
			
		||||
                break;
 | 
			
		||||
            default:
 | 
			
		||||
            case DISABLED:
 | 
			
		||||
                testProvisionDeviceKey = null;
 | 
			
		||||
                provisionConfiguration = new DisabledDeviceProfileProvisionConfiguration(null);
 | 
			
		||||
                deviceProfile.setProvisionType(DeviceProfileProvisionType.DISABLED);
 | 
			
		||||
                break;
 | 
			
		||||
        }
 | 
			
		||||
        DeviceProfileData deviceProfileData = deviceProfile.getProfileData();
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user