public void SingleIdTemplate_GetIdComponents() { var template = new SingleIdTemplate <SessionSeriesComponents>( "{+BaseUrl}api/{EventType}/{SessionSeriesId}/events/{ScheduledSessionId}" ); template.RequiredBaseUrl = new Uri("https://example.com/"); var components = template.GetIdComponents(new Uri("https://example.com/api/session-series/asdf/events/123")); Assert.Equal("session-series", components.EventType); Assert.Equal("asdf", components.SessionSeriesId); Assert.Equal(123, components.ScheduledSessionId); }
public void SingleIdTemplate_GetIdComponents_UrlEncoded() { var template = new SingleIdTemplate <SessionSeriesComponents>( "{+BaseUrl}api/{EventType}/{SessionSeriesId}/events/{ScheduledSessionId}" ); template.RequiredBaseUrl = new Uri("https://example.com/"); var components = template.GetIdComponents(new Uri("https://example.com/api/session-series/2020-02-23T17%3A30%3A00Z/events/123")); Assert.Equal("session-series", components.EventType); Assert.Equal("2020-02-23T17:30:00Z", components.SessionSeriesId); Assert.Equal(123, components.ScheduledSessionId); }
public void SingleIdTemplate_RenderId_UrlEncoded() { var template = new SingleIdTemplate <SessionSeriesComponents>( "{+BaseUrl}api/{EventType}/{SessionSeriesId}/events/{ScheduledSessionId}" ); template.RequiredBaseUrl = new Uri("https://example.com/"); var uri = new Uri("https://example.com/api/session-series/2020-02-23T17%3A30%3A00Z/events/123"); var components = template.GetIdComponents(uri); var outputUri = template.RenderId(components); Assert.Equal(uri, outputUri); }