11using System . Collections . Generic ;
22using Amazon . SimpleSystemsManagement ;
33using Amazon . SimpleSystemsManagement . Model ;
4- using Moq ;
54using Xunit ;
65
76namespace Amazon . Extensions . Configuration . SystemsManager . Tests
87{
98 public class DefaultParameterProcessorTests
109 {
11- private readonly IParameterProcessor _parameterProcessor ;
10+ private readonly IParameterProcessor _parameterProcessor = new DefaultParameterProcessor ( ) ;
1211
13- public DefaultParameterProcessorTests ( )
12+ [ Fact ]
13+ public void ExtractConfigurationKeyFromParameter ( )
1414 {
15- _parameterProcessor = new DefaultParameterProcessor ( ) ;
15+ var processor = new DefaultParameterProcessor ( ) ;
16+
17+ Assert . Equal ( "level1:level2" , processor . GetKey ( new Parameter ( ) { Name = "/level1/level2" } , "" ) ) ;
18+ Assert . Equal ( "level1:level2" , processor . GetKey ( new Parameter ( ) { Name = "/level1/level2" } , "/" ) ) ;
19+ Assert . Equal ( "level1:level2" , processor . GetKey ( new Parameter ( ) { Name = "/level1/level2" } , "/someotherlevel" ) ) ;
20+
21+ Assert . Equal ( "level2:level3" , processor . GetKey ( new Parameter ( ) { Name = "/level1/level2/level3" } , "/level1" ) ) ;
22+ Assert . Equal ( "level2" , processor . GetKey ( new Parameter ( ) { Name = "/level1/level2" } , "/LEVEL1" ) ) ;
23+ }
24+
25+ [ Fact ]
26+ public void ExtractConfigurationValueFromParameter ( )
27+ {
28+ var processor = new DefaultParameterProcessor ( ) ;
29+
30+ Assert . Equal ( "Some value" , processor . GetValue ( new Parameter ( ) { Value = "Some value" } , null ) ) ;
1631 }
1732
1833 [ Fact ]
1934 public void ProcessParametersTest ( )
2035 {
2136 var parameters = new List < Parameter >
2237 {
23- new Parameter { Name = "/start/path/p1/p2-1" , Value = "p1:p2-1" } ,
24- new Parameter { Name = "/start/path/p1/p2-2" , Value = "p1:p2-2" } ,
25- new Parameter { Name = "/start/path/p1/p2/p3-1" , Value = "p1:p2:p3-1" } ,
26- new Parameter { Name = "/start/path/p1/p2/p3-2" , Value = "p1:p2:p3-2" } ,
38+ new Parameter { Name = "/start/path/p1/p2-1" , Value = "p1:p2-1" } ,
39+ new Parameter { Name = "/start/path/p1/p2-2" , Value = "p1:p2-2" } ,
40+ new Parameter { Name = "/start/path/p1/p2/p3-1" , Value = "p1:p2:p3-1" } ,
41+ new Parameter { Name = "/start/path/p1/p2/p3-2" , Value = "p1:p2:p3-2" } ,
2742 } ;
2843
2944 const string path = "/start/path" ;
@@ -38,9 +53,9 @@ public void ProcessParametersStringListTest()
3853 {
3954 var parameters = new List < Parameter >
4055 {
41- new Parameter { Name = "/string-list/single" , Value = "p1" , Type = ParameterType . StringList } ,
42- new Parameter { Name = "/string-list/multiple" , Value = "p1,p2,p3" , Type = ParameterType . StringList } ,
43- new Parameter { Name = "/string-list/empty" , Value = "" , Type = ParameterType . StringList } ,
56+ new Parameter { Name = "/string-list/single" , Value = "p1" , Type = ParameterType . StringList } ,
57+ new Parameter { Name = "/string-list/multiple" , Value = "p1,p2,p3" , Type = ParameterType . StringList } ,
58+ new Parameter { Name = "/string-list/empty" , Value = "" , Type = ParameterType . StringList } ,
4459 } ;
4560
4661 const string path = "/string-list" ;
@@ -55,14 +70,14 @@ public void ProcessParametersStringListTest()
5570 Assert . Equal ( "" , data [ "empty:0" ] ) ;
5671 }
5772
58-
73+
5974 [ Fact ]
6075 public void ProcessParametersRootTest ( )
6176 {
6277 var parameters = new List < Parameter >
6378 {
64- new Parameter { Name = "/p1" , Value = "p1" } ,
65- new Parameter { Name = "p2" , Value = "p2" } ,
79+ new Parameter { Name = "/p1" , Value = "p1" } ,
80+ new Parameter { Name = "p2" , Value = "p2" } ,
6681 } ;
6782
6883 const string path = "/" ;
@@ -77,8 +92,8 @@ public void DuplicateSimpleParametersTest()
7792 {
7893 var parameters = new List < Parameter >
7994 {
80- new Parameter { Name = "/start/path/p1" , Value = "p1:1" } ,
81- new Parameter { Name = "/start/path/P1" , Value = "p1:2" }
95+ new Parameter { Name = "/start/path/p1" , Value = "p1:1" } ,
96+ new Parameter { Name = "/start/path/P1" , Value = "p1:2" }
8297 } ;
8398
8499 const string path = "/start/path" ;
@@ -90,8 +105,8 @@ public void DuplicateStringListParametersTest()
90105 {
91106 var parameters = new List < Parameter >
92107 {
93- new Parameter { Name = "/string-list/multiple" , Value = "p1,p2,p3" , Type = ParameterType . StringList } ,
94- new Parameter { Name = "/string-list/MULTIPLE" , Value = "p3,p5,p6" , Type = ParameterType . StringList }
108+ new Parameter { Name = "/string-list/multiple" , Value = "p1,p2,p3" , Type = ParameterType . StringList } ,
109+ new Parameter { Name = "/string-list/MULTIPLE" , Value = "p3,p5,p6" , Type = ParameterType . StringList }
95110 } ;
96111
97112 const string path = "/string-list" ;
0 commit comments