public void ParseOperationWithBodyTwiceShouldYieldSameObject()
        {
            // Arrange
            MapNode node;

            using (var stream = new MemoryStream(
                       Encoding.Default.GetBytes(_operationWithBody.SerializeAsYaml(OpenApiSpecVersion.OpenApi2_0))))
            {
                node = TestHelper.CreateYamlMapNode(stream);
            }

            // Act
            var operation = OpenApiV2Deserializer.LoadOperation(node);

            // Assert
            operation.Should().BeEquivalentTo(_operationWithBody);
        }
        public void GenerationDoesNotThrow()
        {
            var provider = new Mock <IWebHookTriggerProvider>();

            provider.Setup(p => p.GetAvailableTriggers()).Returns(new Dictionary <string, WebHookTrigger>
            {
                ["my.trigger"] = new WebHookTrigger
                {
                    Description = "blabla",
                    Id          = "my.trigger",
                    Schema      = new OpenApiSchema
                    {
                        Type       = "object",
                        Properties = new Dictionary <string, OpenApiSchema> {
                            ["prop1"] = new OpenApiSchema {
                                Type = "string"
                            }
                        }
                    }
                },
                ["my.trigger.2"] = new WebHookTrigger
                {
                    Description = "blabla2",
                    Id          = "my.trigger.2",
                    Schema      = new OpenApiSchema
                    {
                        Type       = "object",
                        Properties = new Dictionary <string, OpenApiSchema> {
                            ["prop2"] = new OpenApiSchema {
                                Type = "integer"
                            }
                        }
                    }
                }
            });

            var filter    = new WebHookSubscriptionFilter(provider.Object);
            var context   = new OperationFilterContext(null, new SchemaGenerator(new SchemaGeneratorOptions(), null), new SchemaRepository(), typeof(CallbackGeneratorTests).GetMethod(nameof(WebHookSubscriptionFilterTests)));
            var operation = new OpenApiOperation();

            filter.Apply(operation, context);

            var json = operation.SerializeAsJson(OpenApiSpecVersion.OpenApi3_0);
            var yaml = operation.SerializeAsYaml(OpenApiSpecVersion.OpenApi3_0);
        }