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}")); }
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")); }