public void CreateEntity(MdmRequestInfo requestInfo)
        {
            var requester = new Mock<IMessageRequester>();
            var service = new MdmEntityService<SourceSystem>("sourcesystem", requester.Object);
            var sourcesystem = new SourceSystem();
            var response = new WebResponse<SourceSystem>() { Code = HttpStatusCode.OK, IsValid = true };

            requester.Setup(x => x.Create("sourcesystem", sourcesystem, requestInfo ?? It.IsAny<MdmRequestInfo>()))
                .Returns(response);

            requester.Setup(x => x.Request<SourceSystem>(It.IsAny<string>()))
                .Returns(new WebResponse<SourceSystem>
                             {
                                 IsValid = true,
                                 Code = HttpStatusCode.OK,
                                 Message = sourcesystem,
                             });

            // Act

            var result = (requestInfo == null) ? service.Create(sourcesystem) : service.Create(sourcesystem, requestInfo);

            // Assert
            Assert.AreEqual(HttpStatusCode.OK, result.Code, "Status code differ");
            Assert.AreEqual(true, result.IsValid, "IsValid differ");
        }
示例#2
0
        public void CreateEntity(MdmRequestInfo requestInfo)
        {
            var requester    = new Mock <IMessageRequester>();
            var service      = new MdmEntityService <SourceSystem>("sourcesystem", requester.Object);
            var sourcesystem = new SourceSystem();
            var response     = new WebResponse <SourceSystem>()
            {
                Code = HttpStatusCode.OK, IsValid = true
            };

            requester.Setup(x => x.Create("sourcesystem", sourcesystem, requestInfo ?? It.IsAny <MdmRequestInfo>()))
            .Returns(response);

            requester.Setup(x => x.Request <SourceSystem>(It.IsAny <string>()))
            .Returns(new WebResponse <SourceSystem>
            {
                IsValid = true,
                Code    = HttpStatusCode.OK,
                Message = sourcesystem,
            });

            // Act

            var result = (requestInfo == null) ? service.Create(sourcesystem) : service.Create(sourcesystem, requestInfo);

            // Assert
            Assert.AreEqual(HttpStatusCode.OK, result.Code, "Status code differ");
            Assert.AreEqual(true, result.IsValid, "IsValid differ");
        }
        public void DeleteMapping(MdmRequestInfo requestInfo)
        {
            var requester = new Mock<IMessageRequester>();
            var service = new MdmEntityService<SourceSystem>("sourcesystem", requester.Object);

            requester.Setup(x => x.Delete<SourceSystem>("sourcesystem/77/mapping/33",requestInfo?? It.IsAny<MdmRequestInfo>())).Returns(new WebResponse<SourceSystem>() { Code = HttpStatusCode.OK, IsValid = true });

            // Act
            var result = (requestInfo == null) ? service.DeleteMapping(77, 33) : service.DeleteMapping(77, 33,requestInfo);

            // Assert
            Assert.AreEqual(HttpStatusCode.OK, result.Code, "Status code differ");
            Assert.AreEqual(true, result.IsValid, "IsValid differ");
        }
        public void CreateEntityFails()
        {
            var requester = new Mock<IMessageRequester>();
            var service = new MdmEntityService<SourceSystem>("sourcesystem", requester.Object);
            var fault = new Fault() { Message = "faulting" };

            requester.Setup(x => x.Create<SourceSystem>(It.IsAny<string>(), It.IsAny<SourceSystem>(), It.IsAny<MdmRequestInfo>())).Returns(new WebResponse<SourceSystem>() { Code = HttpStatusCode.InternalServerError, IsValid = false, Fault = fault });

            // Act
            var result = service.Create(new SourceSystem());

            // Assert
            Assert.AreEqual(HttpStatusCode.InternalServerError, result.Code, "Status code differ");
            Assert.AreEqual(false, result.IsValid, "IsValid differ");
            Assert.AreEqual(fault, result.Fault, "Fault not returned");
        }
示例#5
0
        public void DeleteMapping(MdmRequestInfo requestInfo)
        {
            var requester = new Mock <IMessageRequester>();
            var service   = new MdmEntityService <SourceSystem>("sourcesystem", requester.Object);

            requester.Setup(x => x.Delete <SourceSystem>("sourcesystem/77/mapping/33", requestInfo ?? It.IsAny <MdmRequestInfo>())).Returns(new WebResponse <SourceSystem>()
            {
                Code = HttpStatusCode.OK, IsValid = true
            });

            // Act
            var result = (requestInfo == null) ? service.DeleteMapping(77, 33) : service.DeleteMapping(77, 33, requestInfo);

            // Assert
            Assert.AreEqual(HttpStatusCode.OK, result.Code, "Status code differ");
            Assert.AreEqual(true, result.IsValid, "IsValid differ");
        }
示例#6
0
        public void GetMapping()
        {
            var requester = new Mock <IMessageRequester>();
            var service   = new MdmEntityService <SourceSystem>("sourcesystem", requester.Object);

            var tpIdentifier = new MdmId {
                SystemName = "Trayport", Identifier = "A"
            };
            var sourcesystem = new SourceSystem
            {
                Details = new SourceSystemDetails
                {
                    Name = "Gas"
                },
                Identifiers = new MdmIdList
                {
                    new MdmId {
                        SystemName = "Nexus", Identifier = "1", IsMdmId = true
                    },
                    tpIdentifier,
                    new MdmId {
                        SystemName = "Endur", Identifier = "B"
                    },
                }
            };

            var response = new WebResponse <SourceSystem>
            {
                Code    = HttpStatusCode.OK,
                Message = sourcesystem,
                Tag     = "1"
            };

            requester.Setup(x => x.Request <SourceSystem>(It.IsAny <string>())).Returns(response);

            // Act
            var candidate = service.Map(1, "Trayport");

            // Assert
            Assert.AreEqual(HttpStatusCode.OK, candidate.Code, "Code differs");
            Assert.AreEqual(true, candidate.IsValid, "IsValid differs");
            Assert.AreSame(tpIdentifier, candidate.Message, "Message differs");
        }
示例#7
0
        public void GetByMapping()
        {
            var requester = new Mock <IMessageRequester>();
            var service   = new MdmEntityService <SourceSystem>("sourcesystem", requester.Object);

            var entity = new SourceSystem
            {
                Details = new SourceSystemDetails
                {
                    Name = "Gas"
                },
                Identifiers = new MdmIdList
                {
                    new MdmId {
                        SystemName = "Nexus", Identifier = "1", IsMdmId = true
                    },
                    new MdmId {
                        SystemName = "Trayport", Identifier = "A"
                    },
                    new MdmId {
                        SystemName = "Endur", Identifier = "B"
                    },
                }
            };
            var expected = new WebResponse <SourceSystem>
            {
                Code    = HttpStatusCode.OK,
                Message = entity,
                Tag     = "1"
            };

            requester.Setup(x => x.Request <SourceSystem>(It.IsAny <string>())).Returns(expected);

            var identifier = new Mapping {
                SystemName = "Trayport", Identifier = "A"
            };

            // Act
            var candidate = service.Get(identifier);

            // Assert
            Assert.AreSame(expected, candidate, "Entities differ");
        }
示例#8
0
        public void GetByIdValidAt()
        {
            var requester = new Mock <IMessageRequester>();
            var service   = new MdmEntityService <SourceSystem>("sourcesystem", requester.Object);

            var entity = new SourceSystem
            {
                Details = new SourceSystemDetails
                {
                    Name = "Gas"
                },
                Identifiers = new MdmIdList
                {
                    new MdmId {
                        SystemName = "Nexus", Identifier = "1", IsMdmId = true
                    },
                    new MdmId {
                        SystemName = "Trayport", Identifier = "A"
                    },
                    new MdmId {
                        SystemName = "Endur", Identifier = "B"
                    },
                }
            };
            var expected = new WebResponse <SourceSystem>
            {
                Code    = HttpStatusCode.OK,
                Message = entity,
                Tag     = "1"
            };

            requester.Setup(x => x.Request <SourceSystem>(It.IsAny <string>())).Returns(expected);

            var    now = DateTime.Now;
            string dateFormatString = "yyyy-MM-dd'T'HH:mm:ss.fffffffZ";

            // Act
            service.Get(1, now);

            // Assert
            requester.Verify(x => x.Request <SourceSystem>(It.Is <string>(s => s.Split('?')[1].Contains("as-of=" + now.ToString(dateFormatString)))), Times.Once());
        }
示例#9
0
        public void GetMappingMissingEntity()
        {
            var requester = new Mock <IMessageRequester>();
            var service   = new MdmEntityService <SourceSystem>("sourcesystem", requester.Object);

            var response = new WebResponse <SourceSystem>
            {
                Code    = HttpStatusCode.NotFound,
                IsValid = false,
            };

            requester.Setup(x => x.Request <SourceSystem>(It.IsAny <string>())).Returns(response);

            // Act
            var candidate = service.Map(1, "Trayport");

            // Assert
            Assert.AreEqual(HttpStatusCode.NotFound, candidate.Code, "Code differs");
            Assert.AreEqual(false, candidate.IsValid, "IsValid differs");
        }
示例#10
0
        public void GetMissingEntityById()
        {
            var requester = new Mock <IMessageRequester>();
            var service   = new MdmEntityService <SourceSystem>("sourcesystem", requester.Object);

            var response = new WebResponse <SourceSystem>
            {
                Code    = HttpStatusCode.NotFound,
                IsValid = false,
                Message = null,
                Tag     = "1"
            };

            requester.Setup(x => x.Request <SourceSystem>(It.IsAny <string>())).Returns(response);

            // Act
            var candidate = service.Get(1);

            // Assert
            Assert.AreSame(response, candidate);
        }
示例#11
0
        public void CreateEntityFails()
        {
            var requester = new Mock <IMessageRequester>();
            var service   = new MdmEntityService <SourceSystem>("sourcesystem", requester.Object);
            var fault     = new Fault()
            {
                Message = "faulting"
            };

            requester.Setup(x => x.Create <SourceSystem>(It.IsAny <string>(), It.IsAny <SourceSystem>(), It.IsAny <MdmRequestInfo>())).Returns(new WebResponse <SourceSystem>()
            {
                Code = HttpStatusCode.InternalServerError, IsValid = false, Fault = fault
            });

            // Act
            var result = service.Create(new SourceSystem());

            // Assert
            Assert.AreEqual(HttpStatusCode.InternalServerError, result.Code, "Status code differ");
            Assert.AreEqual(false, result.IsValid, "IsValid differ");
            Assert.AreEqual(fault, result.Fault, "Fault not returned");
        }
示例#12
0
        public void GetByMappingUrlEncodesCorrectly()
        {
            var requester = new Mock <IMessageRequester>();
            var service   = new MdmEntityService <SourceSystem>("sourcesystem", requester.Object);

            var entity = new SourceSystem
            {
                Details = new SourceSystemDetails
                {
                    Name = "Gas"
                },
                Identifiers = new MdmIdList
                {
                    new MdmId {
                        SystemName = "Trayport", Identifier = "1&1"
                    },
                }
            };
            var expected = new WebResponse <SourceSystem>
            {
                Code    = HttpStatusCode.OK,
                Message = entity,
                Tag     = "1"
            };

            requester.Setup(x => x.Request <SourceSystem>(It.IsAny <string>())).Returns(expected);

            var identifier = new Mapping {
                SystemName = "S&P", Identifier = "1&1"
            };

            // Act
            var candidate = service.Get(identifier);

            // Assert
            requester.Verify(x => x.Request <SourceSystem>("sourcesystem/map?source-system=S%26P&mapping-string=1%261"));
        }
        public void GetByIdValidAt()
        {
            var requester = new Mock<IMessageRequester>();
            var service = new MdmEntityService<SourceSystem>("sourcesystem", requester.Object);

            var entity = new SourceSystem
            {
                Details = new SourceSystemDetails
                {
                    Name = "Gas"
                },
                Identifiers = new MdmIdList
                {
                    new MdmId { SystemName = "Nexus", Identifier = "1", IsMdmId = true},
                    new MdmId { SystemName = "Trayport", Identifier = "A"},
                    new MdmId { SystemName = "Endur", Identifier = "B"},
                }
            };
            var expected = new WebResponse<SourceSystem>
            {
                Code = HttpStatusCode.OK,
                Message = entity,
                Tag = "1"
            };

            requester.Setup(x => x.Request<SourceSystem>(It.IsAny<string>())).Returns(expected);

            var now = DateTime.Now;
            string dateFormatString = "yyyy-MM-dd'T'HH:mm:ss.fffffffZ";

            // Act
            service.Get(1, now);

            // Assert
            requester.Verify(x => x.Request<SourceSystem>(It.Is<string>(s => s.Split('?')[1].Contains("as-of=" + now.ToString(dateFormatString)))), Times.Once());
        }
        public void GetByMappingUrlEncodesCorrectly()
        {
            var requester = new Mock<IMessageRequester>();
            var service = new MdmEntityService<SourceSystem>("sourcesystem", requester.Object);

            var entity = new SourceSystem
            {
                Details = new SourceSystemDetails
                {
                    Name = "Gas"
                },
                Identifiers = new MdmIdList
                {
                    new MdmId { SystemName = "Trayport", Identifier = "1&1"},
                }
            };
            var expected = new WebResponse<SourceSystem>
            {
                Code = HttpStatusCode.OK,
                Message = entity,
                Tag = "1"
            };
            requester.Setup(x => x.Request<SourceSystem>(It.IsAny<string>())).Returns(expected);

            var identifier = new Mapping { SystemName = "S&P", Identifier = "1&1" };

            // Act
            var candidate = service.Get(identifier);

            // Assert
            requester.Verify(x => x.Request<SourceSystem>("sourcesystem/map?source-system=S%26P&mapping-string=1%261"));
        }
        public void GetMappingMissingEntity()
        {
            var requester = new Mock<IMessageRequester>();
            var service = new MdmEntityService<SourceSystem>("sourcesystem", requester.Object);

            var response = new WebResponse<SourceSystem>
            {
                Code = HttpStatusCode.NotFound,
                IsValid = false,
            };

            requester.Setup(x => x.Request<SourceSystem>(It.IsAny<string>())).Returns(response);

            // Act
            var candidate = service.Map(1, "Trayport");

            // Assert
            Assert.AreEqual(HttpStatusCode.NotFound, candidate.Code, "Code differs");
            Assert.AreEqual(false, candidate.IsValid, "IsValid differs");
        }
        public void GetMappingMissingSystemId()
        {
            var requester = new Mock<IMessageRequester>();
            var service = new MdmEntityService<SourceSystem>("sourcesystem", requester.Object);

            var tpIdentifier = new MdmId { SystemName = "Trayport", Identifier = "A" };
            var entity = new SourceSystem
            {
                Details = new SourceSystemDetails
                {
                    Name = "Gas"
                },
                Identifiers = new MdmIdList
                {
                    new MdmId { SystemName = "Nexus", Identifier = "1", IsMdmId = true},
                    tpIdentifier,
                    new MdmId { SystemName = "Endur", Identifier = "B"},
                }
            };

            var response = new WebResponse<SourceSystem>
            {
                Code = HttpStatusCode.OK,
                Message = entity,
                Tag = "1"
            };

            requester.Setup(x => x.Request<SourceSystem>(It.IsAny<string>())).Returns(response);

            // Act
            var candidate = service.Map(1, "Fred");

            // Assert
            Assert.AreEqual(HttpStatusCode.NotFound, candidate.Code, "Code differs");
            Assert.AreEqual(false, candidate.IsValid, "IsValid differs");
        }
        public void GetByMapping()
        {
            var requester = new Mock<IMessageRequester>();
            var service = new MdmEntityService<SourceSystem>("sourcesystem", requester.Object);

            var entity = new SourceSystem
            {
                Details = new SourceSystemDetails
                {
                    Name = "Gas"
                },
                Identifiers = new MdmIdList
                {
                    new MdmId { SystemName = "Nexus", Identifier = "1", IsMdmId = true},
                    new MdmId { SystemName = "Trayport", Identifier = "A"},
                    new MdmId { SystemName = "Endur", Identifier = "B"},
                }
            };
            var expected = new WebResponse<SourceSystem>
            {
                Code = HttpStatusCode.OK,
                Message = entity,
                Tag = "1"
            };
            requester.Setup(x => x.Request<SourceSystem>(It.IsAny<string>())).Returns(expected);

            var identifier = new Mapping { SystemName = "Trayport", Identifier = "A" };

            // Act
            var candidate = service.Get(identifier);

            // Assert
            Assert.AreSame(expected, candidate, "Entities differ");
        }
        public void GetMissingEntityById()
        {
            var requester = new Mock<IMessageRequester>();
            var service = new MdmEntityService<SourceSystem>("sourcesystem", requester.Object);

            var response = new WebResponse<SourceSystem>
            {
                Code = HttpStatusCode.NotFound,
                IsValid = false,
                Message = null,
                Tag = "1"
            };

            requester.Setup(x => x.Request<SourceSystem>(It.IsAny<string>())).Returns(response);

            // Act
            var candidate = service.Get(1);

            // Assert
            Assert.AreSame(response, candidate);
        }