コード例 #1
0
        public void PrependsClearText(TestTokenable tokenable)
        {
            var sutProvider = GetSutProvider();

            var token = sutProvider.Sut.Protect(tokenable);

            Assert.StartsWith(sutProvider.GetDependency <string>("clearTextPrefix"), token);
        }
コード例 #2
0
        public void EncryptsToken(TestTokenable tokenable)
        {
            var sutProvider = GetSutProvider();
            var prefix      = sutProvider.GetDependency <string>("clearTextPrefix");

            var token = sutProvider.Sut.Protect(tokenable);

            Assert.NotEqual(new Token(token).RemovePrefix(prefix), tokenable.ToToken());
        }
コード例 #3
0
        public void TokenValid_FalseIfUnprotectFails(TestTokenable tokenable)
        {
            var sutProvider = GetSutProvider();
            var token       = sutProvider.Sut.Protect(tokenable) + "fail decryption";

            var result = sutProvider.Sut.TokenValid(token);

            Assert.False(result);
        }
コード例 #4
0
        public void CanRoundTripTokenables(TestTokenable tokenable)
        {
            var sutProvider = GetSutProvider();

            var token = sutProvider.Sut.Protect(tokenable);
            var recoveredTokenable = sutProvider.Sut.Unprotect(token);

            AssertHelper.AssertPropertyEqual(tokenable, recoveredTokenable);
        }
コード例 #5
0
        public void TryUnprotect_FalseIfUnprotectFails(TestTokenable tokenable)
        {
            var sutProvider = GetSutProvider();
            var token       = sutProvider.Sut.Protect(tokenable) + "fail decryption";

            var result = sutProvider.Sut.TryUnprotect(token, out var data);

            Assert.False(result);
            Assert.Null(data);
        }
コード例 #6
0
        public void ThrowsIfUnprotectFails(TestTokenable tokenable)
        {
            var sutProvider = GetSutProvider();

            var token = sutProvider.Sut.Protect(tokenable);

            token += "stuff to make sure decryption fails";

            Assert.Throws <CryptographicException>(() => sutProvider.Sut.Unprotect(token));
        }
コード例 #7
0
        public void TokenValid_TrueIfSuccess(TestTokenable tokenable)
        {
            tokenable.ForceInvalid = false;
            var sutProvider = GetSutProvider();
            var token       = sutProvider.Sut.Protect(tokenable);

            var result = sutProvider.Sut.TokenValid(token);

            Assert.True(result);
        }
コード例 #8
0
        public void TryUnprotect_TrueIfSuccess(TestTokenable tokenable)
        {
            var sutProvider = GetSutProvider();
            var token       = sutProvider.Sut.Protect(tokenable);

            var result = sutProvider.Sut.TryUnprotect(token, out var data);

            Assert.True(result);
            AssertHelper.AssertPropertyEqual(tokenable, data);
        }
コード例 #9
0
        public void TokenValid_FalseIfTokenInvalid(TestTokenable tokenable)
        {
            var sutProvider = GetSutProvider();

            tokenable.ForceInvalid = true;
            var token = sutProvider.Sut.Protect(tokenable);

            var result = sutProvider.Sut.TokenValid(token);

            Assert.False(result);
        }