Beispiel #1
0
        public void SaveImportedRecord()
        {
            var userId = m_mockDataManager.GetOrCreateUser();
            var externalRepositoryId = m_mockDataManager.CreateExternalRepository("", new List <FilteringExpressionContract>());
            var historyId            = m_mockDataManager.CreateImportHistory();
            var info = new RepositoryImportProgressInfo(externalRepositoryId, "Test");

            m_importedProjectManager.SaveImportedProject(m_importedRecord, userId, externalRepositoryId, m_mockDataManager.GetOrCreateBookType(),
                                                         new List <int>(), historyId, info);

            Assert.AreEqual(false, info.IsCompleted);
            Assert.AreEqual(0, info.FailedProjectsCount);
            Assert.AreEqual(1, info.ProcessedProjectsCount);
            Assert.AreEqual(null, info.FaultedMessage);

            Assert.AreNotEqual(null, m_importedRecord.ProjectId);

            var project = m_metadataRepository.GetAdditionalProjectMetadata(m_importedRecord.ProjectId, true, true, false, true, true, true,
                                                                            false);

            var snapshot = m_projectRepository.GetLatestSnapshot(m_importedRecord.ProjectId);
            var importedRecordMetadata  = m_importedRecordMetadataRepository.InvokeUnitOfWork(x => x.GetImportedRecordMetadataBySnapshot(snapshot.Id));
            var importedProjectMetadata = m_importedProjectMetadataRepository.InvokeUnitOfWork(x => x.GetImportedProjectMetadata(m_importedRecord.ExternalId));

            Assert.AreNotEqual(null, importedProjectMetadata.Id);
            Assert.AreEqual(m_importedRecord.ExternalId, importedProjectMetadata.ExternalId);
            Assert.AreEqual(project.Id, importedProjectMetadata.Project.Id);

            Assert.AreEqual(historyId, importedRecordMetadata.LastUpdate.Id);
            Assert.AreEqual(null, importedRecordMetadata.LastUpdateMessage);
            Assert.AreEqual(importedProjectMetadata.Id, importedRecordMetadata.ImportedProjectMetadata.Id);
        }
Beispiel #2
0
        public void SaveFullRecord()
        {
            var userId = m_mockDataManager.GetOrCreateUser();
            var externalRepositoryId = m_mockDataManager.CreateExternalRepository("", new List <FilteringExpressionContract>());

            new SaveImportedDataWork(m_projectRepository, m_metadataRepository, m_catalogValueRepository,
                                     m_personRepository, m_permissionRepository, m_importedRecord, userId, externalRepositoryId,
                                     m_mockDataManager.GetOrCreateBookType(),
                                     new List <int>()).Execute();

            Assert.AreNotEqual(null, m_importedRecord.ProjectId);

            var project = m_metadataRepository.GetAdditionalProjectMetadata(m_importedRecord.ProjectId, true, true, false, true, true, true,
                                                                            false);

            var externalRepository = m_externalRepositoryRepository.GetExternalRepository(externalRepositoryId);

            Assert.AreEqual(m_importedRecord.ImportedProject.ProjectMetadata.Title, project.Name);
            Assert.AreEqual(string.Format(externalRepository.UrlTemplate, m_importedRecord.ImportedProject.Id), project.OriginalUrl);
            Assert.AreEqual(userId, project.CreatedByUser.Id);
            Assert.AreEqual(1, project.Snapshots.Count);

            CollectionAssert.AreEquivalent(m_importedRecord.ImportedProject.Keywords.ToList(), project.Keywords.Select(x => x.Text).ToList());
            CollectionAssert.AreEquivalent(m_importedRecord.ImportedProject.LiteraryGenres.ToList(),
                                           project.LiteraryGenres.Select(x => x.Name).ToList());

            Assert.AreEqual(m_importedRecord.ImportedProject.Authors.Count, project.Authors.Count);
            Assert.AreEqual(m_importedRecord.ImportedProject.Authors.First().FirstName, project.Authors.First().OriginalAuthor.FirstName);
            Assert.AreEqual(m_importedRecord.ImportedProject.Authors.First().LastName, project.Authors.First().OriginalAuthor.LastName);

            var metadataResource = m_metadataRepository.GetLatestMetadataResource(m_importedRecord.ProjectId);

            Assert.AreEqual(m_importedRecord.ImportedProject.ProjectMetadata.Title, metadataResource.Title);
            Assert.AreEqual(m_importedRecord.ImportedProject.ProjectMetadata.PublisherText, metadataResource.PublisherText);
            Assert.AreEqual(m_importedRecord.ImportedProject.ProjectMetadata.PublishDate, metadataResource.PublishDate);
            Assert.AreEqual(m_importedRecord.ImportedProject.ProjectMetadata.PublishPlace, metadataResource.PublishPlace);

            var importedProjectMetadata = m_importedProjectMetadataManager.GetImportedProjectMetadataByExternalId(m_importedRecord.ExternalId);

            Assert.AreNotEqual(null, importedProjectMetadata.Id);
            Assert.AreEqual(m_importedRecord.ExternalId, importedProjectMetadata.ExternalId);
            Assert.AreEqual(project.Id, importedProjectMetadata.Project.Id);
        }
        public void StartImportWithOneRepository()
        {
            var userId = m_mockDataManager.GetOrCreateUser();
            var externalRepositoryId = m_mockDataManager.CreateExternalRepository(m_mockDataConstant.RecordOaiPmhMarc21JanHus, new List <FilteringExpressionContract>
            {
                new FilteringExpressionContract {
                    Field = "100a", Value = "%Hus%"
                }
            });

            m_mainImportManager.ImportFromResources(new List <int> {
                externalRepositoryId
            }, userId);

            Thread.Sleep(5000);

            while (m_mainImportManager.IsImportRunning)
            {
                Thread.Sleep(1000);
            }

            Assert.AreEqual(false, m_mainImportManager.IsImportRunning);
            Assert.AreEqual(1, m_mainImportManager.ActualProgress.Count);

            var info = m_mainImportManager.ActualProgress.First().Value;

            Assert.AreEqual(true, info.IsCompleted);
            Assert.AreEqual(1, info.TotalProjectsCount);
            Assert.AreEqual(0, info.FailedProjectsCount);
            Assert.AreEqual(1, info.ProcessedProjectsCount);
            Assert.AreEqual(null, info.FaultedMessage);

            var importHistory = m_importHistoryManager.GetLatestImportHistory(externalRepositoryId);

            Assert.AreNotEqual(null, importHistory);
            Assert.AreEqual(null, importHistory.Message);
            Assert.AreEqual(ImportStatusEnum.Completed, importHistory.Status);

            var projects = m_projectRepository.GetProjectList(0, 5, ProjectTypeEnum.Bibliography);

            Assert.AreEqual(1, projects.Count);
        }