Skip to content

Commit 3adf04f

Browse files
User provided dml-tools property serialization (#2952)
## Why make this change? This PR addresses the issue where with serialization of `dml-tools` property for user-provided (non-default) values. This is a follow up to the fix made for the functionality of `dml-tools` property- #2927 ## What is this change? If `dml-tools` is not configured, this property should not be serialized. Serialization should only be done for user provided configuration. So, any value explicitly set or configured by the user for `dml-tools` will be serialized. `dml-tools` can either have either of the below values- - A boolean value- true or false. This is a global value to enable or disable all DML tools and `UserProvidedAllTools` is written in JSON - A dictionary object of individual tool name and boolean values. This contains individual tool specific values and only the specified tools will be taken for JSON writing and unspecified tool names will be ignored. ## How was this tested? - [x] Integration Tests - [x] Unit Tests - [x] Manual Tests Sample scenarios for testing- **Scenario 1:** Enable all tools using a single boolean value `"dml-tools": true` Note: default is true so even if `dml-tools` unspecified it will default to true. **Scenario 2:** Disable `execute-entities` only and keep other tools enabled as default. ``` "dml-tools": { "execute-entities": false } ``` **Scenario 3:** Use full list of tools and enable or disable them ``` "dml-tools": { "execute-entity": true, "delete-record": false, "update-record": false, "read-records": false, "describe-entities": true } ``` --------- Co-authored-by: Aniruddh Munde <[email protected]>
1 parent 3b48c49 commit 3adf04f

File tree

45 files changed

+333
-322
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+333
-322
lines changed

src/Cli.Tests/ConfigGeneratorTests.cs

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -165,15 +165,7 @@ public void TestSpecialCharactersInConnectionString()
165165
},
166166
""mcp"": {
167167
""enabled"": true,
168-
""path"": ""/mcp"",
169-
""dml-tools"":{
170-
""describe-entities"": true,
171-
""create-record"": true,
172-
""read-records"": true,
173-
""update-record"": true,
174-
""delete-record"": true,
175-
""execute-entity"":true
176-
}
168+
""path"": ""/mcp""
177169
},
178170
""host"": {
179171
""cors"": {

src/Cli.Tests/Snapshots/EndToEndTests.TestAddingStoredProcedureWithRestMethodsAndGraphQLOperations.verified.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@
2727
UpdateRecord: true,
2828
DeleteRecord: true,
2929
ExecuteEntity: true,
30-
UserProvidedAllToolsEnabled: false,
31-
UserProvidedDescribeEntities: true,
32-
UserProvidedCreateRecord: true,
33-
UserProvidedReadRecords: true,
34-
UserProvidedUpdateRecord: true,
35-
UserProvidedDeleteRecord: true,
36-
UserProvidedExecuteEntity: true
30+
UserProvidedAllTools: false,
31+
UserProvidedDescribeEntities: false,
32+
UserProvidedCreateRecord: false,
33+
UserProvidedReadRecords: false,
34+
UserProvidedUpdateRecord: false,
35+
UserProvidedDeleteRecord: false,
36+
UserProvidedExecuteEntity: false
3737
}
3838
},
3939
Host: {

src/Cli.Tests/Snapshots/EndToEndTests.TestConfigGeneratedAfterAddingEntityWithSourceAsStoredProcedure.verified.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@
2727
UpdateRecord: true,
2828
DeleteRecord: true,
2929
ExecuteEntity: true,
30-
UserProvidedAllToolsEnabled: false,
31-
UserProvidedDescribeEntities: true,
32-
UserProvidedCreateRecord: true,
33-
UserProvidedReadRecords: true,
34-
UserProvidedUpdateRecord: true,
35-
UserProvidedDeleteRecord: true,
36-
UserProvidedExecuteEntity: true
30+
UserProvidedAllTools: false,
31+
UserProvidedDescribeEntities: false,
32+
UserProvidedCreateRecord: false,
33+
UserProvidedReadRecords: false,
34+
UserProvidedUpdateRecord: false,
35+
UserProvidedDeleteRecord: false,
36+
UserProvidedExecuteEntity: false
3737
}
3838
},
3939
Host: {

src/Cli.Tests/Snapshots/EndToEndTests.TestConfigGeneratedAfterAddingEntityWithSourceWithDefaultType.verified.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@
2727
UpdateRecord: true,
2828
DeleteRecord: true,
2929
ExecuteEntity: true,
30-
UserProvidedAllToolsEnabled: false,
31-
UserProvidedDescribeEntities: true,
32-
UserProvidedCreateRecord: true,
33-
UserProvidedReadRecords: true,
34-
UserProvidedUpdateRecord: true,
35-
UserProvidedDeleteRecord: true,
36-
UserProvidedExecuteEntity: true
30+
UserProvidedAllTools: false,
31+
UserProvidedDescribeEntities: false,
32+
UserProvidedCreateRecord: false,
33+
UserProvidedReadRecords: false,
34+
UserProvidedUpdateRecord: false,
35+
UserProvidedDeleteRecord: false,
36+
UserProvidedExecuteEntity: false
3737
}
3838
},
3939
Host: {

src/Cli.Tests/Snapshots/EndToEndTests.TestConfigGeneratedAfterAddingEntityWithoutIEnumerables.verified.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@
2727
UpdateRecord: true,
2828
DeleteRecord: true,
2929
ExecuteEntity: true,
30-
UserProvidedAllToolsEnabled: false,
31-
UserProvidedDescribeEntities: true,
32-
UserProvidedCreateRecord: true,
33-
UserProvidedReadRecords: true,
34-
UserProvidedUpdateRecord: true,
35-
UserProvidedDeleteRecord: true,
36-
UserProvidedExecuteEntity: true
30+
UserProvidedAllTools: false,
31+
UserProvidedDescribeEntities: false,
32+
UserProvidedCreateRecord: false,
33+
UserProvidedReadRecords: false,
34+
UserProvidedUpdateRecord: false,
35+
UserProvidedDeleteRecord: false,
36+
UserProvidedExecuteEntity: false
3737
}
3838
},
3939
Host: {

src/Cli.Tests/Snapshots/EndToEndTests.TestInitForCosmosDBNoSql.verified.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@
2828
UpdateRecord: true,
2929
DeleteRecord: true,
3030
ExecuteEntity: true,
31-
UserProvidedAllToolsEnabled: false,
32-
UserProvidedDescribeEntities: true,
33-
UserProvidedCreateRecord: true,
34-
UserProvidedReadRecords: true,
35-
UserProvidedUpdateRecord: true,
36-
UserProvidedDeleteRecord: true,
37-
UserProvidedExecuteEntity: true
31+
UserProvidedAllTools: false,
32+
UserProvidedDescribeEntities: false,
33+
UserProvidedCreateRecord: false,
34+
UserProvidedReadRecords: false,
35+
UserProvidedUpdateRecord: false,
36+
UserProvidedDeleteRecord: false,
37+
UserProvidedExecuteEntity: false
3838
}
3939
},
4040
Host: {

src/Cli.Tests/Snapshots/EndToEndTests.TestUpdatingStoredProcedureWithRestMethods.verified.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@
2727
UpdateRecord: true,
2828
DeleteRecord: true,
2929
ExecuteEntity: true,
30-
UserProvidedAllToolsEnabled: false,
31-
UserProvidedDescribeEntities: true,
32-
UserProvidedCreateRecord: true,
33-
UserProvidedReadRecords: true,
34-
UserProvidedUpdateRecord: true,
35-
UserProvidedDeleteRecord: true,
36-
UserProvidedExecuteEntity: true
30+
UserProvidedAllTools: false,
31+
UserProvidedDescribeEntities: false,
32+
UserProvidedCreateRecord: false,
33+
UserProvidedReadRecords: false,
34+
UserProvidedUpdateRecord: false,
35+
UserProvidedDeleteRecord: false,
36+
UserProvidedExecuteEntity: false
3737
}
3838
},
3939
Host: {

src/Cli.Tests/Snapshots/EndToEndTests.TestUpdatingStoredProcedureWithRestMethodsAndGraphQLOperations.verified.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@
2727
UpdateRecord: true,
2828
DeleteRecord: true,
2929
ExecuteEntity: true,
30-
UserProvidedAllToolsEnabled: false,
31-
UserProvidedDescribeEntities: true,
32-
UserProvidedCreateRecord: true,
33-
UserProvidedReadRecords: true,
34-
UserProvidedUpdateRecord: true,
35-
UserProvidedDeleteRecord: true,
36-
UserProvidedExecuteEntity: true
30+
UserProvidedAllTools: false,
31+
UserProvidedDescribeEntities: false,
32+
UserProvidedCreateRecord: false,
33+
UserProvidedReadRecords: false,
34+
UserProvidedUpdateRecord: false,
35+
UserProvidedDeleteRecord: false,
36+
UserProvidedExecuteEntity: false
3737
}
3838
},
3939
Host: {

src/Cli.Tests/Snapshots/InitTests.CosmosDbNoSqlDatabase.verified.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@
2828
UpdateRecord: true,
2929
DeleteRecord: true,
3030
ExecuteEntity: true,
31-
UserProvidedAllToolsEnabled: true,
32-
UserProvidedDescribeEntities: true,
33-
UserProvidedCreateRecord: true,
34-
UserProvidedReadRecords: true,
35-
UserProvidedUpdateRecord: true,
36-
UserProvidedDeleteRecord: true,
37-
UserProvidedExecuteEntity: true
31+
UserProvidedAllTools: false,
32+
UserProvidedDescribeEntities: false,
33+
UserProvidedCreateRecord: false,
34+
UserProvidedReadRecords: false,
35+
UserProvidedUpdateRecord: false,
36+
UserProvidedDeleteRecord: false,
37+
UserProvidedExecuteEntity: false
3838
}
3939
},
4040
Host: {

src/Cli.Tests/Snapshots/InitTests.CosmosDbPostgreSqlDatabase.verified.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@
2424
UpdateRecord: true,
2525
DeleteRecord: true,
2626
ExecuteEntity: true,
27-
UserProvidedAllToolsEnabled: true,
28-
UserProvidedDescribeEntities: true,
29-
UserProvidedCreateRecord: true,
30-
UserProvidedReadRecords: true,
31-
UserProvidedUpdateRecord: true,
32-
UserProvidedDeleteRecord: true,
33-
UserProvidedExecuteEntity: true
27+
UserProvidedAllTools: false,
28+
UserProvidedDescribeEntities: false,
29+
UserProvidedCreateRecord: false,
30+
UserProvidedReadRecords: false,
31+
UserProvidedUpdateRecord: false,
32+
UserProvidedDeleteRecord: false,
33+
UserProvidedExecuteEntity: false
3434
}
3535
},
3636
Host: {

0 commit comments

Comments
 (0)