Exemple #1
0
        public static void AssertHasLinkWithKeyAndQuery(JArray linksArray, List <string> linkRelations, string routeNameLinking, string keyObjectString = null, string queryString = null)
        {
            var foundLink = false;

            foreach (var link in linksArray)
            {
                if (!(link is JObject linkObject))
                {
                    throw new Exception("Link array item should be a JObject");
                }

                var relationArray       = (JArray)linkObject["rel"];
                var sirenRelations      = relationArray.Values <string>().ToList();
                var hasDesiredRelations = StringReadOnlyListComparer.Equals(sirenRelations, linkRelations);

                if (hasDesiredRelations)
                {
                    AssertRoute(((JValue)linkObject["href"]).Value <string>(), routeNameLinking, keyObjectString, queryString);

                    foundLink = true;
                    break;
                }
            }

            Assert.IsTrue(foundLink);
        }
Exemple #2
0
        private static void AssertMediaTypes(IReadOnlyCollection <string> expectedAvailableMediaType, JToken typeToken)
        {
            var mediaTypesFromJToken             = typeToken.Value <string>().Split(',').ToList();
            var stringReadOnlyCollectionComparer = new StringReadOnlyCollectionComparer();
            var hasDesiredMediaTypes             = stringReadOnlyCollectionComparer.Equals(expectedAvailableMediaType, mediaTypesFromJToken);

            Assert.IsTrue(hasDesiredMediaTypes, $"Expected media types do not match {string.Join(",", expectedAvailableMediaType)} <-> {string.Join(",", mediaTypesFromJToken)}");
        }
Exemple #3
0
        private static void AssertLink(JObject linkObject, string rel, string expectedUrl, IReadOnlyCollection <string> expectedAvailableMediaTypes)
        {
            var relationArray       = (JArray)linkObject["rel"];
            var sirenRelations      = relationArray.Values <string>().ToList();
            var stringListComparer  = new StringReadOnlyCollectionComparer();
            var hasDesiredRelations = stringListComparer.Equals(sirenRelations, new List <string> {
                rel
            });

            Assert.IsTrue(hasDesiredRelations);
            Assert.AreEqual(expectedUrl, ((JValue)linkObject["href"]).Value <string>());

            var typeParameter = linkObject["type"];

            if (typeParameter == null)
            {
                Assert.IsTrue(expectedAvailableMediaTypes.Count == 0, $"Expected media types: {string.Join(",", expectedAvailableMediaTypes)}");
            }
            else
            {
                AssertMediaTypes(expectedAvailableMediaTypes, linkObject["type"]);
            }
        }
 public void Compare_Null_ReturnsTrue()
 {
     Assert.IsTrue(stringReadOnlyListComparer.Equals(null, null));
 }