Skip to content

Commit 01c4e2f

Browse files
Integration test (#589)
Co-authored-by: Zhiwei Liang <[email protected]>
1 parent e96e70c commit 01c4e2f

File tree

5 files changed

+407
-23
lines changed

5 files changed

+407
-23
lines changed
Lines changed: 238 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,238 @@
1+
from tests.integration.helpers import assert_headers_in_lines, exec_test_command
2+
3+
BASE_CMD = ["linode-cli", "account"]
4+
5+
6+
def test_account_transfer():
7+
res = (
8+
exec_test_command(BASE_CMD + ["transfer", "--text", "--delimiter=,"])
9+
.stdout.decode()
10+
.rstrip()
11+
)
12+
lines = res.splitlines()
13+
14+
headers = ["billable", "quota", "used"]
15+
assert_headers_in_lines(headers, lines)
16+
17+
18+
def test_region_availability():
19+
res = (
20+
exec_test_command(
21+
BASE_CMD
22+
+ ["get-account-availability", "us-east", "--text", "--delimiter=,"]
23+
)
24+
.stdout.decode()
25+
.rstrip()
26+
)
27+
lines = res.splitlines()
28+
29+
headers = ["region", "unavailable"]
30+
assert_headers_in_lines(headers, lines)
31+
32+
33+
def test_event_list():
34+
res = (
35+
exec_test_command(
36+
["linode-cli", "events", "list", "--text", "--delimiter=,"]
37+
)
38+
.stdout.decode()
39+
.rstrip()
40+
)
41+
lines = res.splitlines()
42+
43+
event_id = lines[1].split(",")[0]
44+
45+
headers = ["entity.label", "username"]
46+
assert_headers_in_lines(headers, lines)
47+
return event_id
48+
49+
50+
def test_event_view():
51+
event_id = test_event_list()
52+
res = (
53+
exec_test_command(
54+
[
55+
"linode-cli",
56+
"events",
57+
"view",
58+
event_id,
59+
"--text",
60+
"--delimiter=,",
61+
]
62+
)
63+
.stdout.decode()
64+
.rstrip()
65+
)
66+
lines = res.splitlines()
67+
68+
headers = ["id", "action"]
69+
assert_headers_in_lines(headers, lines)
70+
71+
72+
def test_account_invoice_list():
73+
res = (
74+
exec_test_command(
75+
BASE_CMD + ["invoices-list", "--text", "--delimiter=,"]
76+
)
77+
.stdout.decode()
78+
.rstrip()
79+
)
80+
lines = res.splitlines()
81+
82+
invoice_id = lines[1].split(",")[0]
83+
84+
headers = ["billing_source", "tax", "subtotal"]
85+
assert_headers_in_lines(headers, lines)
86+
return invoice_id
87+
88+
89+
def test_account_invoice_view():
90+
invoice_id = test_account_invoice_list()
91+
res = (
92+
exec_test_command(
93+
BASE_CMD + ["invoice-view", invoice_id, "--text", "--delimiter=,"]
94+
)
95+
.stdout.decode()
96+
.rstrip()
97+
)
98+
lines = res.splitlines()
99+
100+
headers = ["billing_source", "tax", "subtotal"]
101+
assert_headers_in_lines(headers, lines)
102+
103+
104+
def test_account_invoice_items():
105+
invoice_id = test_account_invoice_list()
106+
res = (
107+
exec_test_command(
108+
BASE_CMD + ["invoice-items", invoice_id, "--text", "--delimiter=,"]
109+
)
110+
.stdout.decode()
111+
.rstrip()
112+
)
113+
lines = res.splitlines()
114+
115+
headers = ["label", "from", "to"]
116+
assert_headers_in_lines(headers, lines)
117+
118+
119+
def test_account_logins_list():
120+
res = (
121+
exec_test_command(BASE_CMD + ["logins-list", "--text", "--delimiter=,"])
122+
.stdout.decode()
123+
.rstrip()
124+
)
125+
lines = res.splitlines()
126+
127+
login_id = lines[1].split(",")[0]
128+
129+
headers = ["ip", "username", "status"]
130+
assert_headers_in_lines(headers, lines)
131+
return login_id
132+
133+
134+
def test_account_login_view():
135+
login_id = test_account_logins_list()
136+
res = (
137+
exec_test_command(
138+
BASE_CMD + ["login-view", login_id, "--text", "--delimiter=,"]
139+
)
140+
.stdout.decode()
141+
.rstrip()
142+
)
143+
lines = res.splitlines()
144+
145+
headers = ["ip", "username", "status"]
146+
assert_headers_in_lines(headers, lines)
147+
148+
149+
def test_account_setting_view():
150+
res = (
151+
exec_test_command(BASE_CMD + ["settings", "--text", "--delimiter=,"])
152+
.stdout.decode()
153+
.rstrip()
154+
)
155+
lines = res.splitlines()
156+
157+
headers = ["longview_subscription", "network_helper"]
158+
assert_headers_in_lines(headers, lines)
159+
160+
161+
def test_user_list():
162+
res = (
163+
exec_test_command(
164+
["linode-cli", "users", "list", "--text", "--delimiter=,"]
165+
)
166+
.stdout.decode()
167+
.rstrip()
168+
)
169+
lines = res.splitlines()
170+
171+
user_id = lines[1].split(",")[0]
172+
173+
headers = ["email", "username"]
174+
assert_headers_in_lines(headers, lines)
175+
return user_id
176+
177+
178+
def test_user_view():
179+
user_id = test_user_list()
180+
res = (
181+
exec_test_command(
182+
["linode-cli", "users", "view", user_id, "--text", "--delimiter=,"]
183+
)
184+
.stdout.decode()
185+
.rstrip()
186+
)
187+
lines = res.splitlines()
188+
189+
headers = ["email", "username"]
190+
assert_headers_in_lines(headers, lines)
191+
192+
193+
def test_payment_method_list():
194+
res = (
195+
exec_test_command(
196+
["linode-cli", "payment-methods", "list", "--text", "--delimiter=,"]
197+
)
198+
.stdout.decode()
199+
.rstrip()
200+
)
201+
lines = res.splitlines()
202+
203+
headers = ["type", "is_default"]
204+
assert_headers_in_lines(headers, lines)
205+
206+
207+
def test_payment_list():
208+
res = (
209+
exec_test_command(
210+
BASE_CMD + ["payments-list", "--text", "--delimiter=,"]
211+
)
212+
.stdout.decode()
213+
.rstrip()
214+
)
215+
lines = res.splitlines()
216+
217+
headers = ["date", "usd"]
218+
assert_headers_in_lines(headers, lines)
219+
220+
221+
def test_service_transfers():
222+
res = (
223+
exec_test_command(
224+
[
225+
"linode-cli",
226+
"service-transfers",
227+
"list",
228+
"--text",
229+
"--delimiter=,",
230+
]
231+
)
232+
.stdout.decode()
233+
.rstrip()
234+
)
235+
lines = res.splitlines()
236+
237+
headers = ["token", "expiry", "is_sender"]
238+
assert_headers_in_lines(headers, lines)

tests/integration/account/test_account_transfer.py

Lines changed: 0 additions & 23 deletions
This file was deleted.
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import pytest
2+
3+
from tests.integration.helpers import assert_headers_in_lines, exec_test_command
4+
5+
BASE_CMD = ["linode-cli", "betas"]
6+
7+
8+
def test_beta_list():
9+
res = (
10+
exec_test_command(BASE_CMD + ["list", "--text", "--delimiter=,"])
11+
.stdout.decode()
12+
.rstrip()
13+
)
14+
lines = res.splitlines()
15+
16+
if len(lines) < 2 or len(lines[1].split(",")) == 0:
17+
pytest.skip("No beta program available to test")
18+
else:
19+
beta_id = lines[1].split(",")[0]
20+
headers = ["label", "description"]
21+
assert_headers_in_lines(headers, lines)
22+
return beta_id
23+
24+
25+
def test_beta_view():
26+
beta_id = test_beta_list()
27+
if beta_id is None:
28+
pytest.skip("No beta program available to test")
29+
else:
30+
res = (
31+
exec_test_command(
32+
BASE_CMD + ["view", beta_id, "--text", "--delimiter=,"]
33+
)
34+
.stdout.decode()
35+
.rstrip()
36+
)
37+
lines = res.splitlines()
38+
headers = ["label", "description"]
39+
assert_headers_in_lines(headers, lines)
40+
41+
42+
def test_beta_enrolled():
43+
res = (
44+
exec_test_command(BASE_CMD + ["enrolled", "--text", "--delimiter=,"])
45+
.stdout.decode()
46+
.rstrip()
47+
)
48+
lines = res.splitlines()
49+
50+
headers = ["label", "enrolled"]
51+
assert_headers_in_lines(headers, lines)

0 commit comments

Comments
 (0)