Exemple #1
0
        public ServerFixture()
        {
            _logSinkProvider = new LogSinkProvider();

            var testLog = AssemblyTestLog.ForAssembly(typeof(TStartup).Assembly);

            _logToken = testLog.StartTestLog(null, $"{nameof(ServerFixture<TStartup>)}_{typeof(TStartup).Name}", out _loggerFactory, "ServerFixture");
            _logger   = _loggerFactory.CreateLogger <ServerFixture <TStartup> >();

            StartServer();
        }
        internal IISTestSiteFixture(Action <IISDeploymentParameters> configure)
        {
            var logging = AssemblyTestLog.ForAssembly(typeof(IISTestSiteFixture).Assembly);

            _loggerFactory = logging.CreateLoggerFactory(null, nameof(IISTestSiteFixture));

            _forwardingProvider = new ForwardingProvider();
            _loggerFactory.AddProvider(_forwardingProvider);

            _configure = configure;
        }
Exemple #3
0
        public ServerFixture()
        {
            _asyncLoggerProvider = new AsyncForwardingLoggerProvider();

            var testLog = AssemblyTestLog.ForAssembly(typeof(TStartup).Assembly);

            _logToken = testLog.StartTestLog(null, $"{nameof(ServerFixture<TStartup>)}_{typeof(TStartup).Name}", out _loggerFactory, "ServerFixture");
            _loggerFactory.AddProvider(_asyncLoggerProvider);
            _logger = _loggerFactory.CreateLogger <ServerFixture <TStartup> >();
            Url     = "http://localhost:" + GetNextPort();

            StartServer(Url);
        }
Exemple #4
0
        public ErrorPageTests(
            MvcTestFixture <ErrorPageMiddlewareWebSite.Startup> fixture,
            ITestOutputHelper testOutputHelper)
        {
            _assemblyTestLog = AssemblyTestLog.ForAssembly(GetType().Assembly);

            var loggerProvider = _assemblyTestLog.CreateLoggerFactory(testOutputHelper, GetType().Name);

            var factory = fixture.Factories.FirstOrDefault() ?? fixture.WithWebHostBuilder(b => b.UseStartup <ErrorPageMiddlewareWebSite.Startup>());

            Client = factory
                     .WithWebHostBuilder(builder => builder.ConfigureLogging(l => l.Services.AddSingleton <ILoggerFactory>(loggerProvider)))
                     .CreateDefaultClient();
        }
Exemple #5
0
        public ServerFixture()
        {
            _asyncLoggerProvider = new AsyncForwardingLoggerProvider();

            var testLog = AssemblyTestLog.ForAssembly(typeof(TStartup).Assembly);

            _logToken = testLog.StartTestLog(null, $"{nameof(ServerFixture<TStartup>)}_{typeof(TStartup).Name}", out _loggerFactory, "ServerFixture");
            _loggerFactory.AddProvider(_asyncLoggerProvider);
            _logger = _loggerFactory.CreateLogger <ServerFixture <TStartup> >();
            // We're using 127.0.0.1 instead of localhost to ensure that we use IPV4 across different OSes
            Url = "http://127.0.0.1:" + GetNextPort();

            StartServer(Url);
        }
        public RedisServerFixture()
        {
            // Docker is not available on the machine, tests using this fixture
            // should be using SkipIfDockerNotPresentAttribute and will be skipped.
            if (Docker.Default == null)
            {
                return;
            }

            var testLog = AssemblyTestLog.ForAssembly(typeof(RedisServerFixture <TStartup>).Assembly);

            _logToken = testLog.StartTestLog(null, $"{nameof(RedisServerFixture<TStartup>)}_{typeof(TStartup).Name}", out _loggerFactory, LogLevel.Trace, "RedisServerFixture");
            _logger   = _loggerFactory.CreateLogger <RedisServerFixture <TStartup> >();

            Docker.Default.Start(_logger);
        }
        public ErrorPageTests(
            MvcTestFixture <ErrorPageMiddlewareWebSite.Startup> fixture,
            ITestOutputHelper testOutputHelper)
        {
            _assemblyTestLog = AssemblyTestLog.ForAssembly(GetType().Assembly);

            var loggerProvider = _assemblyTestLog.CreateLoggerFactory(testOutputHelper, GetType().Name);

            var factory = fixture.Factories.FirstOrDefault() ?? fixture.WithWebHostBuilder(b => b.UseStartup <ErrorPageMiddlewareWebSite.Startup>());

            Client = factory
                     .WithWebHostBuilder(builder => builder.ConfigureLogging(l => l.Services.AddSingleton <ILoggerFactory>(loggerProvider)))
                     .CreateDefaultClient();
            // These tests want to verify runtime compilation and formatting in the HTML of the error page
            Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/html"));
        }
Exemple #8
0
        public RabbitMQServerFixture()
        {
            if (Docker.Default == null)
            {
                return;
            }

            var testLog = AssemblyTestLog.ForAssembly(typeof(RabbitMQServerFixture <TStartup>).Assembly);

            _logToken = testLog.StartTestLog(null, $"{nameof(RabbitMQServerFixture<TStartup>)}_{typeof(TStartup).Name}", out _loggerFactory, LogLevel.Trace, "RabbitMQServerFixture");
            _logger   = _loggerFactory.CreateLogger <RabbitMQServerFixture <TStartup> >();

            Docker.Default.Start(_logger);

            FirstServer  = StartServer();
            SecondServer = StartServer();
        }
        public StoreSetupFixture()
        {
            if (!Store.IsEnabled())
            {
                return;
            }

            var            loggerName = nameof(StoreSetupFixture);
            var            testLog    = AssemblyTestLog.ForAssembly(typeof(StoreSetupFixture).Assembly);
            ILoggerFactory loggerFactory;

            _logToken = testLog.StartTestLog(null, loggerName, out loggerFactory, testName: loggerName);
            _logger   = loggerFactory.CreateLogger <StoreSetupFixture>();

            _store = new Store(loggerFactory);

            StoreDirectory = _store.CreateStore();

            _logger.LogInformation($"Store was setup at {StoreDirectory}");
        }
        public IISTestSiteFixture()
        {
            var logging = AssemblyTestLog.ForAssembly(typeof(IISTestSiteFixture).Assembly);

            var deploymentParameters = new DeploymentParameters(Helpers.GetInProcessTestSitesPath(),
                                                                ServerType.IISExpress,
                                                                RuntimeFlavor.CoreClr,
                                                                RuntimeArchitecture.x64)
            {
                TargetFramework = Tfm.NetCoreApp22,
                AncmVersion     = AncmVersion.AspNetCoreModuleV2,
                HostingModel    = HostingModel.InProcess,
                PublishApplicationBeforeDeployment = true,
            };

            _deployer        = ApplicationDeployerFactory.Create(deploymentParameters, logging.CreateLoggerFactory(null, nameof(IISTestSiteFixture)));
            DeploymentResult = _deployer.DeployAsync().Result;
            Client           = DeploymentResult.HttpClient;
            BaseUri          = DeploymentResult.ApplicationBaseUri;
            ShutdownToken    = DeploymentResult.HostShutdownToken;
        }
Exemple #11
0
        internal IISTestSiteFixture(Action <IISDeploymentParameters> configure)
        {
            var logging = AssemblyTestLog.ForAssembly(typeof(IISTestSiteFixture).Assembly);

            _loggerFactory = logging.CreateLoggerFactory(null, nameof(IISTestSiteFixture));

            _forwardingProvider = new ForwardingProvider();
            _loggerFactory.AddProvider(_forwardingProvider);

            _configure = configure;

            DeploymentParameters = new IISDeploymentParameters()
            {
                RuntimeArchitecture = RuntimeArchitecture.x64,
                RuntimeFlavor       = RuntimeFlavor.CoreClr,
                TargetFramework     = Tfm.Default,
                HostingModel        = HostingModel.InProcess,
                PublishApplicationBeforeDeployment = true,
                ApplicationPublisher = new PublishedApplicationPublisher(Helpers.GetInProcessTestSitesName()),
                ServerType           = DeployerSelector.ServerType
            };
        }
Exemple #12
0
    public virtual void Initialize(TestContext context, MethodInfo methodInfo, object[] testMethodArguments, ITestOutputHelper testOutputHelper)
    {
        try
        {
            TestOutputHelper = testOutputHelper;

            var classType         = GetType();
            var logLevelAttribute = methodInfo.GetCustomAttribute <LogLevelAttribute>()
                                    ?? methodInfo.DeclaringType.GetCustomAttribute <LogLevelAttribute>()
                                    ?? methodInfo.DeclaringType.Assembly.GetCustomAttribute <LogLevelAttribute>();

            // internal for testing
            ResolvedTestClassName = context.FileOutput.TestClassName;

            _testLog = AssemblyTestLog
                       .ForAssembly(classType.GetTypeInfo().Assembly)
                       .StartTestLog(
                TestOutputHelper,
                context.FileOutput.TestClassName,
                out var loggerFactory,
                logLevelAttribute?.LogLevel ?? LogLevel.Debug,
                out var resolvedTestName,
                out var logDirectory,
                context.FileOutput.TestName);

            ResolvedLogOutputDirectory = logDirectory;
            ResolvedTestMethodName     = resolvedTestName;

            LoggerFactory = loggerFactory;
            Logger        = loggerFactory.CreateLogger(classType);
        }
        catch (Exception e)
        {
            _initializationException = ExceptionDispatchInfo.Capture(e);
        }
    }
Exemple #13
0
 public void ForAssembly_ReturnsSameInstanceForSameAssembly()
 {
     Assert.Same(
         AssemblyTestLog.ForAssembly(ThisAssembly),
         AssemblyTestLog.ForAssembly(ThisAssembly));
 }
Exemple #14
0
 public IDisposable StartLog(out ILoggerFactory loggerFactory, LogLevel minLogLevel, [CallerMemberName] string testName = null)
 {
     return(AssemblyTestLog.ForAssembly(GetType().GetTypeInfo().Assembly).StartTestLog(TestOutputHelper, GetType().FullName, out loggerFactory, minLogLevel, testName));
 }