Esempio n. 1
0
        public static async Task Main(string[] args)
        {
            string modeEnv = Environment.GetEnvironmentVariable("PTDDCLONEALL_MODE");
            string mode    = CloneAllService.GetMode(modeEnv);

            Log($"PTDDCloneAll starting. Migration mode: {mode}");
            string sfAppDir = Environment.GetEnvironmentVariable("SF_APP_DIR") ?? "../../SIL.XForge.Scripture";

            Directory.SetCurrentDirectory(sfAppDir);
            IWebHostBuilder builder = CreateWebHostBuilder(args);
            IWebHost        webHost = builder.Build();

            try
            {
                await webHost.StartAsync();
            }
            catch (HttpRequestException)
            {
                Log("There was an error starting the program before getting to the migration"
                    + " part. Maybe the SF server is running and needs shut down? Rethrowing.");
                throw;
            }
            await SelectProjectsAndClone(webHost, mode);

            await webHost.StopAsync();

            Log("Clone all projects - Completed");
        }
Esempio n. 2
0
        public TestEnvironment()
        {
            RealtimeService = new SFMemoryRealtimeService();
            ParatextService = Substitute.For <IParatextService>();
            PTDDSyncRunner  = Substitute.For <IPTDDSyncRunner>();
            SiteOptions     = Substitute.For <IOptions <SiteOptions> >();
            SiteOptions.Value.Returns(new SiteOptions
            {
                SiteDir = "scriptureforge"
            });
            FileSystemService = Substitute.For <IFileSystemService>();
            Func <IPTDDSyncRunner> syncRunnerFactory = () => PTDDSyncRunner;

            var userSecrets = new MemoryRepository <UserSecret>(new[]
            {
                new UserSecret {
                    Id = "user01", ParatextTokens = new Tokens
                    {
                        AccessToken  = "test_access_token1",
                        RefreshToken = "test_refresh_token1"
                    }
                },
                new UserSecret {
                    Id = "user03", ParatextTokens = new Tokens
                    {
                        AccessToken  = "test_access_token2",
                        RefreshToken = "test_refresh_token2"
                    }
                }
            });

            SetupSFData(true, true);

            Service = new CloneAllService(syncRunnerFactory, RealtimeService, SiteOptions, ParatextService, userSecrets,
                                          FileSystemService);
        }