public override void ExecuteCmdlet() { if (ParameterSetName.Equals(InputObjectParameterSet)) { this.ResourceGroupName = this.InputObject.ResourceGroupName; this.Name = this.InputObject.Name; this.CertificateName = this.InputObject.CertificateName; this.Etag = this.InputObject.Etag; } if (ParameterSetName.Equals(ResourceIdParameterSet)) { this.ResourceGroupName = IotHubUtils.GetResourceGroupName(this.ResourceId); this.Name = IotHubUtils.GetIotHubName(this.ResourceId); this.CertificateName = IotHubUtils.GetIotHubCertificateName(this.ResourceId); } CertificateWithNonceDescription certificateWithNonceDescription = this.IotHubClient.Certificates.GenerateVerificationCode(this.ResourceGroupName, this.Name, this.CertificateName, this.Etag); this.WriteObject(IotHubUtils.ToPSCertificateWithNonceDescription(certificateWithNonceDescription)); }
public static PSCertificateWithNonceDescription ToPSCertificateWithNonceDescription(CertificateWithNonceDescription certificateWithNonceDescription) { return ConvertObject<CertificateWithNonceDescription, PSCertificateWithNonceDescription>(certificateWithNonceDescription); }
public async Task IotHubClient_HubCertificate() { try { using var context = MockContext.Start(GetType()); Initialize(context); // Create resource group ResourceGroup resourceGroup = await CreateResourceGroupAsync(IotHubTestUtilities.DefaultCertificateResourceGroupName).ConfigureAwait(false); // Check if hub exists and delete IotHubNameAvailabilityInfo iotHubNameAvailabilityInfo = await _iotHubClient.IotHubResource .CheckNameAvailabilityAsync(IotHubTestUtilities.DefaultCertificateIotHubName) .ConfigureAwait(false); if (!iotHubNameAvailabilityInfo.NameAvailable.Value) { _ = await _iotHubClient.IotHubResource .DeleteAsync( IotHubTestUtilities.DefaultCertificateResourceGroupName, IotHubTestUtilities.DefaultCertificateIotHubName) .ConfigureAwait(false); } // Create hub IotHubDescription iotHub = await CreateIotHubAsync(resourceGroup, IotHubTestUtilities.DefaultLocation, IotHubTestUtilities.DefaultCertificateIotHubName, null) .ConfigureAwait(false); // Upload certificate to the hub CertificateDescription newCertificateDescription = await CreateCertificateAsync( resourceGroup, IotHubTestUtilities.DefaultCertificateIotHubName, IotHubTestUtilities.DefaultIotHubCertificateName) .ConfigureAwait(false); newCertificateDescription.Name.Should().Be(IotHubTestUtilities.DefaultIotHubCertificateName); newCertificateDescription.Properties.Subject.Should().Be(IotHubTestUtilities.DefaultIotHubCertificateSubject); newCertificateDescription.Properties.Thumbprint.Should().Be(IotHubTestUtilities.DefaultIotHubCertificateThumbprint); newCertificateDescription.Type.Should().Be(IotHubTestUtilities.DefaultIotHubCertificateType); newCertificateDescription.Properties.IsVerified.Should().BeFalse(); // Get all certificates var certificateList = await GetCertificatesAsync(resourceGroup, IotHubTestUtilities.DefaultCertificateIotHubName).ConfigureAwait(false); certificateList.Value.Count().Should().Be(1); // Get certificate CertificateDescription certificate = await GetCertificateAsync(resourceGroup, IotHubTestUtilities.DefaultCertificateIotHubName, IotHubTestUtilities.DefaultIotHubCertificateName) .ConfigureAwait(false); certificate.Name.Should().Be(IotHubTestUtilities.DefaultIotHubCertificateName); certificate.Properties.Subject.Should().Be(IotHubTestUtilities.DefaultIotHubCertificateSubject); certificate.Properties.Thumbprint.Should().Be(IotHubTestUtilities.DefaultIotHubCertificateThumbprint); certificate.Type.Should().Be(IotHubTestUtilities.DefaultIotHubCertificateType); certificate.Properties.IsVerified.Should().BeFalse(); CertificateWithNonceDescription certificateWithNonceDescription = await GenerateVerificationCodeAsync( resourceGroup, IotHubTestUtilities.DefaultCertificateIotHubName, IotHubTestUtilities.DefaultIotHubCertificateName, certificate.Etag) .ConfigureAwait(false); certificateWithNonceDescription.Name.Should().Be(IotHubTestUtilities.DefaultIotHubCertificateName); certificateWithNonceDescription.Properties.Subject.Should().Be(IotHubTestUtilities.DefaultIotHubCertificateSubject); certificateWithNonceDescription.Properties.Thumbprint.Should().Be(IotHubTestUtilities.DefaultIotHubCertificateThumbprint); certificateWithNonceDescription.Type.Should().Be(IotHubTestUtilities.DefaultIotHubCertificateType); certificateWithNonceDescription.Properties.IsVerified.Should().BeFalse(); certificateWithNonceDescription.Properties.VerificationCode.Should().NotBeNull(); // Delete certificate await DeleteCertificateAsync( resourceGroup, IotHubTestUtilities.DefaultCertificateIotHubName, IotHubTestUtilities.DefaultIotHubCertificateName, certificateWithNonceDescription.Etag) .ConfigureAwait(false); // Get all certificate after delete var certificateListAfterDelete = await GetCertificatesAsync(resourceGroup, IotHubTestUtilities.DefaultCertificateIotHubName) .ConfigureAwait(false); certificateListAfterDelete.Value.Count().Should().Be(0); } catch (ErrorDetailsException ex) { Console.WriteLine(ex.ToString()); Console.WriteLine($"{ex.Body.Message}: {ex.Body.Details}"); throw; } catch (Exception ex) { Console.WriteLine(ex.ToString()); throw; } }