public void CAIsAbleToSignCerts()
        {
            // Arrange
            IConfig config = this.config.Object;
            var     provisioningService = new Mock <IProvisioningService>().Object;

            IRootCertificateAuthority rootCA = new IoTCompany(
                config,
                provisioningService);
            ICertificateAuthority intermedCA = new IoTHardwareIntegrator(config, rootCA);
            X509Certificate2      signedCrt  = null;

            // Act
            signedCrt = intermedCA.CreateSignedCrt(this.leafCsr);

            // Assert
            Assert.NotNull(signedCrt);
            // TODO: future PR if team says "go", improve assertions here: isCa false, subject, etc.
        }
        public void CAIsAbleToAcquireAValidCertAndIsProperlyInitialized()
        {
            // Arrange
            IConfig config = this.config.Object;
            var     provisioningService      = new Mock <IProvisioningService>().Object;
            IRootCertificateAuthority rootCA = new IoTCompany(
                config,
                provisioningService);
            ICertificateAuthority intermedCA = null;

            // Act
            intermedCA = new IoTHardwareIntegrator(config, rootCA);

            // Assert
            Assert.NotNull(intermedCA.personalSignedX509Certificate);
            Assert.NotNull(intermedCA.ParentCertificateAuthority);
            Assert.Equal(rootCA, intermedCA.ParentCertificateAuthority);
            Assert.False(intermedCA.personalSignedX509Certificate.HasPrivateKey);
        }
Beispiel #3
0
        public void IoTHardwareIntegratorCanManufactureANewIoTDevice()
        {
            // Arrange
            var mockIoTDeployer = new Mock <IIoTDeployer>();
            var factory         = new IoTHardwareIntegrator(this.config.Object,
                                                            this.mockCA.Object,
                                                            mockIoTDeployer.Object);

            // Act
            var device = factory.ManufactureAsync("testDPSGlobalEndpoint",
                                                  "testDPSScopeId")
                         .GetAwaiter()
                         .GetResult();

            // Assert
            Assert.NotNull(device);
            mockIoTDeployer.Verify(
                d => d.InstallAsync(
                    It.IsAny <IIoTDevice>(),
                    It.IsAny <string>(),
                    It.IsAny <string>()));
        }