@@ -102,7 +102,7 @@ public void testPutDimensions() throws JsonProcessingException {
102
102
}
103
103
104
104
@ Test
105
- public void testPutMultipleDimensionSets () throws JsonProcessingException {
105
+ public void testPutDimensionSetWhenMultipleDimensionSets () throws JsonProcessingException {
106
106
MetricDirective metricDirective = new MetricDirective ();
107
107
metricDirective .putDimensionSet (DimensionSet .of ("Region" , "us-east-1" ));
108
108
metricDirective .putDimensionSet (DimensionSet .of ("Instance" , "inst-1" ));
@@ -115,14 +115,16 @@ public void testPutMultipleDimensionSets() throws JsonProcessingException {
115
115
}
116
116
117
117
@ Test
118
- public void testPutMultipleDuplicateDimensionSets () throws JsonProcessingException {
118
+ public void testPutDimensionSetWhenDuplicateDimensionSets () throws JsonProcessingException {
119
119
MetricDirective metricDirective = new MetricDirective ();
120
+ metricDirective .putDimensionSet (new DimensionSet ());
120
121
metricDirective .putDimensionSet (DimensionSet .of ("Region" , "us-east-1" ));
121
122
metricDirective .putDimensionSet (
122
123
DimensionSet .of ("Region" , "us-east-1" , "Instance" , "inst-1" ));
123
124
metricDirective .putDimensionSet (
124
125
DimensionSet .of ("Instance" , "inst-1" , "Region" , "us-east-1" ));
125
126
metricDirective .putDimensionSet (DimensionSet .of ("Instance" , "inst-1" ));
127
+ metricDirective .putDimensionSet (new DimensionSet ());
126
128
metricDirective .putDimensionSet (DimensionSet .of ("Region" , "us-east-1" ));
127
129
metricDirective .putDimensionSet (
128
130
DimensionSet .of ("Region" , "us-east-1" , "Instance" , "inst-1" ));
@@ -134,7 +136,33 @@ public void testPutMultipleDuplicateDimensionSets() throws JsonProcessingExcepti
134
136
135
137
assertEquals (
136
138
serializedMetricDirective ,
137
- "{\" Dimensions\" :[[\" Region\" ],[\" Region\" ,\" Instance\" ],[\" Instance\" ]],\" Metrics\" :[],\" Namespace\" :\" aws-embedded-metrics\" }" );
139
+ "{\" Dimensions\" :[[],[\" Region\" ],[\" Instance\" ,\" Region\" ],[\" Instance\" ]],\" Metrics\" :[],\" Namespace\" :\" aws-embedded-metrics\" }" );
140
+ }
141
+
142
+ @ Test
143
+ public void testPutDimensionSetWhenDuplicateDimensionSetsWillSortCorrectly ()
144
+ throws JsonProcessingException {
145
+ MetricDirective metricDirective = new MetricDirective ();
146
+ metricDirective .putDimensionSet (new DimensionSet ());
147
+ metricDirective .putDimensionSet (DimensionSet .of ("Region" , "us-east-1" ));
148
+ metricDirective .putDimensionSet (
149
+ DimensionSet .of ("Region" , "us-east-1" , "Instance" , "inst-1" ));
150
+ metricDirective .putDimensionSet (
151
+ DimensionSet .of ("Instance" , "inst-1" , "Region" , "us-east-1" ));
152
+ metricDirective .putDimensionSet (DimensionSet .of ("Instance" , "inst-1" ));
153
+ metricDirective .putDimensionSet (
154
+ DimensionSet .of ("Region" , "us-east-1" , "Instance" , "inst-1" ));
155
+ metricDirective .putDimensionSet (
156
+ DimensionSet .of ("Instance" , "inst-1" , "Region" , "us-east-1" ));
157
+ metricDirective .putDimensionSet (DimensionSet .of ("Instance" , "inst-1" ));
158
+ metricDirective .putDimensionSet (DimensionSet .of ("Region" , "us-east-1" ));
159
+ metricDirective .putDimensionSet (new DimensionSet ());
160
+
161
+ String serializedMetricDirective = objectMapper .writeValueAsString (metricDirective );
162
+
163
+ assertEquals (
164
+ serializedMetricDirective ,
165
+ "{\" Dimensions\" :[[\" Instance\" ,\" Region\" ],[\" Instance\" ],[\" Region\" ],[]],\" Metrics\" :[],\" Namespace\" :\" aws-embedded-metrics\" }" );
138
166
}
139
167
140
168
@ Test
0 commit comments