public void GetX509IdentityTest() { string iothubHostName = "iothub1.azure.net"; string callerProductInfo = "productInfo"; string deviceId = "device1"; string moduleId = "module1"; string deviceClientType = "customDeviceClient1"; var identityFactory = new ClientCredentialsFactory(iothubHostName, callerProductInfo); // device test IClientCredentials identityTry1 = identityFactory.GetWithX509Cert(deviceId, null, deviceClientType); Assert.IsType <DeviceIdentity>(identityTry1.Identity); Assert.Equal("device1", identityTry1.Identity.Id); Assert.Equal($"{callerProductInfo} customDeviceClient1", identityTry1.ProductInfo); Assert.Equal(AuthenticationType.X509Cert, identityTry1.AuthenticationType); // module test IClientCredentials identityTry2 = identityFactory.GetWithX509Cert(deviceId, moduleId, deviceClientType); Assert.IsType <ModuleIdentity>(identityTry2.Identity); Assert.Equal("device1/module1", identityTry2.Identity.Id); Assert.Equal($"{callerProductInfo} customDeviceClient1", identityTry2.ProductInfo); Assert.Equal(AuthenticationType.X509Cert, identityTry1.AuthenticationType); }
public void GetX509IdentityTest() { string iothubHostName = "iothub1.azure.net"; string callerProductInfo = "productInfo"; string deviceId = "device1"; string moduleId = "module1"; string deviceClientType = "customDeviceClient1"; var clientCertificate = TestCertificateHelper.GenerateSelfSignedCert("some_cert"); var clientCertChain = new List <X509Certificate2>() { clientCertificate }; Option <string> modelId = Option.Some("modelId1"); Option <string> authChain = Option.Some("device1;edge1"); var identityFactory = new ClientCredentialsFactory(new IdentityProvider(iothubHostName), callerProductInfo); // device test IClientCredentials identityTry1 = identityFactory.GetWithX509Cert(deviceId, null, deviceClientType, clientCertificate, clientCertChain, modelId, authChain); Assert.IsType <DeviceIdentity>(identityTry1.Identity); Assert.IsType <X509CertCredentials>(identityTry1); Assert.Equal(clientCertificate, (identityTry1 as ICertificateCredentials)?.ClientCertificate); Assert.Equal(clientCertChain, (identityTry1 as ICertificateCredentials)?.ClientCertificateChain); Assert.Equal("device1", identityTry1.Identity.Id); Assert.Equal($"customDeviceClient1 {callerProductInfo}", identityTry1.ProductInfo); Assert.Equal(AuthenticationType.X509Cert, identityTry1.AuthenticationType); Assert.Equal(modelId, identityTry1.ModelId); Assert.Equal(authChain, identityTry1.AuthChain); // module test IClientCredentials identityTry2 = identityFactory.GetWithX509Cert(deviceId, moduleId, deviceClientType, clientCertificate, clientCertChain, modelId, authChain); Assert.IsType <ModuleIdentity>(identityTry2.Identity); Assert.IsType <X509CertCredentials>(identityTry2); Assert.Equal(clientCertificate, (identityTry2 as ICertificateCredentials)?.ClientCertificate); Assert.Equal(clientCertChain, (identityTry2 as ICertificateCredentials)?.ClientCertificateChain); Assert.Equal("device1/module1", identityTry2.Identity.Id); Assert.Equal($"customDeviceClient1 {callerProductInfo}", identityTry2.ProductInfo); Assert.Equal(AuthenticationType.X509Cert, identityTry1.AuthenticationType); Assert.Equal(modelId, identityTry2.ModelId); Assert.Equal(authChain, identityTry2.AuthChain); }