Skip to content

Commit 74a336b

Browse files
committed
Merge branch 'mk/add-filter-commandOption' into mk/add-filter-by-tags
2 parents 68fc2de + 3c43ea1 commit 74a336b

File tree

4 files changed

+14
-35
lines changed

4 files changed

+14
-35
lines changed

src/Microsoft.OpenApi.Tool/OpenApiService.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@ namespace Microsoft.OpenApi.Tool
1616
{
1717
static class OpenApiService
1818
{
19-
public const string GraphVersion_V1 = "v1.0";
20-
public const string Title = "Partial Graph API";
21-
2219
public static void ProcessOpenApiDocument(
2320
string input,
2421
FileInfo output,
@@ -50,7 +47,7 @@ public static void ProcessOpenApiDocument(
5047
if (!string.IsNullOrEmpty(filterbyOperationId))
5148
{
5249
var predicate = OpenApiFilterService.CreatePredicate(filterbyOperationId);
53-
document = OpenApiFilterService.CreateFilteredDocument(document, Title, GraphVersion_V1, predicate);
50+
document = OpenApiFilterService.CreateFilteredDocument(document, predicate);
5451
}
5552

5653
var context = result.OpenApiDiagnostic;

src/Microsoft.OpenApi/Services/OpenApiFilterService.cs

Lines changed: 7 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,6 @@ namespace Microsoft.OpenApi.Services
1313
/// </summary>
1414
public static class OpenApiFilterService
1515
{
16-
public static readonly string GraphAuthorizationUrl = "https://login.microsoftonline.com/common/oauth2/v2.0/authorize";
17-
public static readonly string GraphTokenUrl = "https://login.microsoftonline.com/common/oauth2/v2.0/token";
18-
public static readonly string GraphUrl = "https://graph.microsoft.com/{0}/";
19-
public const string GraphVersion_V1 = "v1.0";
20-
2116
/// <summary>
2217
/// Create predicate function based on passed query parameters
2318
/// </summary>
@@ -55,41 +50,25 @@ public static Func<OpenApiOperation, bool> CreatePredicate(string operationIds)
5550
/// Create partial OpenAPI document based on the provided predicate.
5651
/// </summary>
5752
/// <param name="source">The target <see cref="OpenApiDocument"/>.</param>
58-
/// <param name="title">The OpenAPI document title.</param>
59-
/// <param name="graphVersion">Version of the target Microsoft Graph API.</param>
6053
/// <param name="predicate">A predicate function.</param>
6154
/// <returns>A partial OpenAPI document.</returns>
62-
public static OpenApiDocument CreateFilteredDocument(OpenApiDocument source, string title, string graphVersion, Func<OpenApiOperation, bool> predicate)
55+
public static OpenApiDocument CreateFilteredDocument(OpenApiDocument source, Func<OpenApiOperation, bool> predicate)
6356
{
57+
// Fetch and copy title, graphVersion and server info from OpenApiDoc
6458
var subset = new OpenApiDocument
6559
{
6660
Info = new OpenApiInfo()
6761
{
68-
Title = title,
69-
Version = graphVersion
62+
Title = source.Info.Title,
63+
Version = source.Info.Version
7064
},
7165

7266
Components = new OpenApiComponents()
7367
};
74-
var aadv2Scheme = new OpenApiSecurityScheme()
75-
{
76-
Type = SecuritySchemeType.OAuth2,
77-
Flows = new OpenApiOAuthFlows()
78-
{
79-
AuthorizationCode = new OpenApiOAuthFlow()
80-
{
81-
AuthorizationUrl = new Uri(GraphAuthorizationUrl),
82-
TokenUrl = new Uri(GraphTokenUrl)
83-
}
84-
},
85-
Reference = new OpenApiReference() { Id = "azureaadv2", Type = ReferenceType.SecurityScheme },
86-
UnresolvedReference = false
87-
};
88-
subset.Components.SecuritySchemes.Add("azureaadv2", aadv2Scheme);
89-
90-
subset.SecurityRequirements.Add(new OpenApiSecurityRequirement() { { aadv2Scheme, Array.Empty<string>() } });
9168

92-
subset.Servers.Add(new OpenApiServer() { Description = "Core", Url = string.Format(GraphUrl, graphVersion) });
69+
subset.Components.SecuritySchemes = source.Components.SecuritySchemes;
70+
subset.SecurityRequirements = source.SecurityRequirements;
71+
subset.Servers = source.Servers;
9372

9473
var results = FindOperations(source, predicate);
9574
foreach (var result in results)

test/Microsoft.OpenApi.Tests/Documents/OpenApiDocumentMock.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ public static OpenApiDocument CreateOpenApiDocument()
2323

2424
var document = new OpenApiDocument()
2525
{
26+
Info = new OpenApiInfo()
27+
{
28+
Title = "People",
29+
Version = "v1.0"
30+
},
2631
Paths = new OpenApiPaths()
2732
{
2833
["/"] = new OpenApiPathItem() // root path

test/Microsoft.OpenApi.Tests/Services/OpenApiFilterServiceTests.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ namespace Microsoft.OpenApi.Tests.Services
1111
{
1212
public class OpenApiFilterServiceTests
1313
{
14-
private const string Title = "Partial Graph API";
15-
private const string GraphVersion = "mock";
1614
private readonly OpenApiDocument _openApiDocumentMock;
1715

1816
public OpenApiFilterServiceTests()
@@ -29,7 +27,7 @@ public void ReturnFilteredOpenApiDocumentBasedOnOperationIds(string operationId)
2927
{
3028
// Act
3129
var predicate = OpenApiFilterService.CreatePredicate(operationId);
32-
var subsetOpenApiDocument = OpenApiFilterService.CreateFilteredDocument(_openApiDocumentMock, Title, GraphVersion, predicate);
30+
var subsetOpenApiDocument = OpenApiFilterService.CreateFilteredDocument(_openApiDocumentMock, predicate);
3331

3432
// Assert
3533
Assert.NotNull(subsetOpenApiDocument);

0 commit comments

Comments
 (0)