public void CalculateOutputFormYearJob_Success() { var date = new DateTime(2019, 2, 1); var dbContext = TypiconDbContextFactory.Create(); var jobRepo = new JobRepository(); var yearHandler = CalculateModifiedYearJobHandlerTest.Build(dbContext, jobRepo); var yearJob = new CalculateModifiedYearJob(1, 2019); jobRepo.Create(yearJob); Task task = yearHandler.ExecuteAsync(yearJob); task.Wait(); var weekHandler = Build(dbContext, jobRepo); var weekJob = new CalculateOutputFormWeekJob(1, 1, date); jobRepo.Create(weekJob); task = weekHandler.ExecuteAsync(weekJob); task.Wait(); var queryProcessor = QueryProcessorFactory.Create(); var week = queryProcessor.Process(new OutputWeekQuery(1, date, new OutputFilter() { Language = "cs-ru" })); Assert.AreEqual(true, week.Success); }
public void CalculateOutputFormYearJob_Failed() { var date = new DateTime(2019, 9, 1); var dbContext = TypiconDbContextFactory.Create(); var jobRepo = new JobRepository(); var handler = Build(dbContext, jobRepo); var job = new CalculateOutputFormWeekJob(1, 1, date); jobRepo.Create(job); var task = handler.ExecuteAsync(job); task.Wait(); var queryProcessor = QueryProcessorFactory.Create(); var week = queryProcessor.Process(new OutputWeekQuery(1, date, new OutputFilter() { Language = "cs-ru" })); Assert.AreEqual(false, week.Success); }
public void HostingService_MySql() { var date = new DateTime(2019, 2, 1); var optionsBuilder = new DbContextOptionsBuilder <TypiconDBContext>(); optionsBuilder.UseMySql("server=localhost;UserId=root;Password=z2LDCiiEQFDBlkl3eZyb;database=typicondb;", //optionsBuilder.UseMySql("server=31.31.196.160;UserId=u0351_mysqluser;Password=gl7fdQ45GZyqydXrr2BZ;database=u0351320_typicondb;", mySqlOptions => { mySqlOptions.ServerVersion(new Version(8, 0, 15), ServerType.MySql); }); optionsBuilder.EnableSensitiveDataLogging(); var dbContext = new TypiconDBContext(optionsBuilder.Options); var jobRepo = new JobRepository(); //var yearHandler = CalculateModifiedYearJobHandlerTest.Build(dbContext, jobRepo); var yearJob = new CalculateModifiedYearJob(1, 2019); jobRepo.Create(yearJob); //Task task = yearHandler.ExecuteAsync(yearJob); //task.Wait(); //var weekHandler = CalculateOutputFormWeekJobTest.Build(dbContext, jobRepo); var weekJob = new CalculateOutputFormWeekJob(1, 1, date); jobRepo.Create(weekJob); //task = weekHandler.ExecuteAsync(weekJob); //task.Wait(); var service = new JobAsyncHostedService(jobRepo, CommandProcessorFactory.CreateJobProcessor(dbContext, jobRepo)); var token = new CancellationTokenSource(); Task.Factory.StartNew(() => service.StartAsync(token.Token)); while (jobRepo.Create(weekJob).Failure) { Thread.Sleep(50); } token.Cancel(); var queryProcessor = QueryProcessorFactory.Create(); var week = queryProcessor.Process(new OutputWeekQuery(1, date, new OutputFilter() { Language = "cs-ru" })); Assert.AreEqual(true, week.Success); }
public void Docx_Serialize() { var date = new DateTime(2019, 2, 1); var queryProcessor = QueryProcessorFactory.Create(); var week = queryProcessor.Process(new OutputWeekQuery(1, date, new OutputFilter() { Language = "cs-ru" })); var ser = new TypiconSerializer(); var xml = ser.Serialize(week.Value); Assert.IsNotNull(xml); }
public void HtmlScheduleDayViewer_Test() { var queryProcessor = QueryProcessorFactory.Create(); var scheduleDay = queryProcessor.Process(new OutputDayQuery(1, new DateTime(2017, 11, 13), new OutputFilter() { Language = "cs-ru" })); string path = Path.Combine(TestContext.CurrentContext.TestDirectory, @"TestData/scheduledayviewer.xslt"); var confCacheDuration = Mock.Of <IConfigurationRepository>(c => c.GetConfigurationValue("ScheduleDayViewer_XsltFile") == path); var viewer = new HtmlScheduleDayViewer(new TypiconSerializer(), confCacheDuration); Assert.IsNotNull(viewer.Execute(scheduleDay.Value)); }
public void TypiconImportProjectorTest_Import() { var manager = new TypiconImportProjector( new CollectorSerializerRoot( QueryProcessorFactory.Create() , new TypiconSerializer())); var xml = TestDataXmlReader.GetXmlString("TypiconVersion.xml"); var projection = new TypiconSerializer().Deserialize <TypiconVersionProjection>(xml); var entity = manager.Project(projection); var vars = entity.Value.Versions.First().TypiconVariables; Assert.AreEqual(3, vars.Count); Assert.Pass(string.Join('\n', vars.Select(c => c.Name))); }
public async Task HostingService_OutputForm() { var date = new DateTime(2019, 2, 1); var dbContext = TypiconDbContextFactory.Create(); var jobRepo = new JobRepository(); var yearHandler = CalculateModifiedYearJobHandlerTest.Build(dbContext, jobRepo); var yearJob = new CalculateModifiedYearJob(1, 2019); jobRepo.Create(yearJob); Task task = yearHandler.ExecuteAsync(yearJob); task.Wait(); var weekHandler = CalculateOutputFormWeekJobTest.Build(dbContext, jobRepo); var weekJob = new CalculateOutputFormWeekJob(1, 1, date); jobRepo.Create(weekJob); task = weekHandler.ExecuteAsync(weekJob); task.Wait(); var service = new JobAsyncHostedService(jobRepo, CommandProcessorFactory.Create(dbContext)); await service.StartAsync(CancellationToken.None); while (jobRepo.GetAll().Count() > 0) { Thread.Sleep(50); } var queryProcessor = QueryProcessorFactory.Create(); var week = queryProcessor.Process(new OutputWeekQuery(1, date, new OutputFilter() { Language = "cs-ru" })); Assert.AreEqual(true, week.Success); }
public void TypiconImportProjectorTest_Import_To_Db() { var manager = new TypiconImportProjector( new CollectorSerializerRoot( QueryProcessorFactory.Create() , new TypiconSerializer())); var xml = TestDataXmlReader.GetXmlString("TypiconVersion.xml"); var projection = new TypiconSerializer().Deserialize <TypiconVersionProjection>(xml); var entity = manager.Project(projection); var dbContext = TypiconDbContextFactory.Create(); dbContext.Set <TypiconEntity>().Add(entity.Value); int i = dbContext.SaveChanges(); Assert.Greater(i, 0); Assert.Pass(i.ToString()); }