コード例 #1
0
        public void WriteAsymmetric_EmptyPrivateRSAKeyPath_ShouldThrowArgumentNullException()
        {
            // GIVEN a valid JWTWriter, issuer, audience and an empty privateRSAKey
            var sut               = new JWTWriter();
            var issuer            = "some-issuer";
            var audience          = "some-audience";
            var privateRSAKeyPath = "";

            // WHEN writing the JWT
            Action act = () => sut.WriteAsymmetric(issuer, audience, DateTime.MaxValue, privateRSAKeyPath, null);

            // THEN it should throw ArgumentNullException
            act.Should().Throw <ArgumentNullException>();
        }
コード例 #2
0
        public void WriteAsymmetric_EmptyAudience_ShouldThrowArgumentNullException()
        {
            // GIVEN a valid JWTWriter, issuer, privateRSAKey path and an empty audience
            var sut               = new JWTWriter();
            var issuer            = "some-issuer";
            var audience          = "";
            var privateRSAKeyPath = "keys/jwtRS512.key";

            // WHEN writing the JWT
            Action act = () => sut.WriteAsymmetric(issuer, audience, DateTime.MaxValue, privateRSAKeyPath, null);

            // THEN it should throw ArgumentNullException
            act.Should().Throw <ArgumentNullException>()
            .And.Message.Should().Contain(nameof(audience));
        }
コード例 #3
0
        public void WriteAsymmetric_InvalidPrivateRSAKeyPath_ShouldThrowIOException()
        {
            // GIVEN a valid JWTWriter, issuer, audience and an empty privateRSAKey
            var sut               = new JWTWriter();
            var issuer            = "some-issuer";
            var audience          = "some-audience";
            var privateRSAKeyPath = "asdasd";

            // WHEN writing the JWT
            Action act = () => sut.WriteAsymmetric(issuer, audience, DateTime.MaxValue, privateRSAKeyPath, null);

            // THEN it should throw IOException
            act.Should().Throw <IOException>()
            .And.Message.Should().Contain(privateRSAKeyPath);
        }
コード例 #4
0
        public void WriteAsymmetric_ValidArgs_ShouldReturnAValidJWT()
        {
            // GIVEN a valid JWTWriter, issuer, audience, privateRSAKey path and some claims
            var sut           = new JWTWriter();
            var issuer        = "some-issuer";
            var audience      = "some-audience";
            var privateRSAKey = "keys/jwtRS512.key";
            var claims        = new Dictionary <string, object>
            {
                { "some-claim-int", 123456 },
                { "some-claim-bool", false }
            };

            // WHEN writing the JWT
            var jwt = sut.WriteAsymmetric(issuer, audience, DateTime.MaxValue, privateRSAKey, claims);

            // THEN the JWT is the expected one
            var expected = "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJzb21lLWNsYWltLWludCI6MTIzNDU2LCJzb21lLWNsYWltLWJvb2wiOmZhbHNlLCJleHAiOjI1MzQwMjMwMDgwMCwiaXNzIjoic29tZS1pc3N1ZXIiLCJhdWQiOiJzb21lLWF1ZGllbmNlIn0.R9uIuWawfd8hXULqoFpRoFAX2qHmjp7HQFQxllewu7Be9Z8G8WHr8qz-XfmC2GRh-ZP-MzkAkdYzuk_oGrI19WeYim91bHkgIxmEz30WSc_0nlFPoygYKRcBzFs6BI-HPpiOKhiScIN_QEiw0L83r7hV18HA_rwvF7ph1rSilIwhmloBxfTgRrq3yn2h2nshJ05poQrq64_0BBT2yJzcLbbhvuvdMUvEPJ7TiujJq1nyT-yq0072BiSUKwrf7zRZ_xsFhQCZjK8dYfhLlk0PdRB8S2BKIJfcIJhOauKDIRnH7uSbsmLhGMk2H-xSAG7y67iUdWJuJiQVQyefXp9jOVzExUcXmrfs30mYy07VaK1pCcvExoBy7RvmRtXzKWlZfWMrDqeginbJtRzXjtaLp-2CWt0JFE2rUtILLNOSOvMfwv_W53xi72kpchiP_7RKqM7WejSAjYf_jCL3g3mIYl0cDBxSXgdFAmAdZIT7XA6Qf91beBZQw0wBswR6oAHb0Z0C3A8FzdHoQvb07y1EiTqJ7bp8qiw155C34X3HDL1eEjHxP50xe4NPXYBSHf0lOFZ0W_TrcIqwVcJGgkoERgPttLdQH_FHdIlHRs3flcZ3uLuRuU8tmV8wrGrM-xf5mA9ic_668o1619SoWolqATD1gzfXEQcfpvntznIe1-0";

            jwt.Should().Equals(expected);
        }