private static IEntityMetadata CreateMetadata(IExternalSearchQueryResult <VatLayerResponse> resultItem) { var metadata = new EntityMetadataPart(); PopulateMetadata(metadata, resultItem); return(metadata); }
/// <summary>Creates the metadata.</summary> /// <param name="resultItem">The result item.</param> /// <returns>The metadata.</returns> private IEntityMetadata CreateMetadata(IExternalSearchQueryResult <LibpostalResponse> resultItem, IExternalSearchRequest request) { var metadata = new EntityMetadataPart(); PopulateMetadata(metadata, resultItem, request); return(metadata); }
/// <summary>Creates the metadata.</summary> /// <param name="resultItem">The result item.</param> /// <returns>The metadata.</returns> private IEntityMetadata CreateMetadata(IExternalSearchQueryResult <MappingResponse> resultItem) { var metadata = new EntityMetadataPart(); this.PopulateMetadata(metadata, resultItem); return(metadata); }
/// <summary>Creates the metadata.</summary> /// <param name="resultItem">The result item.</param> /// <returns>The metadata.</returns> private IEntityMetadata CreateMetadata(IExternalSearchQueryResult <CompanyAutocompleteResult> resultItem) { var metadata = new EntityMetadataPart(); this.PopulateMetadata(metadata, resultItem); return(metadata); }
/// <summary>Creates the metadata.</summary> /// <param name="resultItem">The result item.</param> /// <returns>The metadata.</returns> private IEntityMetadata CreateMetadata(IExternalSearchQueryResult <CompanyNew> resultItem) { var metadata = new EntityMetadataPart(); PopulateMetadata(metadata, resultItem.Data); return(metadata); }
private void OnPublishing(PublishContentContext context, EntityMetadataPart part) { if (context.PreviousItemVersionRecord == null) { CreateEntity(part); } else { var previousEntity = _contentManager.Get<EntityMetadataPart>(context.Id); UpdateEntity(previousEntity, part); } }
public void Test() { // Arrange testContext = new TestContext(); var properties = new EntityMetadataPart(); properties.Properties.Add(CluedIn.Core.Data.Vocabularies.Vocabularies.CluedInOrganization.Website, "http://sitecore.net"); properties.Properties.Add(CluedIn.Core.Data.Vocabularies.Vocabularies.CluedInOrganization.AddressCountryCode, "uk"); properties.Properties.Add("Website", "http://sitecore.net.com"); IEntityMetadata entityMetadata = new EntityMetadataPart() { Name = "Sitecore", EntityType = EntityType.Organization, Properties = properties.Properties }; var externalSearchProvider = new Mock <CompanyHouseExternalSearchProvider>(MockBehavior.Loose); var clues = new List <CompressedClue>(); externalSearchProvider.CallBase = true; testContext.ProcessingHub.Setup(h => h.SendCommand(It.IsAny <ProcessClueCommand>())).Callback <IProcessingCommand>(c => clues.Add(((ProcessClueCommand)c).Clue)); //this.testContext.Container.Register(Component.For<IPropertyTranslationService>().UsingFactoryMethod(() => new PropertyTranslationService())); testContext.Container.Register(Component.For <IExternalSearchProvider>().UsingFactoryMethod(() => externalSearchProvider.Object)); var context = testContext.Context.ToProcessingContext(); var command = new ExternalSearchCommand(); var actor = new ExternalSearchProcessingAccessor(context.ApplicationContext); var workflow = new Mock <Workflow>(MockBehavior.Loose, context, new EmptyWorkflowTemplate <ExternalSearchCommand>()) { CallBase = true }; command.With(context); command.OrganizationId = context.Organization.Id; command.EntityMetaData = entityMetadata; command.Workflow = workflow.Object; context.Workflow = command.Workflow; // Act var result = actor.ProcessWorkflowStep(context, command); Assert.Equal(WorkflowStepResult.Repeat.SaveResult, result.SaveResult); result = actor.ProcessWorkflowStep(context, command); Assert.Equal(WorkflowStepResult.Success.SaveResult, result.SaveResult); context.Workflow.AddStepResult(result); context.Workflow.ProcessStepResult(context, command); // Assert testContext.ProcessingHub.Verify(h => h.SendCommand(It.IsAny <ProcessClueCommand>()), Times.AtLeastOnce); Assert.True(clues.Count > 0); }
private void OnVersioning(VersionContentContext context, EntityMetadataPart existing, EntityMetadataPart building) { building.Record.FieldMetadataRecords = new List<FieldMetadataRecord>(); foreach (var record in existing.Record.FieldMetadataRecords) { var newRecord = new FieldMetadataRecord(); _fieldMetadataRepository.Copy(record, newRecord); newRecord.OriginalId = record.Id; newRecord.EntityMetadataRecord = building.Record; _fieldMetadataRepository.Create(newRecord); building.Record.FieldMetadataRecords.Add(newRecord); } }
public void Test() { //testContext.Container.Install(new InstallComponents()); var properties = new EntityMetadataPart(); properties.Properties.Add(HelloWorldVocabularies.User.Id, "1"); // Arrange _testContext.Container.Install(new InstallComponents()); IEntityMetadata entityMetadata = new EntityMetadataPart() { Name = "jsonplaceholder", EntityType = EntityType.Person, Properties = properties.Properties }; //var clues = new List<CompressedClue>(); //_testContext.ProcessingHub.Setup(h => h.SendCommand(It.IsAny<ProcessClueCommand>())).Callback<IProcessingCommand>(c => clues.Add(((ProcessClueCommand)c).Clue)); _testContext.Container.Register(Component.For <IExternalSearchProvider>().UsingFactoryMethod(() => new HelloWorldExternalSearchProvider(_testContext.Container.Resolve <IHelloWorldClient>()))); var processingContext = _testContext.Context.ToProcessingContext(); var command = new ExternalSearchCommand(); var processingAccessor = new ExternalSearchProcessingAccessor(processingContext.ApplicationContext); var commandWorkflow = new Workflow(processingContext, new EmptyWorkflowTemplate <ExternalSearchCommand>()); command.With(processingContext); command.OrganizationId = processingContext.Organization.Id; command.EntityMetaData = entityMetadata; command.Workflow = commandWorkflow; processingContext.Workflow = command.Workflow; var stepResult = processingAccessor.ProcessWorkflowStep(processingContext, command); Assert.Equal(WorkflowStepResult.Repeat.SaveResult, stepResult.SaveResult); stepResult = processingAccessor.ProcessWorkflowStep(processingContext, command); Assert.Equal(WorkflowStepResult.Ignored.SaveResult, stepResult.SaveResult); //processingContext.Workflow.AddStepResult(result); //processingContext.Workflow.ProcessStepResult(processingContext, command); //// Assert //testContext.ProcessingHub.Verify(h => h.SendCommand(It.IsAny<ProcessClueCommand>()), Times.AtLeastOnce); //Assert.True(clues.Count > 0); }
private void OnPublishing(PublishContentContext context, EntityMetadataPart part) { if (context.PreviousItemVersionRecord == null) { CreateEntity(part); } else { var previousEntity = _contentManager.Get <EntityMetadataPart>(context.Id); UpdateEntity(previousEntity, part); } }
/// <summary>Creates the metadata.</summary> /// <param name="resultItem">The result item.</param> /// <returns>The metadata.</returns> private IEntityMetadata CreateMetadata(IExternalSearchQueryResult <PermIdSocialResponse> resultItem) { if (resultItem == null) { throw new ArgumentNullException(nameof(resultItem)); } var metadata = new EntityMetadataPart(); this.PopulateMetadata(metadata, resultItem); return(metadata); }
public void TestNoClueProduction(string name) { IEntityMetadata entityMetadata = new EntityMetadataPart() { Name = name, EntityType = EntityType.Organization }; Setup(null, entityMetadata); testContext.ProcessingHub.Verify(h => h.SendCommand(It.IsAny <ProcessClueCommand>()), Times.Never); Assert.True(clues.Count == 0); }
private void OnVersioning(VersionContentContext context, EntityMetadataPart existing, EntityMetadataPart building) { building.Record.FieldMetadataRecords = new List <FieldMetadataRecord>(); foreach (var record in existing.Record.FieldMetadataRecords) { var newRecord = new FieldMetadataRecord(); _fieldMetadataRepository.Copy(record, newRecord); newRecord.OriginalId = record.Id; newRecord.EntityMetadataRecord = building.Record; _fieldMetadataRepository.Create(newRecord); building.Record.FieldMetadataRecords.Add(newRecord); } }
/// <summary>Creates the metadata.</summary> /// <param name="resultItem">The result item.</param> /// <returns>The metadata.</returns> private IEntityMetadata CreateMetadata(IExternalSearchQueryResult <Result> resultItem, IExternalSearchRequest request) { if (resultItem == null) { throw new ArgumentNullException(nameof(resultItem)); } var metadata = new EntityMetadataPart(); PopulateMetadata(metadata, resultItem, request); return(metadata); }
public void TestCompanyWithInvalidLeiCode() { // Arrange this.testContext = new TestContext(); var properties = new EntityMetadataPart(); properties.Properties.Add(CluedIn.Core.Data.Vocabularies.Vocabularies.CluedInOrganization.CodesLeiCode, "549300TL5406I"); IEntityMetadata entityMetadata = new EntityMetadataPart() { Name = "Saxo Bank", EntityType = EntityType.Organization, Properties = properties.Properties }; var externalSearchProvider = new Mock <GleifExternalSearchProvider>(MockBehavior.Loose); var clues = new List <CompressedClue>(); externalSearchProvider.CallBase = true; this.testContext.ProcessingHub.Setup(h => h.SendCommand(It.IsAny <ProcessClueCommand>())).Callback <IProcessingCommand>(c => clues.Add(((ProcessClueCommand)c).Clue)); this.testContext.Container.Register(Component.For <IExternalSearchProvider>().UsingFactoryMethod(() => externalSearchProvider.Object)); var context = this.testContext.Context.ToProcessingContext(); var command = new ExternalSearchCommand(); var actor = new ExternalSearchProcessingAccessor(context.ApplicationContext); var workflow = new Mock <Workflow>(MockBehavior.Loose, context, new EmptyWorkflowTemplate <ExternalSearchCommand>()); workflow.CallBase = true; command.With(context); command.OrganizationId = context.Organization.Id; command.EntityMetaData = entityMetadata; command.Workflow = workflow.Object; context.Workflow = command.Workflow; // Act var result = actor.ProcessWorkflowStep(context, command); Assert.Equal(WorkflowStepResult.Ignored.SaveResult, result.SaveResult); result = actor.ProcessWorkflowStep(context, command); context.Workflow.AddStepResult(result); context.Workflow.ProcessStepResult(context, command); // Assert this.testContext.ProcessingHub.Verify(h => h.SendCommand(It.IsAny <ProcessClueCommand>()), Times.Never); Assert.True(clues.Count == 0); }
public void Test() { // Arrange this.testContext = new TestContext(); IEntityMetadata entityMetadata = new EntityMetadataPart() { Name = "Nordea", EntityType = EntityType.Organization }; var externalSearchProvider = new Mock <ClearBitExternalSearchProvider>(MockBehavior.Loose); var clues = new List <CompressedClue>(); externalSearchProvider.CallBase = true; this.testContext.ProcessingHub.Setup(h => h.SendCommand(It.IsAny <ProcessClueCommand>())).Callback <IProcessingCommand>(c => clues.Add(((ProcessClueCommand)c).Clue)); this.testContext.Container.Register(Component.For <IExternalSearchProvider>().UsingFactoryMethod(() => externalSearchProvider.Object)); var context = this.testContext.Context.ToProcessingContext(); var command = new ExternalSearchCommand(); var actor = new ExternalSearchProcessingAccessor(context.ApplicationContext); var workflow = new Mock <Workflow>(MockBehavior.Loose, context, new EmptyWorkflowTemplate <ExternalSearchCommand>()); workflow.CallBase = true; command.With(context); command.OrganizationId = context.Organization.Id; command.EntityMetaData = entityMetadata; command.Workflow = workflow.Object; context.Workflow = command.Workflow; // Act var result = actor.ProcessWorkflowStep(context, command); Assert.Equal(WorkflowStepResult.Repeat.SaveResult, result.SaveResult); result = actor.ProcessWorkflowStep(context, command); Assert.Equal(WorkflowStepResult.Success.SaveResult, result.SaveResult); context.Workflow.AddStepResult(result); context.Workflow.ProcessStepResult(context, command); // Assert this.testContext.ProcessingHub.Verify(h => h.SendCommand(It.IsAny <ProcessClueCommand>()), Times.AtLeastOnce); Assert.True(clues.Count > 0); }
private void UpdateEntity(EntityMetadataPart previousEntity, EntityMetadataPart entity) { _contentDefinitionManager.AlterTypeDefinition(entity.Name, builder => builder.DisplayedAs(entity.DisplayName)); foreach (var fieldMetadataRecord in previousEntity.FieldMetadataRecords) { var exist = entity.FieldMetadataRecords.Any(x => x.OriginalId == fieldMetadataRecord.Id); if (!exist) { var record = fieldMetadataRecord; _contentDefinitionManager.AlterPartDefinition(entity.Name, typeBuilder => typeBuilder.RemoveField(record.Name)); _schemaUpdateService.DropColumn(entity.Name, fieldMetadataRecord.Name); _fieldEvents.OnDeleting(entity.Name, fieldMetadataRecord.Name); } } var needUpdateFields = new List <FieldMetadataRecord>(); foreach (var fieldMetadataRecord in entity.FieldMetadataRecords) { if (fieldMetadataRecord.OriginalId != 0) { needUpdateFields.Add(fieldMetadataRecord); } else { AddField(entity.Name, fieldMetadataRecord); _schemaUpdateService.CreateColumn(entity.Name, fieldMetadataRecord.Name, fieldMetadataRecord.ContentFieldDefinitionRecord.Name); } } foreach (var fieldMetadataRecord in needUpdateFields) { var record = fieldMetadataRecord; var settings = _settingsFormatter.Map(Parse(record.Settings)); _contentDefinitionManager.AlterPartDefinition(entity.Name, builder => builder.WithField(record.Name, fieldBuilder => { fieldBuilder.WithDisplayName(settings["DisplayName"]); _contentDefinitionEditorEvents.UpdateFieldSettings(fieldBuilder, settings); })); record.Settings = _settingsFormatter.Map(settings).ToString(); } _entityEvents.OnUpdating(entity.Name); }
public void CreateField(EntityMetadataPart entity, AddFieldViewModel viewModel, IUpdateModel updateModel) { var settingsDictionary = new SettingsDictionary(); settingsDictionary["DisplayName"] = viewModel.DisplayName; settingsDictionary["AddInLayout"] = viewModel.AddInLayout.ToString(); settingsDictionary["EntityName"] = entity.Name; var field = new FieldMetadataRecord { ContentFieldDefinitionRecord = FetchFieldDefinition(viewModel.FieldTypeName), Name = viewModel.Name }; entity.FieldMetadataRecords.Add(field); _contentDefinitionEditorEvents.UpdateFieldSettings(viewModel.FieldTypeName, viewModel.Name, settingsDictionary, updateModel); field.Settings = CompileSetting(settingsDictionary); field.EntityMetadataRecord = entity.Record; }
public void TestMissingApiToken() { //Arrange var properties = new EntityMetadataPart(); properties.Properties.Add(CluedIn.Core.Data.Vocabularies.Vocabularies.CluedInOrganization.VatNumber, "asdasd"); IEntityMetadata entityMetadata = new EntityMetadataPart() { EntityType = EntityType.Organization, Properties = properties.Properties }; // Assert Assert.Throws <InvalidOperationException>(() => this.Setup(null, entityMetadata)); this.testContext.ProcessingHub.Verify(h => h.SendCommand(It.IsAny <ProcessClueCommand>()), Times.Never); }
private void CreateEntity(EntityMetadataPart part) { _contentDefinitionManager.AlterTypeDefinition(part.Name, builder => { builder.DisplayedAs(part.DisplayName); builder.WithPart(part.Name).WithPart("CoeveryCommonPart"); }); foreach (var record in part.FieldMetadataRecords) { AddField(part.Name, record, false); } _entityEvents.OnCreated(part.Name); _schemaUpdateService.CreateTable(part.Name, context => { foreach (var fieldMetadataRecord in part.FieldMetadataRecords) { context.FieldColumn(fieldMetadataRecord.Name, fieldMetadataRecord.ContentFieldDefinitionRecord.Name); } }); }
public void TestNonExistingVATNumber(string vatNumber) { //Arrange var properties = new EntityMetadataPart(); properties.Properties.Add(CluedIn.Core.Data.Vocabularies.Vocabularies.CluedInOrganization.VatNumber, vatNumber); IEntityMetadata entityMetadata = new EntityMetadataPart() { EntityType = EntityType.Organization, Properties = properties.Properties }; var list = new List <string>(new string[] { ApiToken }); object[] parameters = { list }; //Act this.Setup(parameters, entityMetadata); // Assert Assert.True(this.clues.Count == 0); }
public void TestInvalidVATNumber(string vatNumber) { //Arrange var properties = new EntityMetadataPart(); properties.Properties.Add(CluedIn.Core.Data.Vocabularies.Vocabularies.CluedInOrganization.VatNumber, vatNumber); IEntityMetadata entityMetadata = new EntityMetadataPart() { EntityType = EntityType.Organization, Properties = properties.Properties }; var list = new List <string>(new string[] { ApiToken }); object[] parameters = { list }; //Act this.Setup(parameters, entityMetadata); // Assert this.testContext.ProcessingHub.Verify(h => h.SendCommand(It.IsAny <ProcessClueCommand>()), Times.Never); }
private void OnVersioned(VersionContentContext context, EntityMetadataPart existing, EntityMetadataPart building) { CopyRelationshipRecords(_oneToManyRelationshipRepository, existing.Record, building.Record); CopyRelationshipRecords(_manyToManyRelationshipRepository, existing.Record, building.Record); }
public void TestClueProductionLocation(string address, string expectedStreetName, string expectedHouseNumber, string expectedZipcode, string expectedZipcodeName) { // Arrange var properties = new EntityMetadataPart(); properties.Properties.Add(Vocabularies.CluedInOrganization.Address, address); IEntityMetadata entityMetadata = new EntityMetadataPart() { EntityType = EntityType.Location, Properties = properties.Properties, }; var externalSearchProvider = new DawaExternalSearchProvider(); var container = new WindsorContainer(); container.Register(Component.For(typeof(ILogger <>)).ImplementedBy(typeof(NullLogger <>)).LifestyleSingleton()); var logger = Mock.Of <ILogger>(); var applicationContext = new ApplicationContext(container); var context = new ExecutionContext(applicationContext, new DummyOrganization(applicationContext), logger); var queryParametersDict = new Dictionary <string, HashSet <string> >(); foreach (var property in entityMetadata.Properties) { queryParametersDict.Add(property.Key, new HashSet <string> { property.Value }); } var queryParameters = new DummyExternalSearchQueryParameters(queryParametersDict); var request = new DummyExternalSearchRequest { EntityMetaData = entityMetadata, QueryParameters = queryParameters }; // Act var queries = externalSearchProvider.BuildQueries(context, request); var clues = new List <Clue>(); foreach (var query in queries) { var results = externalSearchProvider.ExecuteSearch(context, query); foreach (var result in results) { var resultClues = externalSearchProvider.BuildClues(context, query, result, request); foreach (var clue in resultClues) { clues.Add(clue); } } } // Assert Assert.True(clues.Count > 0); foreach (var clue in clues) { clue.Data.EntityData.Properties.TryGetValue("dawa.organization.StreetName", out var streetName); Assert.Equal(expectedStreetName, streetName); clue.Data.EntityData.Properties.TryGetValue("dawa.organization.HouseNumber", out var houseNumber); Assert.Equal(expectedHouseNumber, houseNumber); clue.Data.EntityData.Properties.TryGetValue("dawa.organization.Zipcode", out var zipcode); Assert.Equal(expectedZipcode, zipcode); clue.Data.EntityData.Properties.TryGetValue("dawa.organization.Zipcodename", out var zipcodeName); Assert.Equal(expectedZipcodeName, zipcodeName); } context.Dispose(); }
public bool CheckFieldCreationValid(EntityMetadataPart entity, string name, string displayName) { return !entity.FieldMetadataRecords.Any( field => string.Equals(field.Name, name, StringComparison.OrdinalIgnoreCase) || string.Equals(ParseSetting(field.Settings)["DisplayName"], displayName, StringComparison.OrdinalIgnoreCase)); }
private void UpdateEntity(EntityMetadataPart previousEntity, EntityMetadataPart entity) { _contentDefinitionManager.AlterTypeDefinition(entity.Name, builder => builder.DisplayedAs(entity.DisplayName)); foreach (var fieldMetadataRecord in previousEntity.FieldMetadataRecords) { var exist = entity.FieldMetadataRecords.Any(x => x.OriginalId == fieldMetadataRecord.Id); if (!exist) { var record = fieldMetadataRecord; _contentDefinitionManager.AlterPartDefinition(entity.Name, typeBuilder => typeBuilder.RemoveField(record.Name)); _schemaUpdateService.DropColumn(entity.Name, fieldMetadataRecord.Name); _fieldEvents.OnDeleting(entity.Name, fieldMetadataRecord.Name); } } var needUpdateFields = new List<FieldMetadataRecord>(); foreach (var fieldMetadataRecord in entity.FieldMetadataRecords) { if (fieldMetadataRecord.OriginalId != 0) { needUpdateFields.Add(fieldMetadataRecord); } else { AddField(entity.Name, fieldMetadataRecord); _schemaUpdateService.CreateColumn(entity.Name, fieldMetadataRecord.Name, fieldMetadataRecord.ContentFieldDefinitionRecord.Name); } } foreach (var fieldMetadataRecord in needUpdateFields) { var record = fieldMetadataRecord; var settings = _settingsFormatter.Map(Parse(record.Settings)); _contentDefinitionManager.AlterPartDefinition(entity.Name, builder => builder.WithField(record.Name, fieldBuilder => { fieldBuilder.WithDisplayName(settings["DisplayName"]); _contentDefinitionEditorEvents.UpdateFieldSettings(fieldBuilder, settings); })); record.Settings = _settingsFormatter.Map(settings).ToString(); } _entityEvents.OnUpdating(entity.Name); }
public bool CheckFieldCreationValid(EntityMetadataPart entity, string name, string displayName) { return(!entity.FieldMetadataRecords.Any( field => string.Equals(field.Name, name, StringComparison.OrdinalIgnoreCase) || string.Equals(ParseSetting(field.Settings)["DisplayName"], displayName, StringComparison.OrdinalIgnoreCase))); }