public void when_generating_database_from_test_document_generator_then_succeeds() { var configuration = new AnmatConfiguration { DocumentsPath = "GeneratedDb", TargetDatabaseName = this.GetDatabaseName("TestDb"), ReplaceExistingTargetDatabase = true }; var updateVersion = new UpdateVersion { Number = version, Date = DateTime.UtcNow }; var job = new DataGenerationJob { Version = updateVersion.Number, Status = DataGenerationJobStatus.InProgress }; var jobService = new Mock <IDataGenerationJobService> (); jobService .Setup(s => s.GetLatestJob()) .Returns(job); var versionService = new Mock <IVersionService> (); versionService .Setup(r => r.IncrementVersion()) .Returns(updateVersion); var sqlGenerator = new SQLiteGenerator(jobService.Object, versionService.Object, configuration); var documentName = "FooDocument"; var document = this.GetDocument(); var documentGenerator = new Mock <IDocumentGenerator> (); documentGenerator .Setup(g => g.Name) .Returns(documentName); documentGenerator .Setup(g => g.Metadata) .Returns(TestMetadataGenerator.GetTestMetadata(documentName)); documentGenerator .Setup(g => g.Generate()) .Returns(document); var databaseFileName = sqlGenerator.GenerateDatabase(documentGenerator.Object); Assert.True(File.Exists(databaseFileName)); Assert.False(string.IsNullOrEmpty(sqlGenerator.Script)); var connectionString = string.Format("Data Source={0};Version=3;", databaseFileName); var connection = new SQLiteConnection(connectionString); connection.Open(); var command = new SQLiteCommand(@"SELECT COUNT(*) FROM " + documentName, connection); var read = (long)command.ExecuteScalar(); Assert.Equal(document.Rows.Count(), int.Parse(read.ToString())); connection.Close(); }
public void UpdateJob(DataGenerationJob job) { var existingJob = this.repository.Get(j => j.Id == job.Id); existingJob.Status = job.Status; existingJob.DateFinished = job.DateFinished; existingJob.Message = job.Message; this.repository.Update(existingJob); }
public void FinishJob(DataGenerationJob job) { var existingJob = this.repository.Get(j => j.Id == job.Id); existingJob.Status = DataGenerationJobStatus.Completed; existingJob.DateFinished = DateTime.Now.ToString(); existingJob.Message = string.Format(Resources.DataGenerationJobService_JobCompleted, job.Id, job.Version); this.repository.Update(existingJob); }
public DataGenerationJob CreateJob(int version) { var job = new DataGenerationJob { Status = DataGenerationJobStatus.InProgress, DateStarted = DateTime.Now.ToString(), Version = version }; this.repository.Create(job); return(job); }
public void when_database_already_exists_and_configuration_does_not_allow_override_then_fails() { var configuration = new AnmatConfiguration { DocumentsPath = "GeneratedDb", TargetDatabaseName = this.GetDatabaseName("TestDb"), ReplaceExistingTargetDatabase = false }; var updateVersion = new UpdateVersion { Number = 2, Date = DateTime.UtcNow }; var job = new DataGenerationJob { Version = updateVersion.Number, Status = DataGenerationJobStatus.InProgress }; var jobService = new Mock <IDataGenerationJobService> (); jobService .Setup(s => s.GetLatestJob()) .Returns(job); var versionService = new Mock <IVersionService> (); versionService .Setup(r => r.IncrementVersion()) .Returns(updateVersion); var sqlGenerator = new SQLiteGenerator(jobService.Object, versionService.Object, configuration); var documentGenerator = new Mock <IDocumentGenerator> (); var databaseFileName = this.GetDatabaseFileName(configuration, sqlGenerator); using (File.Create(databaseFileName)) {}; Assert.Throws <SQLGenerationException>( () => sqlGenerator.GenerateDatabase(documentGenerator.Object)); }