Example #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RdfSerializer" /> class.
        /// </summary>
        /// <param name="serialization">The output serialization.</param>
        /// <param name="entitySerializer">The entity serializer.</param>
        protected RdfSerializer(RdfSerialization serialization, IEntitySerializer entitySerializer)
        {
            this.serialization    = serialization;
            this.entitySerializer = entitySerializer;

            this.nodeFactory = new NodeFactory();
        }
Example #2
0
        public void Should_support_serialization(RdfSerialization serialization)
        {
            // given
            var deserializer = new NonJsonLdRdfBodyDeserializer(A.Fake <IEntitySerializer>());

            // when
            deserializer.CanDeserialize(serialization.MediaType, new BindingContext());
        }
        /// <summary>
        /// Replaces blank accept header with Turtle.
        /// </summary>
        /// <param name="serialization">The RDF format to return by default.</param>
        /// <returns>the Accept header coercion convention</returns>
        public static CoerceAcceptHeaders CoerceBlankAcceptHeader(RdfSerialization serialization)
        {
            return((currentAcceptHeaders, context) =>
            {
                var current = currentAcceptHeaders as Tuple <string, decimal>[] ?? currentAcceptHeaders.ToArray();

                return !current.Any() ? new[] { Tuple.Create(serialization.MediaType, 1m) } : current;
            });
        }
Example #4
0
        public void Deserialize_should_convert_to_ntriples(
            [ValueSource(nameof(NonJsonLdSerializations))] RdfSerialization serialization,
            [Values(typeof(Notation3Parser), typeof(TurtleParser), typeof(RdfXmlParser))] Type serializerType)
        {
            // given
            var converter    = A.Fake <IRdfConverter>();
            var deserializer = new NonJsonLdRdfBodyDeserializer(A.Fake <IEntitySerializer>(), converter);
            var body         = new MemoryStream();

            // when
            deserializer.Deserialize(serialization.MediaType, body, this.bindingContext);

            // then
            A.CallTo(() => converter.ConvertToNtriples(body, A <IRdfReader> .That.Matches(rr => rr.GetType() == serializerType))).MustHaveHappened();
        }
        public async Task ShouldRedirectRDFRequestsToDocument(
            [ValueSource(nameof(PathsToRedirect))] Tuple <string, string> path,
            [ValueSource(nameof(RdfMediaTypes))] RdfSerialization media)
        {
            // given
            var expectedReditectLocation = new Uri(BaseUri + string.Format("{0}", path.Item2));

            // when
            var response = await browser.Get(path.Item1, context =>
            {
                context.Accept(media.MediaType);
                context.HostName("wikibus.org");
            });

            // then
            response.StatusCode.Should().Be(HttpStatusCode.SeeOther);
            response.Headers["Location"].Should().Be(expectedReditectLocation.ToString());
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="RdfResponseProcessor"/> class.
 /// </summary>
 /// <param name="serialization">The supported serialization.</param>
 /// <param name="serializers">The serializers.</param>
 protected RdfResponseProcessor(RdfSerialization serialization, IEnumerable <ISerializer> serializers)
 {
     this.serialization = serialization;
     this.serializer    = serializers.Cast <IRdfSerializer>().FirstOrDefault(s => s.CanSerialize(serialization.MediaType));
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="CompressingSerializer" /> class.
 /// </summary>
 /// <param name="rdfSerialization">The RDF serialization.</param>
 /// <param name="entitySerializer">The entity serializer.</param>
 /// <param name="namespaces">The namespace mapper.</param>
 protected CompressingSerializer(RdfSerialization rdfSerialization, IEntitySerializer entitySerializer, INamespaceManager namespaces)
     : base(rdfSerialization, entitySerializer)
 {
     this.namespaces = namespaces;
 }