Ejemplo n.º 1
0
        public async Task TestAsyncAuthentionReturnsFalse_FailsAsync()
        {
            var certificate = TestCertificateHelper.GenerateSelfSignedCert("test moi");
            var chain       = new List <X509Certificate2>()
            {
                certificate
            };
            var    identity                 = new X509CertificateIdentity(certificate, true);
            var    authenticator            = Mock.Of <IAuthenticator>();
            var    clientCredentialsFactory = Mock.Of <IClientCredentialsFactory>();
            var    clientCredentials        = Mock.Of <IClientCredentials>();
            var    principal                = new EdgeX509Principal(identity, chain, authenticator, clientCredentialsFactory);
            string deviceId                 = "myDid";
            string moduleId                 = "myMid";

            Mock.Get(clientCredentialsFactory).Setup(f => f.GetWithX509Cert(deviceId,
                                                                            moduleId,
                                                                            string.Empty,
                                                                            certificate,
                                                                            chain))
            .Returns(clientCredentials);
            Mock.Get(authenticator).Setup(a => a.AuthenticateAsync(clientCredentials)).ReturnsAsync(false);

            Assert.False(await principal.AuthenticateAsync($"{deviceId}/{moduleId}"));
        }
Ejemplo n.º 2
0
        public async Task TestAuthenticateAsyncWithInvalidId_FailsAsync()
        {
            var certificate = TestCertificateHelper.GenerateSelfSignedCert("test moi");
            var chain       = new List <X509Certificate2>()
            {
                certificate
            };
            var identity = new X509CertificateIdentity(certificate, true);
            var auth     = Mock.Of <IAuthenticator>();
            var cf       = Mock.Of <IClientCredentialsFactory>();

            var principal = new EdgeX509Principal(identity, chain, auth, cf);
            await Assert.ThrowsAsync <ArgumentException>(() => principal.AuthenticateAsync(null));

            await Assert.ThrowsAsync <ArgumentException>(() => principal.AuthenticateAsync(""));

            await Assert.ThrowsAsync <ArgumentException>(() => principal.AuthenticateAsync("   "));

            Assert.False(await principal.AuthenticateAsync("/   "));
            Assert.False(await principal.AuthenticateAsync("   /"));
            Assert.False(await principal.AuthenticateAsync("   /   "));
            Assert.False(await principal.AuthenticateAsync("did/"));
            Assert.False(await principal.AuthenticateAsync("did/   "));
            Assert.False(await principal.AuthenticateAsync("/mid"));
            Assert.False(await principal.AuthenticateAsync("   /mid"));
            Assert.False(await principal.AuthenticateAsync("did/mid/blah"));
        }