Esempio n. 1
0
        public void ParseOAuth2ImplicitSecuritySchemeShouldSucceed()
        {
            using (var stream = Resources.GetStream(Path.Combine(SampleFolderPath, "oauth2ImplicitSecurityScheme.yaml")))
            {
                var document   = OpenApiStreamReader.LoadYamlDocument(stream);
                var context    = new ParsingContext();
                var diagnostic = new OpenApiDiagnostic();

                var node = new MapNode(context, diagnostic, (YamlMappingNode)document.RootNode);

                // Act
                var securityScheme = OpenApiV2Deserializer.LoadSecurityScheme(node);

                // Assert
                securityScheme.ShouldBeEquivalentTo(
                    new OpenApiSecurityScheme
                {
                    Type  = SecuritySchemeType.OAuth2,
                    Flows = new OpenApiOAuthFlows
                    {
                        Implicit = new OpenApiOAuthFlow
                        {
                            AuthorizationUrl = new Uri("http://swagger.io/api/oauth/dialog"),
                            Scopes           =
                            {
                                ["write:pets"] = "modify pets in your account",
                                ["read:pets"]  = "read your pets"
                            }
                        }
                    }
                });
            }
        }
Esempio n. 2
0
        public void ParseApiKeySecuritySchemeShouldSucceed()
        {
            using (var stream = Resources.GetStream(Path.Combine(SampleFolderPath, "apiKeySecurityScheme.yaml")))
            {
                var document   = OpenApiStreamReader.LoadYamlDocument(stream);
                var context    = new ParsingContext();
                var diagnostic = new OpenApiDiagnostic();

                var node = new MapNode(context, diagnostic, (YamlMappingNode)document.RootNode);

                // Act
                var securityScheme = OpenApiV2Deserializer.LoadSecurityScheme(node);

                // Assert
                securityScheme.ShouldBeEquivalentTo(
                    new OpenApiSecurityScheme
                {
                    Type = SecuritySchemeType.ApiKey,
                    Name = "api_key",
                    In   = ParameterLocation.Header
                });
            }
        }