public static void CleanupAllTests()
        {
            var config      = new ConfigurationBuilder().AddJsonFile(@"appsettings.json").Build();
            var settings    = new NetCoreAppSettings(config);
            var serviceName = settings.GetString("SqlServerServiceName");

            SqlServerStorageBase.CleanupAllTests(serviceName);
        }
        public AzureQueueRepositorySpecSetup()
        {
            var config   = new ConfigurationBuilder().AddJsonFile(@"appsettings.json").Build();
            var settings = new NetCoreAppSettings(config);

            Queueository = AzureQueueStorageRepository.FromSettings(NullRecorder.Instance, settings);
            AzureStorageAccountBase.InitializeAllTests();
        }
        public static void InitializeAllTests(TestContext context)
        {
            InitializeAllTests();
            var config   = new ConfigurationBuilder().AddJsonFile(@"appsettings.json").Build();
            var settings = new NetCoreAppSettings(config);

            repository = RedisInMemRepository.FromAppSettings(settings);
            RedisInMemStorageBase.InitializeAllTests(context);
        }
Exemplo n.º 4
0
        public static void InitializeAllTests(TestContext context)
        {
            InitializeAllTests();
            var config   = new ConfigurationBuilder().AddJsonFile(@"appsettings.json").Build();
            var settings = new NetCoreAppSettings(config);

            repository = AzureCosmosSqlApiRepository.FromAppSettings(settings, "TestDatabase");
            AzureCosmosStorageBase.InitializeAllTests(context, null);
        }
        public SqlServerRepositorySpecSetup()
        {
            var config      = new ConfigurationBuilder().AddJsonFile(@"appsettings.json").Build();
            var settings    = new NetCoreAppSettings(config);
            var serviceName = settings.GetString("Storage:SqlServerServiceName");

            Repository = SqlServerRepository.FromSettings(NullRecorder.Instance, settings);
            SqlServerStorageBase.InitializeAllTests(serviceName, "TestDatabase");
        }
        public static void InitializeAllTests(TestContext context)
        {
            InitializeAllTests();
            var config   = new ConfigurationBuilder().AddJsonFile(@"appsettings.json").Build();
            var settings = new NetCoreAppSettings(config);

            repository = AzureTableStorageRepository.FromSettings(settings);
            AzureStorageAccountBase.InitializeAllTests(context);
        }
Exemplo n.º 7
0
        public static void InitializeAllTests(TestContext context)
        {
            InitializeAllTests();
            var config   = new ConfigurationBuilder().AddJsonFile(@"appsettings.json").Build();
            var settings = new NetCoreAppSettings(config);

            repository = AzureCosmosTableApiRepository.FromAppSettings(settings);
            AzureCosmosStorageBase.InitializeAllTests(context, "/EnableTableEndpoint");
        }
Exemplo n.º 8
0
 public static IToolchain From(NetCoreAppSettings netCoreAppSettings)
 => new WasmToolChain(netCoreAppSettings.Name,
                      new WasmGenerator(netCoreAppSettings.TargetFrameworkMoniker,
                                        netCoreAppSettings.CustomDotNetCliPath,
                                        netCoreAppSettings.PackagesPath),
                      new WasmBuilder(netCoreAppSettings.TargetFrameworkMoniker,
                                      netCoreAppSettings.CustomDotNetCliPath,
                                      netCoreAppSettings.Timeout),
                      new Executor(),
                      netCoreAppSettings.CustomDotNetCliPath);
Exemplo n.º 9
0
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            var appSettings = new NetCoreAppSettings(Configuration);

            app.UseServiceStack(new ServiceHost
            {
                BeforeConfigure =
                {
                    host =>
                    {
                        var container = host.GetContainer();
                        container.AddSingleton <IAppSettings>(appSettings);
                        host.AppSettings = appSettings;
                    }
                },
                AfterConfigure =
                {
                    host =>
                    {
                        // Override services for testing
                        var container = host.GetContainer();

                        var repository = new InProcessInMemRepository();

                        container.AddSingleton <IQueryStorage <Person> >(new GeneralQueryStorage <Person>(
                                                                             container.Resolve <IRecorder>(),
                                                                             container.Resolve <IDomainFactory>(), repository));
                        container.AddSingleton <IEventStreamStorage <PersonEntity> >(
                            new GeneralEventStreamStorage <PersonEntity>(
                                container.Resolve <IRecorder>(),
                                container.Resolve <IDomainFactory>(),
                                container.Resolve <IChangeEventMigrator>(), repository));
                        container.AddSingleton <IPersonStorage>(c =>
                                                                new PersonStorage(c.Resolve <IEventStreamStorage <PersonEntity> >(),
                                                                                  c.Resolve <IQueryStorage <Person> >()));

                        container.AddSingleton <IReadModelProjectionSubscription>(c =>
                                                                                  new InProcessReadModelProjectionSubscription(
                                                                                      c.Resolve <IRecorder>(), c.Resolve <IIdentifierFactory>(),
                                                                                      c.Resolve <IChangeEventMigrator>(),
                                                                                      c.Resolve <IDomainFactory>(), repository,
                                                                                      new[]
                        {
                            new PersonEntityReadModelProjection(c.Resolve <IRecorder>(), repository)
                        },
                                                                                      c.Resolve <IEventStreamStorage <PersonEntity> >()));
                    }
                }
            });
        }
Exemplo n.º 10
0
 public static IToolchain From(NetCoreAppSettings netCoreAppSettings)
 => new MonoAotLLVMToolChain(netCoreAppSettings.Name,
                             new MonoAotLLVMGenerator(netCoreAppSettings.TargetFrameworkMoniker,
                                                      netCoreAppSettings.CustomDotNetCliPath,
                                                      netCoreAppSettings.PackagesPath,
                                                      netCoreAppSettings.CustomRuntimePack,
                                                      netCoreAppSettings.AOTCompilerPath,
                                                      netCoreAppSettings.AOTCompilerMode),
                             new DotNetCliBuilder(netCoreAppSettings.TargetFrameworkMoniker,
                                                  netCoreAppSettings.CustomDotNetCliPath),
                             new Executor());
Exemplo n.º 11
0
 public static IToolchain From(NetCoreAppSettings settings)
 => new ProjectJsonCoreToolchain(
     "Core",
     new ProjectJsonGenerator(
         settings.TargetFrameworkMoniker,
         GetExtraDependencies(settings),
         PlatformProvider,
         settings.Imports,
         GetRuntime()),
     new ProjectJsonBuilder(settings.TargetFrameworkMoniker),
     new Executor());
        public static void InitializeAllTests(TestContext context)
        {
            InitializeAllTests();
            var          config       = new ConfigurationBuilder().AddJsonFile(@"appsettings.json").Build();
            var          settings     = new NetCoreAppSettings(config);
            var          serviceName  = settings.GetString("SqlServerServiceName");
            const string databaseName = "TestDatabase";

            repository = SqlServerRepository.FromSettings(settings, databaseName);
            SqlServerStorageBase.InitializeAllTests(context, serviceName, databaseName);
        }
Exemplo n.º 13
0
 public static IToolchain From(NetCoreAppSettings netCoreAppSettings)
 => new WasmToolChain(netCoreAppSettings.Name,
                      new WasmGenerator(netCoreAppSettings.TargetFrameworkMoniker,
                                        netCoreAppSettings.CustomDotNetCliPath,
                                        netCoreAppSettings.PackagesPath,
                                        netCoreAppSettings.CustomRuntimePack,
                                        netCoreAppSettings.AOTCompilerMode == MonoAotLLVM.MonoAotCompilerMode.wasm),
                      new WasmBuilder(netCoreAppSettings.TargetFrameworkMoniker,
                                      netCoreAppSettings.CustomDotNetCliPath,
                                      netCoreAppSettings.Timeout),
                      new Executor(),
                      netCoreAppSettings.CustomDotNetCliPath);
Exemplo n.º 14
0
 public static IToolchain From(NetCoreAppSettings netCoreAppSettings)
 => new WasmToolChain(netCoreAppSettings.Name,
                      new WasmGenerator(netCoreAppSettings.TargetFrameworkMoniker,
                                        netCoreAppSettings.CustomDotNetCliPath,
                                        netCoreAppSettings.PackagesPath,
                                        netCoreAppSettings.CustomRuntimePack,
                                        netCoreAppSettings.AOTCompilerMode == MonoAotLLVM.MonoAotCompilerMode.wasm),
                      new DotNetCliBuilder(netCoreAppSettings.TargetFrameworkMoniker,
                                           netCoreAppSettings.CustomDotNetCliPath,
                                           // aot builds can be very slow
                                           logOutput: netCoreAppSettings.AOTCompilerMode == MonoAotLLVM.MonoAotCompilerMode.wasm,
                                           retryFailedBuildWithNoDeps: false),
                      new Executor(),
                      netCoreAppSettings.CustomDotNetCliPath);
Exemplo n.º 15
0
        public static void Run()
        {
            // the Wasm Toolchain requires two mandatory arguments:
            const string cliPath = @"/home/adam/projects/runtime/dotnet.sh";

            WasmRuntime        runtime            = new WasmRuntime(msBuildMoniker: "net5.0");
            NetCoreAppSettings netCoreAppSettings = new NetCoreAppSettings(
                targetFrameworkMoniker: "net5.0", runtimeFrameworkVersion: null, name: "Wasm",
                customDotNetCliPath: cliPath);
            IToolchain toolChain = WasmToolChain.From(netCoreAppSettings);

            BenchmarkRunner.Run <IntroCustomMonoFluentConfig>(DefaultConfig.Instance
                                                              .AddJob(Job.ShortRun.WithRuntime(runtime).WithToolchain(toolChain)));
        }
Exemplo n.º 16
0
        public override void Configure(Container container)
        {
            var configurationBuilder = new ConfigurationBuilder()
                                       .SetBasePath(AppContext.BaseDirectory)
                                       .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

            AppSettings = new NetCoreAppSettings(configurationBuilder.Build());

            var redisFactory = new PooledRedisClientManager(
                AppSettings.GetString(AppSettingsKeys.RedisConnection));
            var mqServer = new RedisMqServer(redisFactory, retryCount: AppSettings.Get <int>(AppSettingsKeys.RedisRetries));

            var cacheClient          = redisFactory.GetCacheClient();
            var jobGroupId           = AppSettings.GetString(AppSettingsKeys.JobGroupId);
            var jobCompletedCacheKey = CacheKeys.JobCompleted <JobResponse>(jobGroupId);
            var numberOfJobs         = AppSettings.Get <int>(AppSettingsKeys.NumberOfJobs);

            cacheClient.Remove(jobCompletedCacheKey);

            mqServer.RegisterHandler <JobResponse>(m => {
                Console.WriteLine("Received: " + m.GetBody().Result);

                cacheClient.Increment(jobCompletedCacheKey, 1);
                if (cacheClient.Get <int>(jobCompletedCacheKey) >= numberOfJobs)
                {
                    appLifetime.StopApplication();
                }

                return(null);
            });

            AfterInitCallbacks.Add(host => {
                mqServer.Start();

                var mqClient = mqServer.CreateMessageQueueClient();
                for (var i = 1; i <= numberOfJobs; i++)
                {
                    mqClient.Publish(new JobRequest
                    {
                        JobId       = Guid.NewGuid().ToString(),
                        GroupId     = jobGroupId,
                        Description = $"Job {i}"
                    });
                }
            });
        }
Exemplo n.º 17
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            "Startup.Configure(IApplicationBuilder app, IHostingEnvironment env)".Print();      // #8
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            var AppSettings = new NetCoreAppSettings(Configuration);

            AppSettings.GetNullableString("servicestack:license");

            app.UseServiceStack(new AppHost
            {
                AppSettings = AppSettings
            });
        }
Exemplo n.º 18
0
        public override void Configure(Container container)
        {
            var configurationBuilder = new ConfigurationBuilder()
                                       .SetBasePath(AppContext.BaseDirectory)
                                       .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

            AppSettings = new NetCoreAppSettings(configurationBuilder.Build());

            var redisFactory = new PooledRedisClientManager(
                AppSettings.GetString(AppSettingsKeys.RedisConnection));
            var mqServer = new RedisMqServer(redisFactory, retryCount: AppSettings.Get <int>(AppSettingsKeys.RedisRetries));

            mqServer.RegisterHandler <JobRequest>(base.ExecuteMessage);

            AfterInitCallbacks.Add(host => {
                mqServer.Start();
            });
        }
Exemplo n.º 19
0
    public MultipleJitConfig()
    {
        var netCoreApp30 = new NetCoreAppSettings("netcoreapp3.0", null, ".NET Core 3.0");

        var cli30_32 = netCoreApp30.WithCustomDotNetCliPath(Paths.DotNetCLIx86, "Default");
        var cli30_64 = netCoreApp30.WithCustomDotNetCliPath(Paths.DotNetCLIx64, "Default");
        var cli21_32 = NetCoreAppSettings.NetCoreApp21.WithCustomDotNetCliPath(Paths.DotNetCLIx86, "Default");
        var cli21_64 = NetCoreAppSettings.NetCoreApp21.WithCustomDotNetCliPath(Paths.DotNetCLIx64, "Default");
        var cli20_32 = NetCoreAppSettings.NetCoreApp20.WithCustomDotNetCliPath(Paths.DotNetCLIx86, "Default");
        var cli20_64 = NetCoreAppSettings.NetCoreApp20.WithCustomDotNetCliPath(Paths.DotNetCLIx64, "Default");
        var cli11_32 = NetCoreAppSettings.NetCoreApp11.WithCustomDotNetCliPath(Paths.DotNetCLIx86, "Default");
        var cli11_64 = NetCoreAppSettings.NetCoreApp11.WithCustomDotNetCliPath(Paths.DotNetCLIx64, "Default");

        Add(Job.RyuJitX64.With(CsProjCoreToolchain.From(cli30_64)).WithId("netcoreapp3.0"));
        Add(Job.RyuJitX86.With(CsProjCoreToolchain.From(cli30_32)).WithId("netcoreapp3.0"));
        Add(Job.RyuJitX64.With(CsProjCoreToolchain.From(cli21_64)).WithId("netcoreapp2.1"));
        Add(Job.RyuJitX86.With(CsProjCoreToolchain.From(cli21_32)).WithId("netcoreapp2.1"));
        //Add(Job.RyuJitX64.With(CsProjCoreToolchain.From(cli20_64)).WithId("netcoreapp2.0"));
        //Add(Job.RyuJitX86.With(CsProjCoreToolchain.From(cli20_32)).WithId("netcoreapp2.0"));
        //Add(Job.RyuJitX64.With(CsProjCoreToolchain.From(cli11_64)).AsBaseline().WithId("netcoreapp1.1"));
        //Add(Job.RyuJitX86.With(CsProjCoreToolchain.From(cli11_32)).AsBaseline().WithId("netcoreapp1.1"));

#if NETFRAMEWORK // Legacy JIT can only be used from a CLR host
        Add(Job.LegacyJitX64.With(Runtime.Clr).WithId("net46"));
        Add(Job.LegacyJitX86.With(Runtime.Clr).WithId("net46"));
        Add(Job.RyuJitX64.With(Runtime.Clr).WithId("net46"));
#else
//		Add(Job.RyuJitX64.With(Runtime.Clr).WithId("net46"));
//		Add(Job.RyuJitX86.With(Runtime.Clr).WithId("net46")); //.NET Framework doesn't yet include RyuJIT-32, so this runs LegacyJIT
#endif

        Add(DefaultConfig.Instance.GetLoggers().ToArray());
        Add(DefaultConfig.Instance.GetColumnProviders().ToArray());
        Add(DefaultConfig.Instance.GetExporters().ToArray());
        Add(MemoryDiagnoser.Default);
        Set(ByMethodByPlatformOrderProvider.Instance);
    }
Exemplo n.º 20
0
 private static string GetExtraDependencies(NetCoreAppSettings settings)
 {
     // do not set the type to platform in order to produce exe
     // https://github.com/dotnet/core/issues/77#issuecomment-219692312
     return($"\"dependencies\": {{ \"Microsoft.NETCore.App\": {{ \"version\": \"{settings.MicrosoftNETCoreAppVersion}\" }} }},");
 }
Exemplo n.º 21
0
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            var appSettings = new NetCoreAppSettings(Configuration);

            app.UseServiceStack(new ServiceHost
            {
                BeforeConfigure =
                {
                    host =>
                    {
                        var container = host.GetContainer();
                        container.AddSingleton <IAppSettings>(appSettings);
                    }
                },
                AfterConfigure =
                {
                    host =>
                    {
                        // Override services for testing
                        var container = host.GetContainer();
                        container.AddSingleton <IPersonsService, StubPersonsService>();
                        container.AddSingleton <IClinicsService, StubClinicsService>();

                        var repository = new InProcessInMemRepository();

                        container.AddSingleton <IQueryStorage <Doctor> >(new GeneralQueryStorage <Doctor>(
                                                                             container.Resolve <ILogger>(),
                                                                             container.Resolve <IDomainFactory>(), repository));
                        container.AddSingleton <IEventStreamStorage <ClinicEntity> >(
                            new GeneralEventStreamStorage <ClinicEntity>(
                                container.Resolve <ILogger>(),
                                container.Resolve <IDomainFactory>(),
                                container.Resolve <IChangeEventMigrator>(), repository));
                        container.AddSingleton <IQueryStorage <Unavailability> >(new GeneralQueryStorage <Unavailability>(
                                                                                     container.Resolve <ILogger>(),
                                                                                     container.Resolve <IDomainFactory>(), repository));
                        container.AddSingleton <IClinicStorage>(c =>
                                                                new ClinicStorage(c.Resolve <IEventStreamStorage <ClinicEntity> >(),
                                                                                  c.Resolve <IQueryStorage <Doctor> >(), c.Resolve <IQueryStorage <Unavailability> >()));

                        container.AddSingleton <IEventStreamStorage <AppointmentEntity> >(
                            new GeneralEventStreamStorage <AppointmentEntity>(
                                container.Resolve <ILogger>(),
                                container.Resolve <IDomainFactory>(),
                                container.Resolve <IChangeEventMigrator>(), repository));
                        container.AddSingleton <IAppointmentStorage>(c =>
                                                                     new AppointmentStorage(c.Resolve <IEventStreamStorage <AppointmentEntity> >()));

                        container.AddSingleton <IEventStreamStorage <PaymentEntity> >(
                            new GeneralEventStreamStorage <PaymentEntity>(
                                container.Resolve <ILogger>(),
                                container.Resolve <IDomainFactory>(),
                                container.Resolve <IChangeEventMigrator>(), repository));
                        container.AddSingleton <IPaymentStorage>(c =>
                                                                 new PaymentStorage(c.Resolve <IEventStreamStorage <PaymentEntity> >()));

                        container.AddSingleton <IReadModelProjectionSubscription>(c =>
                                                                                  new InProcessReadModelProjectionSubscription(
                                                                                      c.Resolve <ILogger>(), c.Resolve <IIdentifierFactory>(),
                                                                                      c.Resolve <IChangeEventMigrator>(),
                                                                                      c.Resolve <IDomainFactory>(), repository,
                                                                                      new IReadModelProjection[]
                        {
                            new ClinicEntityReadModelProjection(c.Resolve <ILogger>(), repository),
                            new PaymentEntityReadModelProjection(c.Resolve <ILogger>(), repository)
                        },
                                                                                      c.Resolve <IEventStreamStorage <ClinicEntity> >(),
                                                                                      c.Resolve <IEventStreamStorage <PaymentEntity> >()
                                                                                      ));

                        container.AddSingleton <IChangeEventNotificationSubscription>(c =>
                                                                                      new InProcessChangeEventNotificationSubscription(
                                                                                          c.Resolve <ILogger>(), c.Resolve <IChangeEventMigrator>(),
                                                                                          new[]
                        {
                            new DomainEventPublisherSubscriberPair(new PersonDomainEventPublisher(),
                                                                   new ClinicManagerEventSubscriber(c.Resolve <IClinicsApplication>())),
                            new DomainEventPublisherSubscriberPair(new AppointmentDomainEventPublisher(),
                                                                   new PaymentManagerEventSubscriber(c.Resolve <IPaymentsApplication>()))
                        },
                                                                                          c.Resolve <IEventStreamStorage <ClinicEntity> >(),
                                                                                          c.Resolve <IEventStreamStorage <AppointmentEntity> >()));
                    }
                }
            });
        }
Exemplo n.º 22
0
 private static IToolchain From(NetCoreAppSettings settings)
 => new CsProjToolchain("CsProjCore",
                        new CsProjGenerator(settings.TargetFrameworkMoniker, PlatformProvider),
                        new DotNetCliBuilder(settings.TargetFrameworkMoniker),
                        new DotNetRunExecutor());
 public static IToolchain From(NetCoreAppSettings settings)
 => new MsBuildSdkExtrasToolchain(settings.Name,
                                  new MsBuildSdkExtrasGenerator(settings.TargetFrameworkMoniker, settings.CustomDotNetCliPath, settings.PackagesPath, settings.RuntimeFrameworkVersion),
                                  new DotNetCliBuilder(settings.TargetFrameworkMoniker, settings.CustomDotNetCliPath, settings.Timeout),
                                  new DotNetCliExecutor(settings.CustomDotNetCliPath),
                                  settings.CustomDotNetCliPath);
Exemplo n.º 24
0
 public static IToolchain From(NetCoreAppSettings settings)
 => new CsProjCoreToolchain(settings.Name,
                            new CsProjGenerator(settings.TargetFrameworkMoniker, PlatformProvider, settings.RuntimeFrameworkVersion),
                            new DotNetCliBuilder(settings.TargetFrameworkMoniker, settings.CustomDotNetCliPath),
                            new DotNetCliExecutor(settings.CustomDotNetCliPath),
                            settings.CustomDotNetCliPath);
Exemplo n.º 25
0
 public static IToolchain From(NetCoreAppSettings settings)
 => new CsProjCoreToolchain(settings.Name,
                            new CsProjGenerator(settings.TargetFrameworkMoniker, PlatformProvider),
                            new CsProjBuilder(settings.TargetFrameworkMoniker),
                            new DotNetCliExecutor());
Exemplo n.º 26
0
 public CsProjGeneratorWithNativeExe(NetCoreAppSettings settings)
     : base(settings.TargetFrameworkMoniker, settings.CustomDotNetCliPath, settings.PackagesPath, settings.RuntimeFrameworkVersion)
 {
 }