public void CanGetCredentialByNameSpace()
        {
            var foo = new SimpleTestCredentialInfo(namespaces: new List <string> {
                "RockLib.Encryption.Tests"
            });
            var bar = new SimpleTestCredentialInfo(namespaces: new List <string> {
                "RockLib"
            });


            var credentialCache = new CredentialCache <ICredentialInfo>(new List <ICredentialInfo>
            {
                foo,
                bar
            });

            var getFooResult = credentialCache.TryGetCredential(typeof(SimpleTestCredentialInfo), out var credentialFooInfo);
            var getBarResult = credentialCache.TryGetCredential(typeof(ICredentialInfo), out var credentialBarInfo);

            getFooResult.Should().BeTrue();
            credentialFooInfo.Should().BeSameAs(foo);

            getBarResult.Should().BeTrue();
            credentialBarInfo.Should().BeSameAs(bar);
        }
Exemple #2
0
        public void CanGetCredentialsByName()
        {
            var foo = new SimpleTestCredentialInfo("foo");
            var bar = new SimpleTestCredentialInfo("bar");

            var credentialCache = new CredentialCache <ICredentialInfo>(new List <ICredentialInfo>
            {
                foo,
                bar
            });

            var getFooResult = credentialCache.TryGetCredential("foo", out var credentialFooInfo);
            var getBarResult = credentialCache.TryGetCredential("bar", out var credentialBarInfo);

            getFooResult.Should().BeTrue();
            credentialFooInfo.Should().BeSameAs(foo);

            getBarResult.Should().BeTrue();
            credentialBarInfo.Should().BeSameAs(bar);
        }
Exemple #3
0
        public void CannotGetCredentialWhenNameDoesNotExist()
        {
            var credentialCache = new CredentialCache <ICredentialInfo>(new List <ICredentialInfo>
            {
                new SimpleTestCredentialInfo("foo")
            });

            var getResult = credentialCache.TryGetCredential("bar", out var credInfo);

            getResult.Should().BeFalse();
            credInfo.Should().BeNull();
        }
Exemple #4
0
        public void CannotGetDefaultCredentialWhenNoneExists()
        {
            var credentialCache = new CredentialCache <ICredentialInfo>(new List <ICredentialInfo>
            {
                new SimpleTestCredentialInfo("foo")
            });

            var getResult = credentialCache.TryGetCredential(null, out var credInfo);

            getResult.Should().BeFalse();
            credInfo.Should().BeNull();
        }
Exemple #5
0
        public void CanGetDefaultCredentialWithDefaultName()
        {
            var credentialCache = new CredentialCache <ICredentialInfo>(new List <ICredentialInfo>
            {
                new SimpleTestCredentialInfo("default")
            });

            var getResult = credentialCache.TryGetCredential(null, out var credInfo);

            getResult.Should().BeTrue();
            credInfo.Should().NotBeNull();
        }
        public void CanGetDefaultCredentialWhenSearchingWithNonStringNonType()
        {
            var credentialCache = new CredentialCache <ICredentialInfo>(new List <ICredentialInfo>
            {
                new SimpleTestCredentialInfo()
            });

            var getResult = credentialCache.TryGetCredential(new object(), out var credInfo);

            getResult.Should().BeTrue();
            credInfo.Should().NotBeNull();
        }
Exemple #7
0
 /// <summary>
 /// Returns a value indicating whether this instance of <see cref="ICrypto"/>
 /// is able to handle the provided credential name for an encrypt operation.
 /// </summary>
 /// <param name="credentialName">
 /// The credential name to check, or null to check if the default credential exists.
 /// </param>
 /// <returns>
 /// True, if this instance can handle the credential name for an encrypt operation.
 /// Otherwise, false.
 /// </returns>
 public bool CanEncrypt(string credentialName) =>
 _credentialCache.TryGetCredential(credentialName, out var dummy);