7
7
import com .amazon .aoc .fileconfigs .PredefinedExpectedTemplate ;
8
8
import com .amazon .aoc .models .CloudWatchContext ;
9
9
import com .amazon .aoc .models .Context ;
10
- import com .amazon .aoc .models .ValidationConfig ;
11
10
import com .amazon .aoc .services .CloudWatchService ;
12
11
import com .amazonaws .services .cloudwatch .model .MetricDataResult ;
13
12
import org .junit .Test ;
@@ -23,12 +22,6 @@ public class ContainerInsightPrometheusMetricsValidatorTest {
23
22
24
23
@ Test
25
24
public void testValidationSucceed () throws Exception {
26
- // fake a validation config
27
- ValidationConfig validationConfig = new ValidationConfig ();
28
- validationConfig .setCallingType ("http" );
29
- validationConfig .setExpectedMetricTemplate (
30
- PredefinedExpectedTemplate .CONTAINER_INSIGHT_EKS_PROMETHEUS_METRIC .name ());
31
-
32
25
// mock cloudwatch service
33
26
CloudWatchService cloudWatchService = mock (CloudWatchService .class );
34
27
List <MetricDataResult > metricDataResults = new ArrayList <>();
@@ -39,9 +32,7 @@ public void testValidationSucceed() throws Exception {
39
32
ContainerInsightPrometheusMetricsValidator validator =
40
33
new ContainerInsightPrometheusMetricsValidator ();
41
34
validator .init (
42
- getContext (),
43
- validationConfig ,
44
- null ,
35
+ getContext (), null , null ,
45
36
PredefinedExpectedTemplate .CONTAINER_INSIGHT_EKS_PROMETHEUS_METRIC
46
37
);
47
38
validator .setCloudWatchService (cloudWatchService );
@@ -50,6 +41,25 @@ public void testValidationSucceed() throws Exception {
50
41
validator .validate ();
51
42
}
52
43
44
+ @ Test
45
+ public void tesECS () throws Exception {
46
+ CloudWatchService cloudWatchService = mock (CloudWatchService .class );
47
+ List <MetricDataResult > metricDataResults = new ArrayList <>();
48
+ metricDataResults .add (new MetricDataResult ().withStatusCode ("200" ).withValues (1.0 ));
49
+ when (cloudWatchService .getMetricData (any (), any (), any ())).thenReturn (metricDataResults );
50
+
51
+ ContainerInsightPrometheusMetricsValidator validator =
52
+ new ContainerInsightPrometheusMetricsValidator ();
53
+ validator .init (
54
+ getECSContext (), null , null ,
55
+ PredefinedExpectedTemplate .CONTAINER_INSIGHT_ECS_PROMETHEUS_METRIC
56
+ );
57
+ validator .setCloudWatchService (cloudWatchService );
58
+ validator .setMaxRetryCount (1 );
59
+ validator .setInitialSleepTime (0 );
60
+ validator .validate ();
61
+ }
62
+
53
63
private Context getContext () {
54
64
String namespace = "fakednamespace" ;
55
65
String testingId = "fakedTesingId" ;
@@ -74,4 +84,17 @@ private Context getContext() {
74
84
context .setCloudWatchContext (cloudWatchContext );
75
85
return context ;
76
86
}
87
+
88
+ private Context getECSContext () {
89
+ CloudWatchContext .App jmx = new CloudWatchContext .App ();
90
+ jmx .setJob ("jmx" );
91
+ jmx .setTaskDefinitionFamilies (new String []{"jmxawsvpc" , "jmxfargate" });
92
+ CloudWatchContext cloudWatchContext = new CloudWatchContext ();
93
+ cloudWatchContext .setJmx (jmx );
94
+ cloudWatchContext .setClusterName (this .clusterName );
95
+
96
+ Context context = getContext ();
97
+ context .setCloudWatchContext (cloudWatchContext );
98
+ return context ;
99
+ }
77
100
}
0 commit comments