コード例 #1
0
        public void Builder_WhenUsingNonce_AddsNonceToCSP()
        {
            var builder = new CspBuilder();

            builder.AddScriptSrc().WithNonce();
            builder.AddStyleSrc().WithNonce();
            builder.AddCustomDirectiveBuilder("test-directive").WithNonce();

            var result = builder.Build();

            var httpContext = new DefaultHttpContext();
            var nonce       = "ABC123";

            httpContext.SetNonce(nonce);

            var csp = result.Builder(httpContext);

            csp.Should().Be($"script-src 'nonce-{nonce}'; style-src 'nonce-{nonce}'; test-directive 'nonce-{nonce}'");
        }