public void ShouldEmitSystemTextJsonPropertyName() { // Arrange var mvcOutputFormatter = new MvcOutputFormatter(FormatterOptions.WithSystemTextJsonFormatter, new FakeLoggerFactory()); var responseExample = new ResponseExample(mvcOutputFormatter); var sut = new ServiceProviderExamplesOperationFilter(serviceProvider, null, responseExample); var response = new OpenApiResponse { Content = new Dictionary <string, OpenApiMediaType> { { "application/json", new OpenApiMediaType() } } }; var operation = new OpenApiOperation { OperationId = "foobar", Responses = new OpenApiResponses() }; operation.Responses.Add("200", response); var filterContext = FilterContextFor(typeof(FakeActions), nameof(FakeActions.AnnotatedWithSwaggerResponseAttribute)); SetSwaggerResponses(operation, filterContext); // Act sut.Apply(operation, filterContext); // Assert string jsonExample = ((OpenApiRawString)response.Content["application/json"].Example).Value; var expectedExample = new PersonResponseAutoExample().GetExamples(); jsonExample.ShouldContain($"\"lastagain\": \"{expectedExample.LastName}\"", Case.Sensitive); }
public ServiceProviderExamplesOperationFilterWithXmlDataContractTests() { serviceProvider = Substitute.For <IServiceProvider>(); serviceProvider.GetService(typeof(IExamplesProvider <PersonResponse>)).Returns(new PersonResponseAutoExample()); var mvcOutputFormatter = new MvcOutputFormatter(FormatterOptions.WithXmlDataContractFormatter, new FakeLoggerFactory()); sut = new ServiceProviderExamplesOperationFilter( serviceProvider, new RequestExample(mvcOutputFormatter, Options.Create(new Swagger.SwaggerOptions())), new ResponseExample(mvcOutputFormatter)); }
public ServiceProviderExamplesOperationFilterTests() { schemaGeneratorOptions = new SchemaGeneratorOptions(); var mvcOutputFormatter = new MvcOutputFormatter(FormatterOptions.WithXmlAndNewtonsoftJsonFormatters, new FakeLoggerFactory()); var requestExample = new RequestExample(mvcOutputFormatter, Options.Create(swaggerOptions)); var responseExample = new ResponseExample(mvcOutputFormatter); serviceProvider = Substitute.For <IServiceProvider>(); serviceProvider.GetService(typeof(IExamplesProvider <PersonResponse>)).Returns(new PersonResponseAutoExample()); sut = new ServiceProviderExamplesOperationFilter(serviceProvider, requestExample, responseExample); }
public ServiceProviderExamplesOperationFilterWithXmlDataContractTests() { serviceProvider = Substitute.For <IServiceProvider>(); serviceProvider.GetService(typeof(IExamplesProvider <PersonResponse>)).Returns(new PersonResponseAutoExample()); var jsonFormatter = new JsonFormatter(); var serializerSettingsDuplicator = new SerializerSettingsDuplicator( Options.Create(new MvcJsonOptions()), Options.Create(new SchemaGeneratorOptions())); var mvcOutputFormatter = new MvcOutputFormatter(FormatterOptions.WithXmlDataContractFormatter, new FakeLoggerFactory()); sut = new ServiceProviderExamplesOperationFilter( serviceProvider, new RequestExample(jsonFormatter, serializerSettingsDuplicator, mvcOutputFormatter), new ResponseExample(jsonFormatter, serializerSettingsDuplicator, mvcOutputFormatter)); }
public ServiceProviderExamplesOperationFilterTests() { var mvcJsonOptions = Options.Create(new MvcJsonOptions()); schemaGeneratorOptions = new SchemaGeneratorOptions(); var serializerSettingsDuplicator = new SerializerSettingsDuplicator(mvcJsonOptions, Options.Create(schemaGeneratorOptions)); var jsonFormatter = new JsonFormatter(); var mvcOutputFormatter = new MvcOutputFormatter(FormatterOptions.WithoutFormatters, new FakeLoggerFactory()); var requestExample = new RequestExample(jsonFormatter, serializerSettingsDuplicator, mvcOutputFormatter, Options.Create(swaggerOptions)); var responseExample = new ResponseExample(jsonFormatter, serializerSettingsDuplicator, mvcOutputFormatter); serviceProvider = Substitute.For <IServiceProvider>(); serviceProvider.GetService(typeof(IExamplesProvider <PersonResponse>)).Returns(new PersonResponseAutoExample()); sut = new ServiceProviderExamplesOperationFilter(serviceProvider, requestExample, responseExample); }
internal static string XmlSerialize <T>(this T value, MvcOutputFormatter mvcOutputFormatter) { if (mvcOutputFormatter == null) { throw new ArgumentNullException(nameof(mvcOutputFormatter)); } try { return(mvcOutputFormatter .Serialize(value, ApplicationXml) .FormatXml()); } catch (MvcOutputFormatter.FormatterNotFoundException) { return(value.XmlSerialize()); } }
public GivenAMvcFormatterWithOutputFormattersButNoLoggerFactory_WhenSerializingAnObject() { sut = new MvcOutputFormatter(FormatterOptions.WithXmlDataContractFormatter, null); }