Search in sources :

Example 1 with CredentialsDataProto

use of org.thingsboard.server.gen.transport.TransportProtos.CredentialsDataProto in project thingsboard by thingsboard.

the class AbstractCoapProvisionProtoDeviceTest method processTestProvisioningCreateNewDeviceWithAccessToken.

private void processTestProvisioningCreateNewDeviceWithAccessToken() throws Exception {
    super.processBeforeTest("Test Provision device3", CoapDeviceType.DEFAULT, TransportPayloadType.PROTOBUF, null, null, null, null, "testProvisionKey", "testProvisionSecret", DeviceProfileProvisionType.ALLOW_CREATE_NEW_DEVICES);
    CredentialsDataProto requestCredentials = CredentialsDataProto.newBuilder().setValidateDeviceTokenRequestMsg(ValidateDeviceTokenRequestMsg.newBuilder().setToken("test_token").build()).build();
    ProvisionDeviceResponseMsg response = ProvisionDeviceResponseMsg.parseFrom(createCoapClientAndPublish(createTestsProvisionMessage(CredentialsType.ACCESS_TOKEN, requestCredentials)).getPayload());
    Device createdDevice = deviceService.findDeviceByTenantIdAndName(savedTenant.getTenantId(), "Test Provision device");
    Assert.assertNotNull(createdDevice);
    DeviceCredentials deviceCredentials = deviceCredentialsService.findDeviceCredentialsByDeviceId(savedTenant.getTenantId(), createdDevice.getId());
    Assert.assertEquals(deviceCredentials.getCredentialsType().name(), response.getCredentialsType().toString());
    Assert.assertEquals(deviceCredentials.getCredentialsType(), DeviceCredentialsType.ACCESS_TOKEN);
    Assert.assertEquals(deviceCredentials.getCredentialsId(), "test_token");
    Assert.assertEquals(ProvisionResponseStatus.SUCCESS.name(), response.getStatus().toString());
}
Also used : CredentialsDataProto(org.thingsboard.server.gen.transport.TransportProtos.CredentialsDataProto) ProvisionDeviceResponseMsg(org.thingsboard.server.gen.transport.TransportProtos.ProvisionDeviceResponseMsg) Device(org.thingsboard.server.common.data.Device) DeviceCredentials(org.thingsboard.server.common.data.security.DeviceCredentials)

Example 2 with CredentialsDataProto

use of org.thingsboard.server.gen.transport.TransportProtos.CredentialsDataProto in project thingsboard by thingsboard.

the class AbstractMqttProvisionProtoDeviceTest method processTestProvisioningCreateNewDeviceWithCert.

protected void processTestProvisioningCreateNewDeviceWithCert() throws Exception {
    super.processBeforeTest("Test Provision device3", "Test Provision gateway", TransportPayloadType.PROTOBUF, null, null, null, null, null, null, "testProvisionKey", "testProvisionSecret", DeviceProfileProvisionType.ALLOW_CREATE_NEW_DEVICES, false, false);
    CredentialsDataProto requestCredentials = CredentialsDataProto.newBuilder().setValidateDeviceX509CertRequestMsg(ValidateDeviceX509CertRequestMsg.newBuilder().setHash("testHash").build()).build();
    ProvisionDeviceResponseMsg response = ProvisionDeviceResponseMsg.parseFrom(createMqttClientAndPublish(createTestsProvisionMessage(CredentialsType.X509_CERTIFICATE, requestCredentials)).getPayloadBytes());
    Device createdDevice = deviceService.findDeviceByTenantIdAndName(savedTenant.getTenantId(), "Test Provision device");
    Assert.assertNotNull(createdDevice);
    DeviceCredentials deviceCredentials = deviceCredentialsService.findDeviceCredentialsByDeviceId(savedTenant.getTenantId(), createdDevice.getId());
    Assert.assertEquals(deviceCredentials.getCredentialsType().name(), response.getCredentialsType().toString());
    Assert.assertEquals(deviceCredentials.getCredentialsType(), DeviceCredentialsType.X509_CERTIFICATE);
    String cert = EncryptionUtil.certTrimNewLines(deviceCredentials.getCredentialsValue());
    String sha3Hash = EncryptionUtil.getSha3Hash(cert);
    Assert.assertEquals(deviceCredentials.getCredentialsId(), sha3Hash);
    Assert.assertEquals(deviceCredentials.getCredentialsValue(), "testHash");
    Assert.assertEquals(ProvisionResponseStatus.SUCCESS.name(), response.getStatus().toString());
}
Also used : CredentialsDataProto(org.thingsboard.server.gen.transport.TransportProtos.CredentialsDataProto) ProvisionDeviceResponseMsg(org.thingsboard.server.gen.transport.TransportProtos.ProvisionDeviceResponseMsg) Device(org.thingsboard.server.common.data.Device) DeviceCredentials(org.thingsboard.server.common.data.security.DeviceCredentials)

Example 3 with CredentialsDataProto

use of org.thingsboard.server.gen.transport.TransportProtos.CredentialsDataProto in project thingsboard by thingsboard.

the class AbstractMqttProvisionProtoDeviceTest method processTestProvisioningCreateNewDeviceWithMqttBasic.

protected void processTestProvisioningCreateNewDeviceWithMqttBasic() throws Exception {
    super.processBeforeTest("Test Provision device3", "Test Provision gateway", TransportPayloadType.PROTOBUF, null, null, null, null, null, null, "testProvisionKey", "testProvisionSecret", DeviceProfileProvisionType.ALLOW_CREATE_NEW_DEVICES, false, false);
    CredentialsDataProto requestCredentials = CredentialsDataProto.newBuilder().setValidateBasicMqttCredRequestMsg(ValidateBasicMqttCredRequestMsg.newBuilder().setClientId("test_clientId").setUserName("test_username").setPassword("test_password").build()).build();
    ProvisionDeviceResponseMsg response = ProvisionDeviceResponseMsg.parseFrom(createMqttClientAndPublish(createTestsProvisionMessage(CredentialsType.MQTT_BASIC, requestCredentials)).getPayloadBytes());
    Device createdDevice = deviceService.findDeviceByTenantIdAndName(savedTenant.getTenantId(), "Test Provision device");
    Assert.assertNotNull(createdDevice);
    DeviceCredentials deviceCredentials = deviceCredentialsService.findDeviceCredentialsByDeviceId(savedTenant.getTenantId(), createdDevice.getId());
    Assert.assertEquals(deviceCredentials.getCredentialsType().name(), response.getCredentialsType().toString());
    Assert.assertEquals(deviceCredentials.getCredentialsType(), DeviceCredentialsType.MQTT_BASIC);
    Assert.assertEquals(deviceCredentials.getCredentialsId(), EncryptionUtil.getSha3Hash("|", "test_clientId", "test_username"));
    BasicMqttCredentials mqttCredentials = new BasicMqttCredentials();
    mqttCredentials.setClientId("test_clientId");
    mqttCredentials.setUserName("test_username");
    mqttCredentials.setPassword("test_password");
    Assert.assertEquals(deviceCredentials.getCredentialsValue(), JacksonUtil.toString(mqttCredentials));
    Assert.assertEquals(ProvisionResponseStatus.SUCCESS.name(), response.getStatus().toString());
}
Also used : CredentialsDataProto(org.thingsboard.server.gen.transport.TransportProtos.CredentialsDataProto) BasicMqttCredentials(org.thingsboard.server.common.data.device.credentials.BasicMqttCredentials) ProvisionDeviceResponseMsg(org.thingsboard.server.gen.transport.TransportProtos.ProvisionDeviceResponseMsg) Device(org.thingsboard.server.common.data.Device) DeviceCredentials(org.thingsboard.server.common.data.security.DeviceCredentials)

Example 4 with CredentialsDataProto

use of org.thingsboard.server.gen.transport.TransportProtos.CredentialsDataProto in project thingsboard by thingsboard.

the class AbstractMqttProvisionProtoDeviceTest method processTestProvisioningCreateNewDeviceWithAccessToken.

protected void processTestProvisioningCreateNewDeviceWithAccessToken() throws Exception {
    super.processBeforeTest("Test Provision device3", "Test Provision gateway", TransportPayloadType.PROTOBUF, null, null, null, null, null, null, "testProvisionKey", "testProvisionSecret", DeviceProfileProvisionType.ALLOW_CREATE_NEW_DEVICES, false, false);
    CredentialsDataProto requestCredentials = CredentialsDataProto.newBuilder().setValidateDeviceTokenRequestMsg(ValidateDeviceTokenRequestMsg.newBuilder().setToken("test_token").build()).build();
    ProvisionDeviceResponseMsg response = ProvisionDeviceResponseMsg.parseFrom(createMqttClientAndPublish(createTestsProvisionMessage(CredentialsType.ACCESS_TOKEN, requestCredentials)).getPayloadBytes());
    Device createdDevice = deviceService.findDeviceByTenantIdAndName(savedTenant.getTenantId(), "Test Provision device");
    Assert.assertNotNull(createdDevice);
    DeviceCredentials deviceCredentials = deviceCredentialsService.findDeviceCredentialsByDeviceId(savedTenant.getTenantId(), createdDevice.getId());
    Assert.assertEquals(deviceCredentials.getCredentialsType().name(), response.getCredentialsType().toString());
    Assert.assertEquals(deviceCredentials.getCredentialsType(), DeviceCredentialsType.ACCESS_TOKEN);
    Assert.assertEquals(deviceCredentials.getCredentialsId(), "test_token");
    Assert.assertEquals(ProvisionResponseStatus.SUCCESS.name(), response.getStatus().toString());
}
Also used : CredentialsDataProto(org.thingsboard.server.gen.transport.TransportProtos.CredentialsDataProto) ProvisionDeviceResponseMsg(org.thingsboard.server.gen.transport.TransportProtos.ProvisionDeviceResponseMsg) Device(org.thingsboard.server.common.data.Device) DeviceCredentials(org.thingsboard.server.common.data.security.DeviceCredentials)

Example 5 with CredentialsDataProto

use of org.thingsboard.server.gen.transport.TransportProtos.CredentialsDataProto in project thingsboard by thingsboard.

the class AbstractCoapProvisionProtoDeviceTest method processTestProvisioningCreateNewDeviceWithCert.

private void processTestProvisioningCreateNewDeviceWithCert() throws Exception {
    super.processBeforeTest("Test Provision device3", CoapDeviceType.DEFAULT, TransportPayloadType.PROTOBUF, null, null, null, null, "testProvisionKey", "testProvisionSecret", DeviceProfileProvisionType.ALLOW_CREATE_NEW_DEVICES);
    CredentialsDataProto requestCredentials = CredentialsDataProto.newBuilder().setValidateDeviceX509CertRequestMsg(ValidateDeviceX509CertRequestMsg.newBuilder().setHash("testHash").build()).build();
    ProvisionDeviceResponseMsg response = ProvisionDeviceResponseMsg.parseFrom(createCoapClientAndPublish(createTestsProvisionMessage(CredentialsType.X509_CERTIFICATE, requestCredentials)).getPayload());
    Device createdDevice = deviceService.findDeviceByTenantIdAndName(savedTenant.getTenantId(), "Test Provision device");
    Assert.assertNotNull(createdDevice);
    DeviceCredentials deviceCredentials = deviceCredentialsService.findDeviceCredentialsByDeviceId(savedTenant.getTenantId(), createdDevice.getId());
    Assert.assertEquals(deviceCredentials.getCredentialsType().name(), response.getCredentialsType().toString());
    Assert.assertEquals(deviceCredentials.getCredentialsType(), DeviceCredentialsType.X509_CERTIFICATE);
    String cert = EncryptionUtil.certTrimNewLines(deviceCredentials.getCredentialsValue());
    String sha3Hash = EncryptionUtil.getSha3Hash(cert);
    Assert.assertEquals(deviceCredentials.getCredentialsId(), sha3Hash);
    Assert.assertEquals(deviceCredentials.getCredentialsValue(), "testHash");
    Assert.assertEquals(ProvisionResponseStatus.SUCCESS.name(), response.getStatus().toString());
}
Also used : CredentialsDataProto(org.thingsboard.server.gen.transport.TransportProtos.CredentialsDataProto) ProvisionDeviceResponseMsg(org.thingsboard.server.gen.transport.TransportProtos.ProvisionDeviceResponseMsg) Device(org.thingsboard.server.common.data.Device) DeviceCredentials(org.thingsboard.server.common.data.security.DeviceCredentials)

Aggregations

Device (org.thingsboard.server.common.data.Device)5 DeviceCredentials (org.thingsboard.server.common.data.security.DeviceCredentials)5 CredentialsDataProto (org.thingsboard.server.gen.transport.TransportProtos.CredentialsDataProto)5 ProvisionDeviceResponseMsg (org.thingsboard.server.gen.transport.TransportProtos.ProvisionDeviceResponseMsg)5 BasicMqttCredentials (org.thingsboard.server.common.data.device.credentials.BasicMqttCredentials)1