Exemple #1
0
            protected override void Arrange()
            {
                var configValueProvider = new NameValueCollectionConfigValueProvider();

                configValueProvider.Values.Add("UseReverseProxyHeaders", "true");

                _openApiMetadataCacheProvider = Stub <IOpenApiMetadataCacheProvider>();

                _openApiMetadataCacheProvider.Stub(x => x.GetOpenApiContentByFeedName(Arg <string> .Is.Anything))
                .Return(OpenApiMetadataHelper.GetIdentityContent());

                _controller = new OpenApiMetadataController(_openApiMetadataCacheProvider, configValueProvider);
                var config  = new HttpConfiguration();
                var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/metadata");
                var route   = config.Routes.MapHttpRoute("default", "{controller}");

                config.Routes.MapHttpRoute(
                    "OAuthAuthorize",
                    "oauth/authorize",
                    new
                {
                    controller = "Authorize"
                });

                config.Routes.MapHttpRoute(
                    "OAuthToken",
                    "oauth/token",
                    new
                {
                    controller = "Token"
                });

                var routeData = new HttpRouteData(
                    route,
                    new HttpRouteValueDictionary
                {
                    {
                        "controller", "metadata"
                    }
                });

                _controller.ControllerContext = new HttpControllerContext(config, routeData, request);
                _controller.Request           = request;
                _controller.Url = new UrlHelper(request);
                _controller.Request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
                _controller.RequestContext.VirtualPathRoot = "/";

                _controller.Request.Headers.Add(XForwardedProto, "https");
                _controller.Request.Headers.Add(XForwardedHost, "api.com");
                _controller.Request.Headers.Add(XForwardedPort, "443");
            }
 public void SetUp()
 {
     SystemUnderTest = new NameValueCollectionConfigValueProvider(MockNext)
     {
         Values = new NameValueCollection()
         {
             {
                 KeyForStringValue, ValueForStringValue
             },
             {
                 KeyForBoolValue, "true"
             }
         }
     };
 }