Skip to content

Commit 1f8e4c6

Browse files
committed
fix case-insensitivity of resource type names
1 parent b947aba commit 1f8e4c6

File tree

4 files changed

+14
-14
lines changed

4 files changed

+14
-14
lines changed

dsc/tests/dsc_config_get.tests.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@ Describe 'dsc config get tests' {
3737
`$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/config/document.json
3838
resources:
3939
- name: Echo
40-
type: Test/Echo
40+
type: test/echo
4141
properties:
4242
output: hello
4343
"@
4444
$result = $config_yaml | dsc config get --format pretty-json | ConvertFrom-Json
4545
$result.hadErrors | Should -BeFalse
4646
$result.results.Count | Should -Be 1
4747
$result.results[0].Name | Should -Be 'Echo'
48-
$result.results[0].type | Should -BeExactly 'Test/Echo'
48+
$result.results[0].type | Should -BeExactly 'test/echo'
4949
$result.results[0].result.actualState.output | Should -Be 'hello'
5050
$result.metadata.'Microsoft.DSC'.version | Should -BeLike '3.*'
5151
$result.metadata.'Microsoft.DSC'.operation | Should -BeExactly 'Get'

dsc_lib/src/discovery/command_discovery.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ impl ResourceDiscovery for CommandDiscovery {
309309
{
310310
// remove the resource from the list of required resources
311311
remaining_required_resource_types.retain(|x| *x != resource_name.to_lowercase());
312-
found_resources.insert(resource_name.clone(), resource.clone());
312+
found_resources.insert(resource_name.to_lowercase(), resource.clone());
313313
if remaining_required_resource_types.is_empty()
314314
{
315315
return Ok(found_resources);
@@ -330,7 +330,7 @@ impl ResourceDiscovery for CommandDiscovery {
330330
{
331331
// remove the adapter from the list of required resources
332332
remaining_required_resource_types.retain(|x| *x != adapter_name.to_lowercase());
333-
found_resources.insert(adapter_name.clone(), adapter.clone());
333+
found_resources.insert(adapter_name.to_lowercase(), adapter.clone());
334334
if remaining_required_resource_types.is_empty()
335335
{
336336
return Ok(found_resources);
@@ -349,10 +349,10 @@ impl ResourceDiscovery for CommandDiscovery {
349349
if remaining_required_resource_types.contains(&adapted_name.to_lowercase())
350350
{
351351
remaining_required_resource_types.retain(|x| *x != adapted_name.to_lowercase());
352-
found_resources.insert(adapted_name.clone(), adapted_resource.clone());
352+
found_resources.insert(adapted_name.to_lowercase(), adapted_resource.clone());
353353

354354
// also insert the adapter
355-
found_resources.insert(adapter_name.clone(), adapter.clone());
355+
found_resources.insert(adapter_name.to_lowercase(), adapter.clone());
356356
if remaining_required_resource_types.is_empty()
357357
{
358358
return Ok(found_resources);

dsc_lib/src/discovery/mod.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ impl Discovery {
2727
}
2828

2929
/// List operation for getting available resources based on the filters.
30-
///
30+
///
3131
/// # Arguments
32-
///
32+
///
3333
/// * `type_name_filter` - The filter for the resource type name.
3434
/// * `adapter_name_filter` - The filter for the adapter name.
35-
///
35+
///
3636
/// # Returns
37-
///
37+
///
3838
/// A vector of `DscResource` instances.
3939
pub fn list_available_resources(&mut self, type_name_filter: &str, adapter_name_filter: &str) -> Vec<DscResource> {
4040
let discovery_types: Vec<Box<dyn ResourceDiscovery>> = vec![
@@ -65,13 +65,13 @@ impl Discovery {
6565

6666
#[must_use]
6767
pub fn find_resource(&self, type_name: &str) -> Option<&DscResource> {
68-
self.resources.get(type_name)
68+
self.resources.get(&type_name.to_lowercase())
6969
}
7070

7171
/// Find resources based on the required resource types.
72-
///
72+
///
7373
/// # Arguments
74-
///
74+
///
7575
/// * `required_resource_types` - The required resource types.
7676
pub fn find_resources(&mut self, required_resource_types: &[String]) {
7777
let discovery_types: Vec<Box<dyn ResourceDiscovery>> = vec![

osinfo/tests/osinfo.tests.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
Describe 'osinfo resource tests' {
55
It 'should get osinfo' {
6-
$out = dsc resource get -r Microsoft/OSInfo | ConvertFrom-Json
6+
$out = dsc resource get -r Microsoft/osInfo | ConvertFrom-Json
77
$LASTEXITCODE | Should -Be 0
88
if ($IsWindows) {
99
$out.actualState.family | Should -BeExactly 'Windows'

0 commit comments

Comments
 (0)