public void Link_generated_is_correct_with_simple_template() { var resourceLinker = new ResourceLinker("http://localhost"); var uriString = resourceLinker.BuildUriString("/foo", "/bar", new {}); Assert.That(uriString, Is.EqualTo("http://localhost/foo/bar")); }
public void Link_generated_is_correct_when_base_uri_has_trailing_slash() { var resourceLinker = new ResourceLinker("http://localhost/"); var uriString = resourceLinker.BuildUriString("/foo", "", new {}); Assert.That(uriString, Is.EqualTo("http://localhost/foo")); }
public void Link_generated_is_correct_with_bound_parameter() { var resourceLinker = new ResourceLinker("http://localhost"); var uriString = resourceLinker.BuildUriString("/foo", "/bar/{id}", new {id = 123}); Assert.That(uriString, Is.EqualTo("http://localhost/foo/bar/123")); }
public void Argument_exception_is_thrown_if_parameter_from_template_cannot_be_bound() { var resourceLinker = new ResourceLinker("http://localhost"); var exception = Assert.Throws<ArgumentException>(() => resourceLinker.BuildUriString("/foo", "/bar/{id}", new {})); Assert.That(exception.Message, Is.EqualTo( "The path variable 'ID' in the UriTemplate must be bound to a non-empty string value.\r\nParameter name: parameters")); }