@@ -62,153 +62,153 @@ Describe 'Tests for MCP server' {
62
62
Send-McpRequest - request $notifyInitialized - notify
63
63
}
64
64
65
- # It 'Tools/List works' {
66
- # $mcpRequest = @{
67
- # jsonrpc = "2.0"
68
- # id = 2
69
- # method = "tools/list"
70
- # params = @{}
71
- # }
65
+ It ' Tools/List works' {
66
+ $mcpRequest = @ {
67
+ jsonrpc = " 2.0"
68
+ id = 2
69
+ method = " tools/list"
70
+ params = @ {}
71
+ }
72
72
73
- # $tools = @{
74
- # 'list_dsc_functions' = $false
75
- # 'list_dsc_resources' = $false
76
- # 'show_dsc_resource' = $false
77
- # }
73
+ $tools = @ {
74
+ ' list_dsc_functions' = $false
75
+ ' list_dsc_resources' = $false
76
+ ' show_dsc_resource' = $false
77
+ }
78
78
79
- # $response = Send-McpRequest -request $mcpRequest
80
- # $response.id | Should -Be 2
81
- # $response.result.tools.Count | Should -Be $tools.Count
82
- # foreach ($tool in $response.result.tools) {
83
- # $tools.ContainsKey($tool.name) | Should -Be $true
84
- # $tools[$tool.name] = $true
85
- # $tool.description | Should -Not -BeNullOrEmpty
86
- # }
87
- # foreach ($tool in $tools.GetEnumerator()) {
88
- # $tool.Value | Should -Be $true -Because "Tool '$($tool.Key)' was not found in the list of tools"
89
- # }
90
- # }
79
+ $response = Send-McpRequest - request $mcpRequest
80
+ $response.id | Should - Be 2
81
+ $response.result.tools.Count | Should - Be $tools.Count
82
+ foreach ($tool in $response.result.tools ) {
83
+ $tools.ContainsKey ($tool.name ) | Should - Be $true
84
+ $tools [$tool.name ] = $true
85
+ $tool.description | Should -Not - BeNullOrEmpty
86
+ }
87
+ foreach ($tool in $tools.GetEnumerator ()) {
88
+ $tool.Value | Should - Be $true - Because " Tool '$ ( $tool.Key ) ' was not found in the list of tools"
89
+ }
90
+ }
91
91
92
- # It 'Calling list_dsc_resources works' {
93
- # $mcpRequest = @{
94
- # jsonrpc = "2.0"
95
- # id = 3
96
- # method = "tools/call"
97
- # params = @{
98
- # name = "list_dsc_resources"
99
- # arguments = @{}
100
- # }
101
- # }
92
+ It ' Calling list_dsc_resources works' {
93
+ $mcpRequest = @ {
94
+ jsonrpc = " 2.0"
95
+ id = 3
96
+ method = " tools/call"
97
+ params = @ {
98
+ name = " list_dsc_resources"
99
+ arguments = @ {}
100
+ }
101
+ }
102
102
103
- # $response = Send-McpRequest -request $mcpRequest
104
- # $response.id | Should -BeGreaterOrEqual 3
105
- # $resources = dsc resource list | ConvertFrom-Json -Depth 20 | Select-Object type, kind, description -Unique
106
- # $response.result.structuredContent.resources.Count | Should -Be $resources.Count
107
- # for ($i = 0; $i -lt $resources.Count; $i++) {
108
- # ($response.result.structuredContent.resources[$i].psobject.properties | Measure-Object).Count | Should -BeGreaterOrEqual 3
109
- # $response.result.structuredContent.resources[$i].type | Should -BeExactly $resources[$i].type -Because ($response.result.structuredContent | ConvertTo-Json -Depth 20 | Out-String)
110
- # $response.result.structuredContent.resources[$i].kind | Should -BeExactly $resources[$i].kind -Because ($response.result.structuredContent | ConvertTo-Json -Depth 20 | Out-String)
111
- # $response.result.structuredContent.resources[$i].description | Should -BeExactly $resources[$i].description -Because ($response.result.structuredContent | ConvertTo-Json -Depth 20 | Out-String)
112
- # }
113
- # }
103
+ $response = Send-McpRequest - request $mcpRequest
104
+ $response.id | Should - BeGreaterOrEqual 3
105
+ $resources = dsc resource list | ConvertFrom-Json - Depth 20 | Select-Object type, kind, description - Unique
106
+ $response.result.structuredContent.resources.Count | Should - Be $resources.Count
107
+ for ($i = 0 ; $i -lt $resources.Count ; $i ++ ) {
108
+ ($response.result.structuredContent.resources [$i ].psobject.properties | Measure-Object ).Count | Should - BeGreaterOrEqual 3
109
+ $response.result.structuredContent.resources [$i ].type | Should - BeExactly $resources [$i ].type - Because ($response.result.structuredContent | ConvertTo-Json - Depth 20 | Out-String )
110
+ $response.result.structuredContent.resources [$i ].kind | Should - BeExactly $resources [$i ].kind - Because ($response.result.structuredContent | ConvertTo-Json - Depth 20 | Out-String )
111
+ $response.result.structuredContent.resources [$i ].description | Should - BeExactly $resources [$i ].description - Because ($response.result.structuredContent | ConvertTo-Json - Depth 20 | Out-String )
112
+ }
113
+ }
114
114
115
- # It 'Calling list_dsc_resources with adapter works' {
116
- # $mcpRequest = @{
117
- # jsonrpc = "2.0"
118
- # id = 4
119
- # method = "tools/call"
120
- # params = @{
121
- # name = "list_dsc_resources"
122
- # arguments = @{
123
- # adapter = "Microsoft.DSC/PowerShell"
124
- # }
125
- # }
126
- # }
115
+ It ' Calling list_dsc_resources with adapter works' {
116
+ $mcpRequest = @ {
117
+ jsonrpc = " 2.0"
118
+ id = 4
119
+ method = " tools/call"
120
+ params = @ {
121
+ name = " list_dsc_resources"
122
+ arguments = @ {
123
+ adapter = " Microsoft.DSC/PowerShell"
124
+ }
125
+ }
126
+ }
127
127
128
- # $response = Send-McpRequest -request $mcpRequest
129
- # $response.id | Should -Be 4
130
- # $resources = dsc resource list --adapter Microsoft.DSC/PowerShell | ConvertFrom-Json -Depth 20
131
- # $response.result.structuredContent.resources.Count | Should -Be $resources.Count
132
- # for ($i = 0; $i -lt $resources.Count; $i++) {
133
- # ($response.result.structuredContent.resources[$i].psobject.properties | Measure-Object).Count | Should -Be 4
134
- # $response.result.structuredContent.resources[$i].type | Should -BeExactly $resources[$i].type -Because ($response.result.structuredContent | ConvertTo-Json -Depth 20 | Out-String)
135
- # $response.result.structuredContent.resources[$i].require_adapter | Should -BeExactly $resources[$i].require_adapter -Because ($response.result.structuredContent | ConvertTo-Json -Depth 20 | Out-String)
136
- # $response.result.structuredContent.resources[$i].description | Should -BeExactly $resources[$i].description -Because ($response.result.structuredContent | ConvertTo-Json -Depth 20 | Out-String)
137
- # }
138
- # }
128
+ $response = Send-McpRequest - request $mcpRequest
129
+ $response.id | Should - Be 4
130
+ $resources = dsc resource list -- adapter Microsoft.DSC/ PowerShell | ConvertFrom-Json - Depth 20
131
+ $response.result.structuredContent.resources.Count | Should - Be $resources.Count
132
+ for ($i = 0 ; $i -lt $resources.Count ; $i ++ ) {
133
+ ($response.result.structuredContent.resources [$i ].psobject.properties | Measure-Object ).Count | Should - Be 4
134
+ $response.result.structuredContent.resources [$i ].type | Should - BeExactly $resources [$i ].type - Because ($response.result.structuredContent | ConvertTo-Json - Depth 20 | Out-String )
135
+ $response.result.structuredContent.resources [$i ].require_adapter | Should - BeExactly $resources [$i ].require_adapter - Because ($response.result.structuredContent | ConvertTo-Json - Depth 20 | Out-String )
136
+ $response.result.structuredContent.resources [$i ].description | Should - BeExactly $resources [$i ].description - Because ($response.result.structuredContent | ConvertTo-Json - Depth 20 | Out-String )
137
+ }
138
+ }
139
139
140
- # It 'Calling list_dsc_resources with <adapter> returns error' -TestCases @(
141
- # @{"adapter" = "Non.Existent/Adapter"},
142
- # @{"adapter" = "Microsoft.DSC.Debug/Echo"}
143
- # ) {
144
- # param($adapter)
140
+ It ' Calling list_dsc_resources with <adapter> returns error' - TestCases @ (
141
+ @ {" adapter" = " Non.Existent/Adapter" },
142
+ @ {" adapter" = " Microsoft.DSC.Debug/Echo" }
143
+ ) {
144
+ param ($adapter )
145
145
146
- # $mcpRequest = @{
147
- # jsonrpc = "2.0"
148
- # id = 5
149
- # method = "tools/call"
150
- # params = @{
151
- # name = "list_dsc_resources"
152
- # arguments = @{
153
- # adapter = $adapter
154
- # }
155
- # }
156
- # }
146
+ $mcpRequest = @ {
147
+ jsonrpc = " 2.0"
148
+ id = 5
149
+ method = " tools/call"
150
+ params = @ {
151
+ name = " list_dsc_resources"
152
+ arguments = @ {
153
+ adapter = $adapter
154
+ }
155
+ }
156
+ }
157
157
158
- # $response = Send-McpRequest -request $mcpRequest
159
- # $response.id | Should -Be 5
160
- # $response.error.code | Should -Be -32602
161
- # $response.error.message | Should -Not -BeNullOrEmpty
162
- # }
158
+ $response = Send-McpRequest - request $mcpRequest
159
+ $response.id | Should - Be 5
160
+ $response.error.code | Should - Be -32602
161
+ $response.error.message | Should -Not - BeNullOrEmpty
162
+ }
163
163
164
- # It 'Calling show_dsc_resource works' {
165
- # $resource = (dsc resource list | Select-Object -First 1 | ConvertFrom-Json -Depth 20)
164
+ It ' Calling show_dsc_resource works' {
165
+ $resource = (dsc resource list | Select-Object - First 1 | ConvertFrom-Json - Depth 20 )
166
166
167
- # $mcpRequest = @{
168
- # jsonrpc = "2.0"
169
- # id = 6
170
- # method = "tools/call"
171
- # params = @{
172
- # name = "show_dsc_resource"
173
- # arguments = @{
174
- # type = $resource.type
175
- # }
176
- # }
177
- # }
167
+ $mcpRequest = @ {
168
+ jsonrpc = " 2.0"
169
+ id = 6
170
+ method = " tools/call"
171
+ params = @ {
172
+ name = " show_dsc_resource"
173
+ arguments = @ {
174
+ type = $resource.type
175
+ }
176
+ }
177
+ }
178
178
179
- # $response = Send-McpRequest -request $mcpRequest
180
- # $response.id | Should -Be 6
181
- # ($response.result.structuredContent.psobject.properties | Measure-Object).Count | Should -BeGreaterOrEqual 4
182
- # $because = ($response.result.structuredContent | ConvertTo-Json -Depth 20 | Out-String)
183
- # $response.result.structuredContent.type | Should -BeExactly $resource.type -Because $because
184
- # $response.result.structuredContent.kind | Should -BeExactly $resource.kind -Because $because
185
- # $response.result.structuredContent.version | Should -Be $resource.version -Because $because
186
- # $response.result.structuredContent.capabilities | Should -Be $resource.capabilities -Because $because
187
- # $response.result.structuredContent.description | Should -Be $resource.description -Because $because
188
- # $schema = (dsc resource schema --resource $resource.type | ConvertFrom-Json -Depth 20)
189
- # $response.result.structuredContent.schema.'$id' | Should -Be $schema.'$id' -Because $because
190
- # $response.result.structuredContent.schema.type | Should -Be $schema.type -Because $because
191
- # $response.result.structuredContent.schema.properties.keys | Should -Be $schema.properties.keys -Because $because
192
- # }
179
+ $response = Send-McpRequest - request $mcpRequest
180
+ $response.id | Should - Be 6
181
+ ($response.result.structuredContent.psobject.properties | Measure-Object ).Count | Should - BeGreaterOrEqual 4
182
+ $because = ($response.result.structuredContent | ConvertTo-Json - Depth 20 | Out-String )
183
+ $response.result.structuredContent.type | Should - BeExactly $resource.type - Because $because
184
+ $response.result.structuredContent.kind | Should - BeExactly $resource.kind - Because $because
185
+ $response.result.structuredContent.version | Should - Be $resource.version - Because $because
186
+ $response.result.structuredContent.capabilities | Should - Be $resource.capabilities - Because $because
187
+ $response.result.structuredContent.description | Should - Be $resource.description - Because $because
188
+ $schema = (dsc resource schema -- resource $resource.type | ConvertFrom-Json - Depth 20 )
189
+ $response.result.structuredContent.schema .' $id' | Should - Be $schema .' $id' - Because $because
190
+ $response.result.structuredContent.schema.type | Should - Be $schema.type - Because $because
191
+ $response.result.structuredContent.schema.properties.keys | Should - Be $schema.properties.keys - Because $because
192
+ }
193
193
194
- # It 'Calling show_dsc_resource with non-existent resource returns error' {
195
- # $mcpRequest = @{
196
- # jsonrpc = "2.0"
197
- # id = 7
198
- # method = "tools/call"
199
- # params = @{
200
- # name = "show_dsc_resource"
201
- # arguments = @{
202
- # type = "Non.Existent/Resource"
203
- # }
204
- # }
205
- # }
194
+ It ' Calling show_dsc_resource with non-existent resource returns error' {
195
+ $mcpRequest = @ {
196
+ jsonrpc = " 2.0"
197
+ id = 7
198
+ method = " tools/call"
199
+ params = @ {
200
+ name = " show_dsc_resource"
201
+ arguments = @ {
202
+ type = " Non.Existent/Resource"
203
+ }
204
+ }
205
+ }
206
206
207
- # $response = Send-McpRequest -request $mcpRequest
208
- # $response.id | Should -Be 7
209
- # $response.error.code | Should -Be -32602
210
- # $response.error.message | Should -Not -BeNullOrEmpty
211
- # }
207
+ $response = Send-McpRequest - request $mcpRequest
208
+ $response.id | Should - Be 7
209
+ $response.error.code | Should - Be -32602
210
+ $response.error.message | Should -Not - BeNullOrEmpty
211
+ }
212
212
213
213
It ' Calling list_dsc_functions works' {
214
214
$mcpRequest = @ {
0 commit comments