Esempio n. 1
0
        public NapClientTests()
        {
            _url      = "http://example.com/test";
            _otherUrl = "http://foobar.com/test";

            _handler = new TestHandler();
            _fixture = new Fixture().Customize(new AutoFakeItEasyCustomization());
#if IMMUTABLE
            var config =
                NapConfig.Default.SetMetadataBehavior(true)
                .ConfigureAdvanced(a => a.SetClientCreator(objRequest =>
            {
                _handler.CookieContainer = new CookieContainer();
                var request = (NapRequest)objRequest;
                foreach (var cookie in request.Cookies)
                {
                    _handler.CookieContainer.Add(cookie.Item1, cookie.Item2);
                }
                return(new HttpClient(_handler));
            }));
            _fixture.Inject(config);
            _nap = new NapClient(config);
#else
            _nap = new NapClient {
                Config = { FillMetadata = true }
            };
            _nap.Config.Advanced.ClientCreator = request =>
            {
                _handler.CookieContainer = new CookieContainer();
                foreach (var cookie in request.Cookies)
                {
                    _handler.CookieContainer.Add(cookie.Item1, cookie.Item2);
                }
                return(new HttpClient(_handler));
            };
            _plugin = _fixture.Freeze <IPlugin>();
            A.CallTo(() => _plugin.Configure(A <INapConfig> ._)).Returns(_fixture.Freeze <NapConfig>());
            A.CallTo(() => _plugin.Prepare(A <NapRequest> ._)).Returns(_napRequest as NapRequest);
            A.CallTo(() => _plugin.Execute <Result>(A <INapRequest> ._)).Returns(null);
            A.CallTo(() => _plugin.Process(A <NapResponse> ._)).Returns(null);
#endif

            _config     = _fixture.Freeze <NapConfig>();
            _napRequest = _fixture.Freeze <INapRequest>();
        }
Esempio n. 2
0
 /// <summary>
 /// Executes the <see cref="INapRequest"/>, and obtains content from HTTP.
 /// </summary>
 /// <param name="request">The request being executed.</param>
 /// <returns>An instance of an <see cref="object"/> object if applicable; otherwise, null to use other plugin or default behavior.</returns>
 public virtual T Execute <T>(INapRequest request) where T : class => null;