示例#1
0
        public void ConsoleFormatterAopTest()
        {
            var provider = AopTestExtensions.ConfigServiceCollectionWithAop(i => i.AddSingleton <TConsoleFormatter>(), true);
            var p        = provider.GetRequiredService <TConsoleFormatter>();

            Assert.False(p.GetType().IsProxyType());
            Assert.NotNull(p);
        }
示例#2
0
        public void ControllerBaseAopTest()
        {
            var provider = AopTestExtensions.ConfigServiceCollectionWithAop(i => i.AddSingleton <TestController>(), false);
            var p        = provider.GetRequiredService <TestController>();

            Assert.True(p.GetType().IsProxyType());
            Assert.NotNull(p);
        }
示例#3
0
        public void LoggerAopTest()
        {
            var provider = AopTestExtensions.ConfigServiceCollectionWithAop(i => i.AddTransient(typeof(ILogger <>), typeof(Logger <>))
                                                                            .AddSingleton(new Mock <ILoggerFactory>().Object));

            var p = provider.GetRequiredService <ILogger <SamplesAopTest> >();

            Assert.NotNull(p);
        }
        public async Task WhenHasParameterInject()
        {
            var p = AopTestExtensions.ConfigServiceCollectionWithAop(i => i.AddTransient <ParameterInjectTest>().AddTransient <ParameterInjectInterceptorTest>())
                    .GetRequiredService <ParameterInjectTest>();
            var pt = p.GetType();

            Assert.True(pt.IsProxyType());
            Assert.NotNull(p.T(null));
            Assert.NotNull(await p.T(3, 4, null, null));
            var a = new ParameterInjectTest();

            Assert.Same(a, p.T(a));
            Assert.NotNull(p.PT);
            Assert.NotNull(p.PT2);
            Assert.NotNull(p.PT3);
            Assert.NotNull(p.FT1);
            Assert.NotNull(p.FT2);
        }
        public void WhenInterfaceHasParameterInject()
        {
            var p = AopTestExtensions.ConfigServiceCollectionWithAop(i => i.AddTransient <IInjectTest>().AddTransient <ParameterInjectInterceptorTest>())
                    .GetRequiredService <IInjectTest>();
            var pt = p.GetType();

            Assert.True(pt.IsProxyType());
            Assert.NotNull(p.T());
            Assert.Same(this, p.T(this));
            Assert.Null(p.PT);

            p = AopTestExtensions.ConfigServiceCollectionWithAop(i => i.AddTransient <IInjectTest, ParameterInjectTest>().AddTransient <ParameterInjectInterceptorTest>())
                .GetRequiredService <IInjectTest>();
            pt = p.GetType();
            Assert.True(pt.IsProxyType());
            Assert.NotNull(p.T());
            Assert.Same(this, p.T(this));
            Assert.NotNull(p.PT);
        }