public TestEnvironment()
            {
                UserSecrets = new MemoryRepository <UserSecret>(new[]
                {
                    new UserSecret {
                        Id = "user01"
                    },
                    new UserSecret {
                        Id = "user03"
                    }
                });

                RealtimeService = new SFMemoryRealtimeService();

                ParatextService = Substitute.For <IParatextService>();
                ParatextService.GetParatextUsername(Arg.Is <UserSecret>(u => u.Id == "user01")).Returns("PT User 1");
                ParatextService.GetParatextUsername(Arg.Is <UserSecret>(u => u.Id == "user03")).Returns("PT User 3");
                var options = Microsoft.Extensions.Options.Options.Create(new LocalizationOptions
                {
                    ResourcesPath = "Resources"
                });
                var factory = new ResourceManagerStringLocalizerFactory(options, NullLoggerFactory.Instance);

                Localizer = new StringLocalizer <SharedResource>(factory);
                var siteOptions = Substitute.For <IOptions <SiteOptions> >();

                siteOptions.Value.Returns(new SiteOptions
                {
                    Name = "xForge",
                });
                Mapper = new ParatextNotesMapper(UserSecrets, ParatextService, Localizer, siteOptions);
            }
            public void SetParatextProjectRoles(bool twoPtUserOnProject)
            {
                Dictionary <string, string> ptUserRoles = new Dictionary <string, string>();

                ptUserRoles["ptuser01"] = "pt_administrator";
                if (twoPtUserOnProject)
                {
                    ptUserRoles["ptuser03"] = "pt_translator";
                }
                ParatextService.GetProjectRolesAsync(Arg.Any <UserSecret>(), Arg.Any <string>()).Returns(ptUserRoles);
            }
Ejemplo n.º 3
0
            public TestEnvironment()
            {
                Document = Substitute.For <IDocument <Delta> >();
                Document.CreateAsync(null as Delta).ReturnsForAnyArgs(true);
                Document.FetchAsync().ReturnsForAnyArgs(true);
                Document.Data.Returns(Delta.New()
                                      .InsertChapter("1")
                                      .InsertVerse("1")
                                      .InsertText("This is verse 1.", "verse_1_1")
                                      .InsertVerse("2")
                                      .InsertBlank("verse_1_2")
                                      .InsertVerse("3")
                                      .InsertText("This is verse 3.", "verse_1_3")
                                      .Insert("\n"));
                Document.SubmitOpAsync(null as Delta).ReturnsForAnyArgs(true);
                Document.DeleteAsync().ReturnsForAnyArgs(true);

                EmptyDocument = Substitute.For <IDocument <Delta> >();
                EmptyDocument.CreateAsync(null as Delta).ReturnsForAnyArgs(true);

                Connection = Substitute.For <IConnection>();

                IOptions <SiteOptions> siteOptions = Microsoft.Extensions.Options.Options.Create(
                    new SiteOptions()
                {
                    SiteDir = "/tmp/ResourceServiceTests/site"
                });
                var users = new MemoryRepository <UserEntity>();

                Jobs = new MemoryRepository <SyncJobEntity>(new[]
                {
                    new SyncJobEntity {
                        Id = "1234"
                    }
                });
                Projects = new MemoryRepository <SFProjectEntity>(new[]
                {
                    new SFProjectEntity
                    {
                        Id          = "project01",
                        ProjectName = "project01",
                        Users       =
                        {
                            new SFProjectUserEntity
                            {
                                Id      = "projectuser01",
                                UserRef = "user01",
                                Role    = SFProjectRoles.Administrator
                            }
                        },
                        ParatextId = "abc123"
                    }
                });
                Texts = new MemoryRepository <TextEntity>(new[]
                {
                    new TextEntity
                    {
                        BookId     = "abc",
                        Id         = "text03",
                        ProjectRef = "project02",
                        Chapters   =
                        {
                            new Chapter {
                                Number = 1, LastVerse = 3
                            },
                            new Chapter {
                                Number = 2, LastVerse = 3
                            }
                        }
                    }
                });
                var engineService = Substitute.For <IEngineService>();

                ParatextService = Substitute.For <IParatextService>();
                ParatextService.GetBookTextAsync(null, null, null).ReturnsForAnyArgs(usxText);
                ParatextService.UpdateBookTextAsync(null, null, null, null, null).ReturnsForAnyArgs(usxText);
                var realtimeService = Substitute.For <IRealtimeService>();

                FileSystemService = Substitute.For <IFileSystemService>();
                var logger = Substitute.For <ILogger <ParatextSyncRunner> >();

                Runner = new ParatextSyncRunner(siteOptions, users, Jobs, Projects, Texts, engineService,
                                                ParatextService, realtimeService, FileSystemService, logger);
                Runner._job = Jobs.Get("1234");
            }