Skip to content

Commit 3442ea4

Browse files
authored
Merge pull request #427 from Limmen/integration_test
cli integration test, ls containers is revised.
2 parents ee321e8 + 99c9d84 commit 3442ea4

File tree

1 file changed

+165
-24
lines changed

1 file changed

+165
-24
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
1-
from typing import List
21
from click.testing import CliRunner
32
from csle_cli.cli import ls
43

5-
from csle_cluster.cluster_manager.cluster_manager_pb2 import DockerContainerDTO
6-
74

85
class TestCSLECliSuite:
96
"""
@@ -12,38 +9,182 @@ class TestCSLECliSuite:
129

1310
def test_ls_all(self) -> None:
1411
"""
15-
Tests the ls command
12+
Tests the ls command for --all
1613
1714
:return: None
1815
"""
1916
runner = CliRunner()
2017
result = runner.invoke(ls, ["--all"])
2118
assert result.exit_code == 0
2219

23-
def test_ls_running_containers(self) -> None:
20+
def test_ls_containers(self) -> None:
21+
"""
22+
Tests the ls command for containers
23+
24+
:return: None
25+
"""
26+
runner = CliRunner()
27+
result = runner.invoke(ls, ["containers", "--all"])
28+
assert result.exit_code == 0
29+
30+
runner = CliRunner()
31+
result = runner.invoke(ls, ["containers", "--running"])
32+
assert result.exit_code == 0
33+
34+
runner = CliRunner()
35+
result = runner.invoke(ls, ["containers", "--stopped"])
36+
assert result.exit_code == 0
37+
38+
def test_ls_networks(self) -> None:
39+
"""
40+
Tests the ls command for networks
41+
42+
:return: None
43+
"""
44+
runner = CliRunner()
45+
result = runner.invoke(ls, ["networks"])
46+
assert result.exit_code == 0
47+
48+
def test_ls_emulations(self) -> None:
49+
"""
50+
Tests the ls command for emulations
51+
52+
:return: None
53+
"""
54+
runner = CliRunner()
55+
result = runner.invoke(ls, ["emulations", "--all"])
56+
assert result.exit_code == 0
57+
58+
runner = CliRunner()
59+
result = runner.invoke(ls, ["emulations", "--stopped"])
60+
assert result.exit_code == 0
61+
62+
def test_ls_environments(self) -> None:
63+
"""
64+
Tests the ls command for environments
65+
66+
:return: None
67+
"""
68+
runner = CliRunner()
69+
result = runner.invoke(ls, ["environments"])
70+
assert result.exit_code == 0
71+
72+
def test_ls_prometheus(self) -> None:
73+
"""
74+
Tests the ls command for prometheus
75+
76+
:return: None
77+
"""
78+
runner = CliRunner()
79+
result = runner.invoke(ls, ["prometheus"])
80+
assert result.exit_code == 0
81+
82+
def test_ls_node_exporter(self) -> None:
83+
"""
84+
Tests the ls command for node_exporter
85+
86+
:return: None
87+
"""
88+
runner = CliRunner()
89+
result = runner.invoke(ls, ["node_exporter"])
90+
assert result.exit_code == 0
91+
92+
def test_ls_cadvisor(self) -> None:
93+
"""
94+
Tests the ls command for cadvisor
95+
96+
:return: None
97+
"""
98+
runner = CliRunner()
99+
result = runner.invoke(ls, ["cadvisor"])
100+
assert result.exit_code == 0
101+
102+
def test_ls_nginx(self) -> None:
24103
"""
25-
Tests the ls command
104+
Tests the ls command for nginx
26105
27106
:return: None
28107
"""
29-
import csle_common.constants.constants as constants
30-
from csle_common.metastore.metastore_facade import MetastoreFacade
31-
from csle_cluster.cluster_manager.cluster_controller import ClusterController
32-
config = MetastoreFacade.get_config(id=1)
33-
running_containers: List[DockerContainerDTO] = []
34-
for node in config.cluster_config.cluster_nodes:
35-
running_containers_dto = ClusterController.list_all_running_containers(
36-
ip=node.ip, port=constants.GRPC_SERVERS.CLUSTER_MANAGER_PORT)
37-
running_containers_dtos = list(running_containers_dto.runningContainers)
38-
running_containers = running_containers + running_containers_dtos
39108
runner = CliRunner()
40-
result = runner.invoke(ls, ["containers"])
41-
cli_output = result.stdout_bytes.decode('utf-8')
42-
cli_output_lines = cli_output.strip().split('\n')
43-
number_of_containers_from_cli = 0
44-
for line in cli_output_lines:
45-
if "[running]" in line:
46-
number_of_containers_from_cli += 1
109+
result = runner.invoke(ls, ["nginx"])
110+
assert result.exit_code == 0
111+
112+
def test_ls_postgresql(self) -> None:
113+
"""
114+
Tests the ls command for postgresql
47115
48-
assert number_of_containers_from_cli == len(running_containers)
116+
:return: None
117+
"""
118+
runner = CliRunner()
119+
result = runner.invoke(ls, ["postgresql"])
120+
assert result.exit_code == 0
121+
122+
def test_ls_docker(self) -> None:
123+
"""
124+
Tests the ls command for docker
125+
126+
:return: None
127+
"""
128+
runner = CliRunner()
129+
result = runner.invoke(ls, ["docker"])
130+
assert result.exit_code == 0
131+
132+
def test_ls_pgadmin(self) -> None:
133+
"""
134+
Tests the ls command for pgadmin
135+
136+
:return: None
137+
"""
138+
runner = CliRunner()
139+
result = runner.invoke(ls, ["pgadmin"])
140+
assert result.exit_code == 0
141+
142+
def test_ls_grafana(self) -> None:
143+
"""
144+
Tests the ls command for grafana
145+
146+
:return: None
147+
"""
148+
runner = CliRunner()
149+
result = runner.invoke(ls, ["grafana"])
150+
assert result.exit_code == 0
151+
152+
def test_ls_flask(self) -> None:
153+
"""
154+
Tests the ls command for flask
155+
156+
:return: None
157+
"""
158+
runner = CliRunner()
159+
result = runner.invoke(ls, ["flask"])
160+
assert result.exit_code == 0
161+
162+
def test_ls_statsmanager(self) -> None:
163+
"""
164+
Tests the ls command for statsmanager
165+
166+
:return: None
167+
"""
168+
runner = CliRunner()
169+
result = runner.invoke(ls, ["statsmanager"])
170+
assert result.exit_code == 0
171+
172+
def test_ls_simulations(self) -> None:
173+
"""
174+
Tests the ls command for simulations
175+
176+
:return: None
177+
"""
178+
runner = CliRunner()
179+
result = runner.invoke(ls, ["simulations"])
180+
assert result.exit_code == 0
181+
182+
def test_ls_emulation_executions(self) -> None:
183+
"""
184+
Tests the ls command for emulation_executions
185+
186+
:return: None
187+
"""
188+
runner = CliRunner()
189+
result = runner.invoke(ls, ["emulation_executions"])
49190
assert result.exit_code == 0

0 commit comments

Comments
 (0)