public void GetPathByAddressReturnsCorrectODataPathWithPathBase(string pathBase) { // Arrange int address = 1; IPerRouteContainer container = new PerRouteContainer(); container.AddRoute("odata", "ms/{data}"); IServiceProvider serviceProvider = new ServiceCollection() .AddSingleton <IPerRouteContainer>(container) .BuildServiceProvider(); HttpContext httpContext = new DefaultHttpContext { RequestServices = serviceProvider }; httpContext.Request.PathBase = pathBase; httpContext.ODataFeature().RouteName = "odata"; RouteValueDictionary values = new RouteValueDictionary(); values["odataPath"] = ""; RouteValueDictionary ambientValues = new RouteValueDictionary(); ambientValues["data"] = 2; // Act Mock <LinkGenerator> mock = new Mock <LinkGenerator>(); ODataEndpointLinkGenerator linkGenerator = new ODataEndpointLinkGenerator(mock.Object); string path = linkGenerator.GetPathByAddress(httpContext, address, values, ambientValues); // Assert Assert.Equal(pathBase + "/ms/2", path); }
public void BindPrefixTemplateWithGuidParameterWorksAsExpected(string prefix, string expect) { // Arrange RouteValueDictionary values = new RouteValueDictionary ( new { tid = "003890b9972e4092aef80e882f1e0999" } ); // Act string actual = ODataEndpointLinkGenerator.BindPrefixTemplate(prefix, values, null); // Assert Assert.Equal(expect, actual); }
public void BindPrefixTemplateWorksAsExpected(string prefix, string expect) { // Arrange RouteValueDictionary values = new RouteValueDictionary ( new { abc = "abcValue", xyz = "xyzValue" } ); // Act string actual = ODataEndpointLinkGenerator.BindPrefixTemplate(prefix, values, null); // Assert Assert.Equal(expect, actual); }
public void GetUriByAddressCallInnerLinkGeneratorGetUriByAddress() { // Arrange int address = 1; RouteValueDictionary values = new RouteValueDictionary(); FragmentString fragment = new FragmentString(); Mock <LinkGenerator> mock = new Mock <LinkGenerator>(); HttpContext httpContext = new DefaultHttpContext(); mock.Setup(g => g.GetUriByAddress(httpContext, address, values, null, null, null, null, fragment, null)).Verifiable(); // Act ODataEndpointLinkGenerator linkGenerator = new ODataEndpointLinkGenerator(mock.Object); linkGenerator.GetUriByAddress(httpContext, address, values, null, null, null, null, fragment, null); // Assert mock.Verify(); }
public void GetPathByAddressCallInnerLinkGeneratorGetPathByAddress() { // Arrange int address = 1; RouteValueDictionary values = new RouteValueDictionary(); PathString pathBase = new PathString(); FragmentString fragment = new FragmentString(); LinkOptions options = null; Mock <LinkGenerator> mock = new Mock <LinkGenerator>(); mock.Setup(g => g.GetPathByAddress(address, values, pathBase, fragment, options)).Verifiable(); // Act ODataEndpointLinkGenerator linkGenerator = new ODataEndpointLinkGenerator(mock.Object); linkGenerator.GetPathByAddress(address, values, pathBase, fragment, options); // Assert mock.Verify(); }