public void It_should_return_a_IRemoraOperation() { var container = new WindsorContainer(); container.Register(Component.For<IRemoraOperation>().ImplementedBy<RemoraOperation>()); var request = _mocks.DynamicMock<IUniversalRequest>(); SetupResult.For(request.Url).Return(new Uri("http://tempuri.org/uri/?foo=bar")); SetupResult.For(request.Headers).Return(new Dictionary<string, string> {{"Content-Type", "text/xml"}}); SetupResult.For(request.InputStream).Return(LoadSample("SimpleHelloWorldRequest.xml")); SetupResult.For(request.ContentEncoding).Return(Encoding.UTF8); _mocks.Replay(request); var factory = new RemoraOperationFactory(container.Kernel, new RemoraConfig()) {Logger = GetConsoleLogger()}; var result = factory.Get(request); Assert.That(result.IncomingUri, Is.EqualTo(request.Url)); Assert.That(result.Request.Uri, Is.EqualTo(request.Url)); Assert.That(result.Request.HttpHeaders.Count(), Is.EqualTo(1)); Assert.That(result.Request.HttpHeaders.First().Key, Is.EqualTo("Content-Type")); Assert.That(result.Request.HttpHeaders.First().Value, Is.EqualTo("text/xml")); Assert.That(result.Request.ContentEncoding, Is.EqualTo(request.ContentEncoding)); Assert.That(result.Request.Data, Is.EqualTo(LoadSample("SimpleHelloWorldRequest.xml").ReadFully(0))); Assert.That(result.ExecutionProperties[RemoraOperationFactory.RequestContextKey], Is.SameAs(request)); }
public void It_should_throw_an_InvalidConfigurationException_when_IRemoraOperation_is_not_registered() { var container = new WindsorContainer(); var factory = new RemoraOperationFactory(container.Kernel, new RemoraConfig()) {Logger = GetConsoleLogger()}; var request = _mocks.DynamicMock<IUniversalRequest>(); SetupResult.For(request.Url).Return(new Uri("http://tempuri.org/uri/?foo=bar")); _mocks.Replay(request); Assert.That(() => factory.Get(request), Throws.Exception.TypeOf<InvalidConfigurationException>() .With.Message.Contains("IRemoraOperation")); }
public void It_should_validate_inputs() { Assert.That(() => new RemoraOperationFactory(null, new RemoraConfig()), Throws.Exception.TypeOf<ArgumentNullException>() .With.Message.Contains("kernel")); var container = new WindsorContainer(); Assert.That(() => new RemoraOperationFactory(container.Kernel, null), Throws.Exception.TypeOf<ArgumentNullException>() .With.Message.Contains("config")); var factory = new RemoraOperationFactory(container.Kernel, new RemoraConfig()); Assert.That(() => factory.Get(null), Throws.Exception.TypeOf<ArgumentNullException>() .With.Message.Contains("request")); }