Skip to content

Commit 9d63e07

Browse files
authored
test: Address pytest warnings; remove duplicate test helper (#463)
* address pytest warnings, duplicate test helper * update description * update description * remove pytest.ini file; add pytest markers to toml * fix event test * add e2e firewall to test instance * add e2e firewall to test instance
1 parent 46d6d18 commit 9d63e07

File tree

5 files changed

+24
-14
lines changed

5 files changed

+24
-14
lines changed

pyproject.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ dev = [
5353
"sphinxcontrib-fulltoc>=1.2.0",
5454
"build>=0.10.0",
5555
"twine>=4.0.2",
56+
"pytest-rerunfailures",
5657
]
5758

5859
doc = [
@@ -88,3 +89,9 @@ in-place = true
8889
recursive = true
8990
remove-all-unused-imports = true
9091
remove-duplicate-keys = false
92+
93+
[tool.pytest.ini_options]
94+
markers = [
95+
"smoke: mark a test as a smoke test",
96+
"flaky: mark a test as a flaky test for rerun"
97+
]

test/integration/helpers.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,6 @@ def get_test_label():
1212
return label
1313

1414

15-
def get_rand_nanosec_test_label():
16-
unique_timestamp = str(time.time_ns())[:-3]
17-
label = "test_" + unique_timestamp
18-
return label
19-
20-
2115
def delete_instance_with_test_kw(paginated_list: PaginatedList):
2216
for i in paginated_list:
2317
try:

test/integration/models/account/test_account.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,24 +61,32 @@ def test_get_account_settings(test_linode_client):
6161

6262

6363
@pytest.mark.smoke
64-
def test_latest_get_event(test_linode_client):
64+
def test_latest_get_event(test_linode_client, e2e_test_firewall):
6565
client = test_linode_client
6666

6767
available_regions = client.regions()
6868
chosen_region = available_regions[4]
6969
label = get_test_label()
7070

7171
linode, password = client.linode.instance_create(
72-
"g6-nanode-1", chosen_region, image="linode/debian10", label=label
72+
"g6-nanode-1",
73+
chosen_region,
74+
image="linode/debian10",
75+
label=label,
76+
firewall=e2e_test_firewall,
7377
)
7478

7579
events = client.load(Event, "")
7680

77-
latest_event = events._raw_json.get("data")[0]
81+
latest_events = events._raw_json.get("data")
7882

7983
linode.delete()
8084

81-
assert label in latest_event["entity"]["label"]
85+
for event in latest_events[:15]:
86+
if label == event["entity"]["label"]:
87+
break
88+
else:
89+
assert False, f"Linode '{label}' not found in the last 15 events"
8290

8391

8492
def test_get_user(test_linode_client):

test/integration/models/firewall/test_firewall.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import time
2+
from test.integration.helpers import get_test_label
23

34
import pytest
45

@@ -10,7 +11,7 @@ def linode_fw(test_linode_client):
1011
client = test_linode_client
1112
available_regions = client.regions()
1213
chosen_region = available_regions[4]
13-
label = "linode_instance_fw_device"
14+
label = get_test_label()
1415

1516
linode_instance, password = client.linode.instance_create(
1617
"g6-nanode-1", chosen_region, image="linode/debian10", label=label
@@ -79,6 +80,6 @@ def test_get_device(test_linode_client, test_firewall, linode_fw):
7980
FirewallDevice, firewall.devices.first().id, firewall.id
8081
)
8182

82-
assert firewall_device.entity.label == "linode_instance_fw_device"
83+
assert "test_" in firewall_device.entity.label
8384
assert firewall_device.entity.type == "linode"
8485
assert "/v4/linode/instances/" in firewall_device.entity.url

test/integration/models/networking/test_networking.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from test.integration.helpers import get_rand_nanosec_test_label
1+
from test.integration.helpers import get_test_label
22

33
import pytest
44

@@ -22,7 +22,7 @@ def create_linode(test_linode_client):
2222
client = test_linode_client
2323
available_regions = client.regions()
2424
chosen_region = available_regions[4]
25-
label = get_rand_nanosec_test_label()
25+
label = get_test_label()
2626

2727
linode_instance, _ = client.linode.instance_create(
2828
"g6-nanode-1",

0 commit comments

Comments
 (0)