コード例 #1
0
        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));
        }
コード例 #2
0
        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"));
        }
コード例 #3
0
        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"));
        }