public void HateoasResponse_Empty_ThrowsException() { IEnumerable <HateoasLink> links = new HateoasLink[0]; _ = Assert.Throws <ArgumentException>( () => new HateoasResponse(links)); }
public void HateoasLink_UriSelf_NullHref_ThrowsException() { Uri href = null; _ = Assert.Throws <ArgumentNullException>( () => HateoasLink.Self(href)); }
public void HateoasLink_StringSelf_SetsHref() { string href = "https://www.example.com/"; var link = HateoasLink.Self(href); Assert.Equal(href, link.Href.AbsoluteUri); }
public void HateoasLink_UriSelf_SetsHref() { Uri href = new Uri("https://www.example.com/"); var link = HateoasLink.Self(href); Assert.Equal(href, link.Href); }
public void HateoasLinkWrapper_EmptyLinks_ThrowsException() { string content = "string"; IEnumerable <HateoasLink> links = new HateoasLink[] { }; _ = Assert.Throws <ArgumentException>( () => new HateoasLinkWrapper(content, links)); }
private HateoasLink ResourceGetLinkBuilder(TId id, string shape = null, string rel = null) { var s = string.IsNullOrEmpty(shape) ? "" : $"?shape={shape}"; var link = $"{Url.Link(HateoasConfig.ResourceGetRouteName, new { id })}{s}"; return(HateoasLink.Get(link, rel)); }
private HateoasLink ResourcesGetLinkBuilder(object parameters, string rel = null) { var link = Url.Link(HateoasConfig.ResourcesGetRouteName, parameters); link = CollectionConfig.AppendToUrl(link); return(HateoasLink.Collection(link, rel)); }
public void HateoasLink_StringSelf_RelIsSelf() { string href = "https://www.example.com/"; const string self = "self"; var link = HateoasLink.Self(href); Assert.Equal(self, link.Rel); }
public void HateoasLink_UriHref_HrefAcceptsUri() { Uri href = new Uri("https://www.example.com/"); string rel = "rel"; var link = new HateoasLink(href, rel); Assert.Equal(href, link.Href); }
public void HateoasLink_UriSelf_RelIsSelf() { Uri href = new Uri("https://www.example.com/"); const string self = "self"; var link = HateoasLink.Self(href); Assert.Equal(self, link.Rel); }
public void HateoasLink_StringHref_RelAcceptsString() { string href = "https://www.example.com/"; string rel = "rel"; var link = new HateoasLink(href, rel); Assert.Equal(rel, link.Rel); }
public void HateoasLink_StringHref_HrefAcceptsString() { string href = new Uri("https://www.example.com/").AbsoluteUri; string rel = "rel"; var link = new HateoasLink(href, rel); Assert.Equal(href, link.Href.AbsoluteUri); }
public void HateoasLink_Self_SerializedJson_ContainsNecessaryData( string href, string contains) { var link = HateoasLink.Self(href); var serialized = link.ToJson(); Assert.Contains(contains, serialized); }
public void SetLinkType_ShouldSet(string data) { // arrange var link = new HateoasLink(); // act link.AddType(data); // assert Assert.Equal(data, link.Type); }
public void SetLinkHreflang_ShouldSet(string data) { // arrange var link = new HateoasLink(); // act link.AddHreflang(data); // assert Assert.Equal(data, link.Hreflang); }
public void SetLinkMedia_ShouldSet(string data) { // arrange var link = new HateoasLink(); // act link.AddMedia(data); // assert Assert.Equal(data, link.Media); }
public void SetLinkRel_ShouldSet(string data) { // arrange var link = new HateoasLink { // act Rel = data }; // assert Assert.Equal(data, link.Rel); }
public void SetLinkHref_Null_ShouldSetEmpty(string data) { // arrange var link = new HateoasLink { // act Href = data }; // assert Assert.Equal("", link.Href); }
public void CreateLink_ShouldCreateValidLink() { // arrange var link = new HateoasLink(); // act // assert Assert.NotNull(link); Assert.Equal("self", link.Rel); Assert.Equal("GET", link.Method); }
public void HateoasLinkWrapper_LinksContainingNulls_ThrowsException() { string content = "string"; IEnumerable <HateoasLink> links = new HateoasLink[] { new HateoasLink("https://www.example.com/", "rel"), null }; _ = Assert.Throws <ArgumentException>( () => new HateoasLinkWrapper(content, links)); }
public void IsApplicable_And_HasConditionalParameterFunction_ReturnsSameValue <T>(T testee, Func <T, bool> function) where T : Testee { // arrange var newSut = new HateoasLink <T>(typeof(T).Name); var expected = function(testee); var hateoasLink = newSut.HasConditional(function); // act var actual = newSut.IsApplicable(testee); // assert Assert.Same(newSut, hateoasLink); Assert.Equal(expected, actual); }
public void BuildLink_ShouldBuildLink(string routeUrl, string routeUrlController, string routeUrlAction, string linkRef, HttpMethod linkMethod, int linkId) { // arrange // act HateoasLink link = _fixture._linkBuilder.Build(_fixture._mockContext, routeUrl, routeUrlController, routeUrlAction, linkRef, linkMethod, linkId); // assert // Uri uriResult; // bool refIsLink = Uri.TryCreate(link.Href, UriKind.RelativeOrAbsolute, out uriResult) && uriResult.Scheme == Uri.UriSchemeHttp; // TODO: Crash in UrlHelper.RouteUrl, presumably because routing is null?? Assert.True(Uri.IsWellFormedUriString(link.Href, UriKind.RelativeOrAbsolute)); Assert.Equal(link.Method, linkMethod.Method); }
public void Generate_ValidParameters_ReturnsHateoasLinks <T>(T data, string routeName, string url, string method) where T : class { // arrange var expected = new HateoasLink(routeName, url, method); BuildSutDependencies(data, routeName, url, method); // act var links = _sut.Generate(data).ToArray(); // assert links.Should() .NotBeEmpty().And .BeAssignableTo <IEnumerable <HateoasLink> >().And .BeEquivalentTo(new HateoasLink[] { expected }); }
public void Generate_ValidParameters_ReturnsHateoasLinks(HateoasTestData mockData) { // arrange var expected = new HateoasLink(mockData.RouteName, mockData.ExpectedUrl, mockData.Method); MockSutDependencies(mockData); // act var links = _sut.Generate(mockData.RouteValues).ToArray(); // assert links.Should() .NotBeEmpty().And .BeAssignableTo <IEnumerable <HateoasLink> >().And .BeEquivalentTo(new HateoasLink[] { expected }); }
public virtual IHateoasLinksBuilder <TResource, TEntity> AddLink(string reference, HateoasLink link) { Links.Add(reference, link); return(this); }
private HateoasLink ResourceUpsertLinkBuilder(TId id) => HateoasLink.Upsert($"{Url.Link(HateoasConfig.ResourceUpsertRouteName, new { id })}");
private HateoasLink ResourcePatchLinkBuilder(TId id) => HateoasLink.Patch($"{Url.Link(HateoasConfig.ResourcePatchRouteName, new { id })}");
private HateoasLink ResourceDeleteLinkBuilder(TId id) => HateoasLink.Delete($"{Url.Link(HateoasConfig.ResourceDeleteRouteName, new { id })}");
public void HateoasLink_StringSelf_NonUriHref_ThrowsException( string href) { _ = Assert.Throws <UriFormatException>( () => HateoasLink.Self(href)); }
public HateoasLinkFixture() { Sut = new HateoasLink <Testee>("test"); }