protected void ExpectCommitValidateEvents(params DomainObject[] domainObjects) { using (_mockRepository.Ordered()) { ListenerMock .Expect(mock => mock.TransactionCommitValidate(Arg.Is(_transaction), ArgIsPersistableDataSet(domainObjects))) .WhenCalled(mi => Assert.That(_transaction.HasChanged(), Is.True, "CommitValidate: last event before actual commit.")); ExtensionMock .Expect(mock => mock.CommitValidate(Arg.Is(_transaction), ArgIsPersistableDataSet(domainObjects))); } }
public void ProcessRequest_ActionDoesntExist_ThrowActionMissingException() { var application = Make_PortalApplication(); var extension = new ExtensionMock(application); var module = new Mock<IModule>(); var parameters = new Dictionary<string, string> { { "format", "XML" } }; var request = new PortalRequest((Protocol)Protocol.V6, (string)"test", (string)"missing", parameters, null); module.Setup(m => m.GetExtensionNames(Protocol.V6)).Returns(new[] { "test" }); module.Setup(m => m.GetExtension(Protocol.V6, "test")).Returns(extension); application.AddModule(module.Object); request.Stopwatch.Reset(); application.ProcessRequest(request); }
protected AllMethodOptions ExpectCommittedEventsWithCustomOptions(params Tuple <DomainObject, DomainObjectMockEventReceiver>[] domainObjectsAndMocks) { using (_mockRepository.Ordered()) { var domainObjectOptions = new List <IMethodOptions <RhinoMocksExtensions.VoidType> > (domainObjectsAndMocks.Length); using (_mockRepository.Unordered()) { domainObjectOptions.AddRange(domainObjectsAndMocks.Select(t => t.Item2.Expect(mock => mock.Committed()))); } var domainObjects = domainObjectsAndMocks.Select(t => t.Item1).ToArray(); var transactionOptions = TransactionMockEventReceiver.Expect(mock => mock.Committed(domainObjects)); var extensionOptions = ExtensionMock.Expect(mock => mock.Committed(Arg.Is(_transaction), ArgIsDomainObjectSet(domainObjects))); ListenerMock.Expect(mock => mock.TransactionCommitted(Arg.Is(_transaction), ArgIsDomainObjectSet(domainObjects))); return(new AllMethodOptions(extensionOptions, transactionOptions, domainObjectOptions.ToArray())); } }
public void ProcessRequest_ExtensionThrowsAnException_ReturnResponseWithError() { var application = Make_PortalApplication(); var module = new Mock<IModule>(); var parameters = new Dictionary<string, string> { { "½ormat", "XML" } }; var request = new PortalRequest((Protocol)Protocol.V5, (string)"test", (string)"error", parameters, null); var extension = new ExtensionMock(application); module.Setup(m => m.GetExtensionNames(Protocol.V5)).Returns(new[] { "test" }); module.Setup(m => m.GetExtension(Protocol.V5, "test")).Returns(extension); application.AddModule(module.Object); request.Stopwatch.Reset(); var response = application.ProcessRequest(request); using (var stream = new StreamReader(response.GetResponseStream())) { var readToEnd = stream.ReadToEnd(); Assert.That(readToEnd, Is.EqualTo("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?><PortalResult Duration=\"0\"><ModuleResults><ModuleResult Fullname=\"Portal\" Duration=\"0\" Count=\"1\"><Results><Error FullName=\"System.ArgumentException\"><Message>Value does not fall within the expected range.</Message></Error></Results></ModuleResult></ModuleResults></PortalResult>")); } }
public void ProcessRequest_RequestWithReturnFormatXml_GetResponseStream() { var application = Make_PortalApplication(); var extension = new ExtensionMock(application); var module = new Mock<IModule>(); var request = Make_TestRequest(); request.Parameters["format"] = "XML2"; module.Setup(m => m.GetExtensionNames(Protocol.V6)).Returns(new[] { "test" }); module.Setup(m => m.GetExtension(Protocol.V6, "test")).Returns(extension); application.AddModule(module.Object); request.Stopwatch.Reset(); var response = application.ProcessRequest(request); using (var stream = new StreamReader(response.GetResponseStream())) { Assert.That(stream.ReadToEnd(), Is.EqualTo("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?><PortalResponse><Header><Duration>0</Duration></Header><Body><Count>1</Count><TotalCount>1</TotalCount><Results><Result FullName=\"Chaos.Portal.Core.Data.Model.ScalarResult\"><Value>1</Value></Result></Results></Body><Error /></PortalResponse>")); } }
public void ProcessRequest_RequestWithReturnFormatXml_ReturnResponseHasReturnFormatXml() { var application = Make_PortalApplication(); var extension = new ExtensionMock(application); var module = new Mock<IModule>(); var request = Make_TestRequest(); module.Setup(m => m.GetExtensionNames(Protocol.V6)).Returns(new[] { "test" }); module.Setup(m => m.GetExtension(Protocol.V6, "test")).Returns(extension); application.AddModule(module.Object); var response = application.ProcessRequest(request); Assert.That(response.ReturnFormat, Is.EqualTo(ReturnFormat.XML)); }