public void ValidContractAdded() { // Arrange var validatorFactory = new Mock<IValidatorEngine>(); var mappingEngine = new Mock<IMappingEngine>(); var repository = new Mock<IRepository>(); var searchCache = new Mock<ISearchCache>(); var service = new SourceSystemService(validatorFactory.Object, mappingEngine.Object, repository.Object, searchCache.Object); var identifier = new EnergyTrading.Mdm.Contracts.MdmId { SystemName = "Test", Identifier = "A" }; var message = new CreateMappingRequest { EntityId = 12, Mapping = identifier }; var system = new Mdm.SourceSystem { Name = "Test" }; var mapping = new SourceSystemMapping { System = system, MappingValue = "A" }; validatorFactory.Setup(x => x.IsValid(It.IsAny<CreateMappingRequest>(), It.IsAny<IList<IRule>>())).Returns(true); mappingEngine.Setup(x => x.Map<EnergyTrading.Mdm.Contracts.MdmId, SourceSystemMapping>(identifier)).Returns(mapping); var sourcesystem = new Mdm.SourceSystem(); repository.Setup(x => x.FindOne<Mdm.SourceSystem>(12)).Returns(sourcesystem); // Act var candidate = (SourceSystemMapping)service.CreateMapping(message); // Assert Assert.AreSame(mapping, candidate); repository.Verify(x => x.Save(sourcesystem)); repository.Verify(x => x.Flush()); }
public void Map() { // Arrange var source = new Mdm.SourceSystem { }; var mapper = new Mdm.Mappers.SourceSystemDetailsMapper(); // Act var result = mapper.Map(source); // Assert Assert.IsNotNull(result); }
public void ValidContractAdded() { // Arrange var validatorFactory = new Mock <IValidatorEngine>(); var mappingEngine = new Mock <IMappingEngine>(); var repository = new Mock <IRepository>(); var searchCache = new Mock <ISearchCache>(); var service = new SourceSystemService(validatorFactory.Object, mappingEngine.Object, repository.Object, searchCache.Object); var identifier = new EnergyTrading.Mdm.Contracts.MdmId { SystemName = "Test", Identifier = "A" }; var message = new CreateMappingRequest { EntityId = 12, Mapping = identifier }; var system = new Mdm.SourceSystem { Name = "Test" }; var mapping = new SourceSystemMapping { System = system, MappingValue = "A" }; validatorFactory.Setup(x => x.IsValid(It.IsAny <CreateMappingRequest>(), It.IsAny <IList <IRule> >())).Returns(true); mappingEngine.Setup(x => x.Map <EnergyTrading.Mdm.Contracts.MdmId, SourceSystemMapping>(identifier)).Returns(mapping); var sourcesystem = new Mdm.SourceSystem(); repository.Setup(x => x.FindOne <Mdm.SourceSystem>(12)).Returns(sourcesystem); // Act var candidate = (SourceSystemMapping)service.CreateMapping(message); // Assert Assert.AreSame(mapping, candidate); repository.Verify(x => x.Save(sourcesystem)); repository.Verify(x => x.Flush()); }
public void SuccessMatch() { // Arrange var validatorFactory = new Mock <IValidatorEngine>(); var mappingEngine = new Mock <IMappingEngine>(); var repository = new Mock <IRepository>(); var searchCache = new Mock <ISearchCache>(); var service = new SourceSystemService(validatorFactory.Object, mappingEngine.Object, repository.Object, searchCache.Object); // Domain details var system = new Mdm.SourceSystem { Name = "Endur" }; var mapping = new SourceSystemMapping { System = system, MappingValue = "A" }; var targetSystem = new Mdm.SourceSystem { Name = "Trayport" }; var targetMapping = new SourceSystemMapping { System = targetSystem, MappingValue = "B", IsDefault = true }; var sourcesystem = new Mdm.SourceSystem { Id = 1, Timestamp = new byte[] { 1, 0, 0, 0, 0, 0, 0, 0 } }; //SourceSystem.AddDetails(details); sourcesystem.ProcessMapping(mapping); sourcesystem.ProcessMapping(targetMapping); // Contract details var targetIdentifier = new MdmId { SystemName = "Trayport", Identifier = "B" }; mappingEngine.Setup(x => x.Map <SourceSystemMapping, MdmId>(targetMapping)).Returns(targetIdentifier); var list = new List <SourceSystemMapping> { mapping }; repository.Setup(x => x.Queryable <SourceSystemMapping>()).Returns(list.AsQueryable()); var request = new CrossMappingRequest { SystemName = "Endur", Identifier = "A", TargetSystemName = "trayport", ValidAt = SystemTime.UtcNow(), Version = 0 }; // Act var response = service.CrossMap(request); var candidate = response.Contract; // Assert Assert.IsNotNull(response, "Contract null"); Assert.IsNotNull(candidate, "Mapping null"); Assert.AreEqual(1, candidate.Mappings.Count, "Identifier count incorrect"); Assert.AreSame(targetIdentifier, candidate.Mappings[0], "Different identifier assigned"); }