public void GetSampleResponses_FromActionSamples_WhenTheReturnTypeIsHttpResponseMessage()
        {
            HelpPageSampleGenerator sampleGenerator = new HelpPageSampleGenerator();
            var sample = new TextSample("test");

            sampleGenerator.ActionSamples.Add(new HelpPageSampleKey(new MediaTypeHeaderValue("plain/text"), SampleDirection.Response, "Values", "Post", new[] { "value" }), sample);
            ApiDescription apiDescription = ApiDescriptionHelpers.GetApiDescription(null, "Values", "Post", "value");
            IDictionary <MediaTypeHeaderValue, object> samples = sampleGenerator.GetSampleResponses(apiDescription);

            Assert.NotEmpty(samples);
            object result;

            samples.TryGetValue(new MediaTypeHeaderValue("plain/text"), out result);
            Assert.Same(sample, result);
            samples.TryGetValue(new MediaTypeHeaderValue("application/json"), out result);
            Assert.Null(result);
        }
        public void GetSampleRequests_FromActionSamples_BasedOnMediaTypeAndType()
        {
            HelpPageSampleGenerator sampleGenerator = new HelpPageSampleGenerator();
            var sample = new TextSample("test");

            sampleGenerator.ActionSamples.Add(new HelpPageSampleKey(new MediaTypeHeaderValue("application/json"), typeof(Tuple <int, string>)), sample);
            ApiDescription apiDescription = ApiDescriptionHelpers.GetApiDescription(null, "Values", "Patch", "valuePair");
            IDictionary <MediaTypeHeaderValue, object> samples = sampleGenerator.GetSampleRequests(apiDescription);

            Assert.NotEmpty(samples);
            object result;

            samples.TryGetValue(new MediaTypeHeaderValue("application/json"), out result);
            Assert.Same(sample, result);
            samples.TryGetValue(new MediaTypeHeaderValue("application/xml"), out result);
            Assert.NotSame(sample, result);
        }
        public void GetSampleResponses_FromActionSamples_BasedOnMediaTypeAndNames()
        {
            HelpPageSampleGenerator sampleGenerator = new HelpPageSampleGenerator();
            var sample = new TextSample("test");

            sampleGenerator.ActionSamples.Add(new HelpPageSampleKey(new MediaTypeHeaderValue("application/xml"), SampleDirection.Response, "Values", "Get", new[] { "id" }), sample);
            ApiDescription apiDescription = ApiDescriptionHelpers.GetApiDescription(null, "Values", "Get", "id");
            IDictionary <MediaTypeHeaderValue, object> samples = sampleGenerator.GetSampleResponses(apiDescription);

            Assert.NotEmpty(samples);
            object result;

            samples.TryGetValue(new MediaTypeHeaderValue("application/xml"), out result);
            Assert.Same(sample, result);
            samples.TryGetValue(new MediaTypeHeaderValue("application/json"), out result);
            Assert.NotSame(sample, result);
        }
예제 #4
0
        public void GetSampleRequests_FromSampleObjects()
        {
            HelpPageSampleGenerator sampleGenerator = new HelpPageSampleGenerator();

            sampleGenerator.SampleObjects.Add(typeof(string), "sample value");
            ApiDescription apiDescription = ApiDescriptionHelpers.GetApiDescription(
                null,
                "Values",
                "Post",
                "value"
                );
            IDictionary <MediaTypeHeaderValue, object> samples = sampleGenerator.GetSampleRequests(
                apiDescription
                );

            Assert.NotEmpty(samples);
            foreach (var samplePair in samples)
            {
                Assert.Contains("sample value", ((TextSample)samplePair.Value).Text);
            }
        }