This is an automated email from the ASF dual-hosted git repository.

wuzhiguo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/bigtop-manager.git


The following commit(s) were added to refs/heads/main by this push:
     new 9ff81935 BIGTOP-4350: Add some unit tests for stack infra module (#169)
9ff81935 is described below

commit 9ff8193516d7035080f86b15e8e85d1280f21041
Author: xianrenzw <[email protected]>
AuthorDate: Thu Feb 13 16:34:28 2025 +0800

    BIGTOP-4350: Add some unit tests for stack infra module (#169)
---
 .../infra/v1_0_0/grafana/GrafanaParamsTest.java    | 85 ++++++++++++++++++++++
 .../v1_0_0/grafana/GrafanaServerScriptTest.java    | 66 +++++++++++++++++
 .../infra/v1_0_0/mysql/MySQLClientScriptTest.java  | 48 ++++++++++++
 .../stack/infra/v1_0_0/mysql/MySQLParamsTest.java  | 56 ++++++++++++++
 .../infra/v1_0_0/mysql/MySQLServerScriptTest.java  | 66 +++++++++++++++++
 .../v1_0_0/prometheus/PrometheusParamsTest.java    | 67 +++++++++++++++++
 .../prometheus/PrometheusServerScriptTest.java     | 66 +++++++++++++++++
 7 files changed, 454 insertions(+)

diff --git 
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/grafana/GrafanaParamsTest.java
 
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/grafana/GrafanaParamsTest.java
new file mode 100644
index 00000000..5e72eaad
--- /dev/null
+++ 
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/grafana/GrafanaParamsTest.java
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *    https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.bigtop.manager.stack.infra.v1_0_0.grafana;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+public class GrafanaParamsTest {
+
+    private GrafanaParams grafanaParams;
+
+    @BeforeEach
+    public void setUp() {
+        grafanaParams = mock(GrafanaParams.class);
+        when(grafanaParams.stackHome()).thenReturn("/stack");
+        when(grafanaParams.getServiceName()).thenCallRealMethod();
+        when(grafanaParams.serviceHome()).thenCallRealMethod();
+        when(grafanaParams.confDir()).thenCallRealMethod();
+        when(grafanaParams.dataDir()).thenCallRealMethod();
+        when(grafanaParams.provisioningDir()).thenCallRealMethod();
+        when(grafanaParams.dataSourceDir()).thenCallRealMethod();
+        when(grafanaParams.dashboardsDir()).thenCallRealMethod();
+        when(grafanaParams.dashboardConfigDir("test")).thenCallRealMethod();
+    }
+
+    @Test
+    public void testServiceHome() {
+        assertEquals("/stack/grafana", grafanaParams.serviceHome());
+    }
+
+    @Test
+    public void testConfDir() {
+        assertEquals("/stack/grafana/conf", grafanaParams.confDir());
+    }
+
+    @Test
+    public void testDataDir() {
+        assertEquals("/stack/grafana/data", grafanaParams.dataDir());
+    }
+
+    @Test
+    public void testProvisioningDir() {
+        assertEquals("/stack/grafana/conf/provisioning", 
grafanaParams.provisioningDir());
+    }
+
+    @Test
+    public void testDataSourceDir() {
+        assertEquals("/stack/grafana/conf/provisioning/datasources", 
grafanaParams.dataSourceDir());
+    }
+
+    @Test
+    public void testDashboardsDir() {
+        assertEquals("/stack/grafana/conf/provisioning/dashboards", 
grafanaParams.dashboardsDir());
+    }
+
+    @Test
+    public void testDashboardConfigDir() {
+        assertEquals("/stack/grafana/conf/provisioning/dashboards/test", 
grafanaParams.dashboardConfigDir("test"));
+    }
+
+    @Test
+    public void testGetServiceName() {
+        assertEquals("grafana", grafanaParams.getServiceName());
+    }
+}
diff --git 
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/grafana/GrafanaServerScriptTest.java
 
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/grafana/GrafanaServerScriptTest.java
new file mode 100644
index 00000000..ba51b436
--- /dev/null
+++ 
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/grafana/GrafanaServerScriptTest.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *    https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.bigtop.manager.stack.infra.v1_0_0.grafana;
+
+import org.apache.bigtop.manager.stack.core.spi.param.Params;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+public class GrafanaServerScriptTest {
+
+    private final GrafanaServerScript grafanaServerScript = new 
GrafanaServerScript();
+
+    @Test
+    public void testGetComponentName() {
+        assertEquals("grafana_server", grafanaServerScript.getComponentName());
+    }
+
+    @Test
+    public void testAddParamsNull() {
+        Params params = null;
+        assertThrows(NullPointerException.class, () -> 
grafanaServerScript.add(params));
+    }
+
+    @Test
+    public void testConfigureParamsNull() {
+        Params params = null;
+        assertThrows(NullPointerException.class, () -> 
grafanaServerScript.configure(params));
+    }
+
+    @Test
+    public void testStartParamsNull() {
+        Params params = null;
+        assertThrows(NullPointerException.class, () -> 
grafanaServerScript.start(params));
+    }
+
+    @Test
+    public void testStopParamsNull() {
+        Params params = null;
+        assertThrows(NullPointerException.class, () -> 
grafanaServerScript.stop(params));
+    }
+
+    @Test
+    public void testStatusParamsNull() {
+        Params params = null;
+        assertThrows(NullPointerException.class, () -> 
grafanaServerScript.status(params));
+    }
+}
diff --git 
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLClientScriptTest.java
 
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLClientScriptTest.java
new file mode 100644
index 00000000..4aeb1175
--- /dev/null
+++ 
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLClientScriptTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *    https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.bigtop.manager.stack.infra.v1_0_0.mysql;
+
+import org.apache.bigtop.manager.stack.core.spi.param.Params;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+public class MySQLClientScriptTest {
+
+    private final MySQLClientScript clientScript = new MySQLClientScript();
+
+    @Test
+    public void testGetComponentName() {
+        assertEquals("mysql_client", clientScript.getComponentName());
+    }
+
+    @Test
+    public void testAddParamsNull() {
+        Params params = null;
+        assertThrows(NullPointerException.class, () -> 
clientScript.add(params));
+    }
+
+    @Test
+    public void testConfigureParamsNull() {
+        Params params = null;
+        assertThrows(NullPointerException.class, () -> 
clientScript.configure(params));
+    }
+}
diff --git 
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLParamsTest.java
 
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLParamsTest.java
new file mode 100644
index 00000000..e7b6bb8d
--- /dev/null
+++ 
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLParamsTest.java
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *    https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.bigtop.manager.stack.infra.v1_0_0.mysql;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+public class MySQLParamsTest {
+
+    private MySQLParams mySQLParams;
+
+    @BeforeEach
+    public void setUp() {
+        mySQLParams = mock(MySQLParams.class);
+        when(mySQLParams.stackHome()).thenReturn("/stack");
+        when(mySQLParams.getServiceName()).thenCallRealMethod();
+        when(mySQLParams.serviceHome()).thenCallRealMethod();
+        when(mySQLParams.confDir()).thenCallRealMethod();
+        when(mySQLParams.user()).thenCallRealMethod();
+    }
+
+    @Test
+    public void testServiceHome() {
+        assertEquals("/stack/mysql", mySQLParams.serviceHome());
+    }
+
+    @Test
+    public void testConfDir() {
+        assertEquals("/stack/mysql/conf", mySQLParams.confDir());
+    }
+
+    @Test
+    public void testGetServiceName() {
+        assertEquals("mysql", mySQLParams.getServiceName());
+    }
+}
diff --git 
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLServerScriptTest.java
 
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLServerScriptTest.java
new file mode 100644
index 00000000..80209fce
--- /dev/null
+++ 
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLServerScriptTest.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *    https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.bigtop.manager.stack.infra.v1_0_0.mysql;
+
+import org.apache.bigtop.manager.stack.core.spi.param.Params;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+class MySQLServerScriptTest {
+
+    private final MySQLServerScript mysqlServerScript = new 
MySQLServerScript();
+
+    @Test
+    void testGetComponentName() {
+        assertEquals("mysql_server", mysqlServerScript.getComponentName());
+    }
+
+    @Test
+    public void testAddParamsNull() {
+        Params params = null;
+        assertThrows(NullPointerException.class, () -> 
mysqlServerScript.add(params));
+    }
+
+    @Test
+    public void testConfigureParamsNull() {
+        Params params = null;
+        assertThrows(NullPointerException.class, () -> 
mysqlServerScript.configure(params));
+    }
+
+    @Test
+    public void testStartParamsNull() {
+        Params params = null;
+        assertThrows(NullPointerException.class, () -> 
mysqlServerScript.start(params));
+    }
+
+    @Test
+    public void testStopParamsNull() {
+        Params params = null;
+        assertThrows(NullPointerException.class, () -> 
mysqlServerScript.stop(params));
+    }
+
+    @Test
+    public void testStatusParamsNull() {
+        Params params = null;
+        assertThrows(NullPointerException.class, () -> 
mysqlServerScript.status(params));
+    }
+}
diff --git 
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/prometheus/PrometheusParamsTest.java
 
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/prometheus/PrometheusParamsTest.java
new file mode 100644
index 00000000..cdfc5ca0
--- /dev/null
+++ 
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/prometheus/PrometheusParamsTest.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *    https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.bigtop.manager.stack.infra.v1_0_0.prometheus;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+public class PrometheusParamsTest {
+
+    private PrometheusParams prometheusParams;
+
+    @BeforeEach
+    public void setUp() {
+        prometheusParams = mock(PrometheusParams.class);
+        when(prometheusParams.stackHome()).thenReturn("/stack");
+        when(prometheusParams.getServiceName()).thenCallRealMethod();
+        when(prometheusParams.serviceHome()).thenCallRealMethod();
+        when(prometheusParams.dataDir()).thenCallRealMethod();
+        
when(prometheusParams.targetsConfigFile("test_job")).thenCallRealMethod();
+        when(prometheusParams.confDir()).thenCallRealMethod();
+    }
+
+    @Test
+    public void testServiceHome() {
+        assertEquals("/stack/prometheus", prometheusParams.serviceHome());
+    }
+
+    @Test
+    public void testConfDir() {
+        assertEquals("/stack/prometheus/conf", prometheusParams.confDir());
+    }
+
+    @Test
+    public void testDataDir() {
+        assertEquals("/stack/prometheus/data", prometheusParams.dataDir());
+    }
+
+    @Test
+    public void testTargetsConfigFile() {
+        assertEquals("/stack/prometheus/conf/test_job_targets.json", 
prometheusParams.targetsConfigFile("test_job"));
+    }
+
+    @Test
+    public void testGetServiceName() {
+        assertEquals("prometheus", prometheusParams.getServiceName());
+    }
+}
diff --git 
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/prometheus/PrometheusServerScriptTest.java
 
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/prometheus/PrometheusServerScriptTest.java
new file mode 100644
index 00000000..5b402613
--- /dev/null
+++ 
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/test/java/org/apache/bigtop/manager/stack/infra/v1_0_0/prometheus/PrometheusServerScriptTest.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *    https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.bigtop.manager.stack.infra.v1_0_0.prometheus;
+
+import org.apache.bigtop.manager.stack.core.spi.param.Params;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+public class PrometheusServerScriptTest {
+
+    private final PrometheusServerScript prometheusServerScript = new 
PrometheusServerScript();
+
+    @Test
+    public void testGetComponentName() {
+        assertEquals("prometheus_server", 
prometheusServerScript.getComponentName());
+    }
+
+    @Test
+    public void testAddParamsNull() {
+        Params params = null;
+        assertThrows(NullPointerException.class, () -> 
prometheusServerScript.add(params));
+    }
+
+    @Test
+    public void testConfigureParamsNull() {
+        Params params = null;
+        assertThrows(NullPointerException.class, () -> 
prometheusServerScript.configure(params));
+    }
+
+    @Test
+    public void testStartParamsNull() {
+        Params params = null;
+        assertThrows(NullPointerException.class, () -> 
prometheusServerScript.start(params));
+    }
+
+    @Test
+    public void testStopParamsNull() {
+        Params params = null;
+        assertThrows(NullPointerException.class, () -> 
prometheusServerScript.stop(params));
+    }
+
+    @Test
+    public void testStatusParamsNull() {
+        Params params = null;
+        assertThrows(NullPointerException.class, () -> 
prometheusServerScript.status(params));
+    }
+}

Reply via email to