Skip to content

Commit 4702891

Browse files
committed
Blocked test app
1 parent 636c16f commit 4702891

File tree

9 files changed

+32
-43
lines changed

9 files changed

+32
-43
lines changed

tests/integration/ha_tests/test_async_replication.py

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -117,18 +117,12 @@ async def test_deploy_async_replication_setup(
117117

118118
async with ops_test.fast_forward(), fast_forward(second_model):
119119
await gather(
120-
first_model.wait_for_idle(
121-
apps=[DATABASE_APP_NAME, APPLICATION_NAME],
122-
status="active",
123-
timeout=TIMEOUT,
124-
raise_on_error=False,
125-
),
126-
second_model.wait_for_idle(
127-
apps=[DATABASE_APP_NAME, APPLICATION_NAME],
128-
status="active",
129-
timeout=TIMEOUT,
130-
raise_on_error=False,
131-
),
120+
first_model.wait_for_idle(apps=[APPLICATION_NAME], status="blocked"),
121+
second_model.wait_for_idle(apps=[APPLICATION_NAME], status="blocked"),
122+
)
123+
await gather(
124+
first_model.wait_for_idle(apps=[DATABASE_APP_NAME], status="active", timeout=TIMEOUT),
125+
second_model.wait_for_idle(apps=[DATABASE_APP_NAME], status="active", timeout=TIMEOUT),
132126
)
133127

134128

tests/integration/ha_tests/test_replication.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from ..helpers import (
1111
APPLICATION_NAME,
1212
CHARM_BASE,
13+
DATABASE_APP_NAME,
1314
app_name,
1415
build_and_deploy,
1516
db_connect,
@@ -47,6 +48,7 @@ async def test_build_and_deploy(ops_test: OpsTest, charm) -> None:
4748
)
4849

4950
if wait_for_apps:
51+
await ops_test.model.relate(DATABASE_APP_NAME, f"{APPLICATION_NAME}:database")
5052
async with ops_test.fast_forward():
5153
await ops_test.model.wait_for_idle(status="active", timeout=1000, raise_on_error=False)
5254

tests/integration/ha_tests/test_self_healing_1.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ async def test_build_and_deploy(ops_test: OpsTest, charm) -> None:
7272
)
7373

7474
if wait_for_apps:
75+
await ops_test.model.relate(DATABASE_APP_NAME, f"{APPLICATION_NAME}:database")
7576
await ops_test.model.wait_for_idle(
7677
apps=[
7778
APPLICATION_NAME,

tests/integration/ha_tests/test_self_healing_2.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ async def test_build_and_deploy(ops_test: OpsTest, charm) -> None:
5353
)
5454

5555
if wait_for_apps:
56+
await ops_test.model.relate(DATABASE_APP_NAME, f"{APPLICATION_NAME}:database")
5657
await ops_test.model.wait_for_idle(
5758
apps=[
5859
APPLICATION_NAME,

tests/integration/ha_tests/test_upgrade.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ async def test_deploy_latest(ops_test: OpsTest) -> None:
5353
base=CHARM_BASE,
5454
),
5555
)
56+
await ops_test.model.relate(DATABASE_APP_NAME, f"{APPLICATION_NAME}:database")
5657
logger.info("Wait for applications to become active")
5758
async with ops_test.fast_forward():
5859
await ops_test.model.wait_for_idle(

tests/integration/ha_tests/test_upgrade_from_stable.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ async def test_deploy_stable(ops_test: OpsTest) -> None:
4949
base=CHARM_BASE,
5050
),
5151
)
52+
await ops_test.model.relate(DATABASE_APP_NAME, f"{APPLICATION_NAME}:database")
5253
logger.info("Wait for applications to become active")
5354
async with ops_test.fast_forward():
5455
await ops_test.model.wait_for_idle(

tests/integration/new_relations/test_new_relations_1.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,14 +191,13 @@ async def test_two_applications_doesnt_share_the_same_relation_data(ops_test: Op
191191
base=CHARM_BASE,
192192
channel="edge",
193193
)
194-
await ops_test.model.wait_for_idle(apps=all_app_names, status="active")
195194

196195
# Relate the new application with the database
197196
# and wait for them exchanging some connection data.
198197
await ops_test.model.add_relation(
199198
f"{another_application_app_name}:{FIRST_DATABASE_RELATION_NAME}", DATABASE_APP_NAME
200199
)
201-
await ops_test.model.wait_for_idle(apps=all_app_names, status="active", idle_period=30)
200+
await ops_test.model.wait_for_idle(apps=all_app_names, status="active")
202201

203202
# Assert the two application have different relation (connection) data.
204203
application_connection_string = await build_connection_string(

tests/integration/relations/test_relations.py

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ async def test_deploy_charms(ops_test: OpsTest, charm):
3434
application_name=APPLICATION_APP_NAME,
3535
num_units=1,
3636
base=CHARM_BASE,
37-
channel="edge",
37+
channel="latest/edge",
3838
),
3939
ops_test.model.deploy(
4040
charm,
@@ -55,18 +55,13 @@ async def test_deploy_charms(ops_test: OpsTest, charm):
5555
),
5656
)
5757

58-
await ops_test.model.wait_for_idle(
59-
apps=[APP_NAME, APPLICATION_APP_NAME], status="active", timeout=3000
60-
)
58+
await ops_test.model.wait_for_idle(apps=[APPLICATION_APP_NAME], status="blocked")
59+
await ops_test.model.wait_for_idle(apps=[APP_NAME], status="active", timeout=2000)
6160

6261

6362
async def test_legacy_and_modern_endpoints_simultaneously(ops_test: OpsTest):
6463
await ops_test.model.relate(APPLICATION_APP_NAME, f"{APP_NAME}:{DB_RELATION}")
65-
await ops_test.model.wait_for_idle(
66-
status="active",
67-
timeout=1500,
68-
raise_on_error=False,
69-
)
64+
await ops_test.model.wait_for_idle(apps=[APP_NAME], status="active", timeout=1500)
7065

7166
logger.info(" add relation with modern endpoints")
7267
app = ops_test.model.applications[APP_NAME]
@@ -81,7 +76,7 @@ async def test_legacy_and_modern_endpoints_simultaneously(ops_test: OpsTest):
8176
await ops_test.model.applications[APP_NAME].destroy_relation(
8277
f"{APP_NAME}:{DB_RELATION}", f"{APPLICATION_APP_NAME}:{DB_RELATION}"
8378
)
84-
await ops_test.model.wait_for_idle(status="active", timeout=1500)
79+
await ops_test.model.wait_for_idle(apps=[APP_NAME], status="active", timeout=1500)
8580

8681
logger.info(" add relation with legacy endpoints")
8782
async with ops_test.fast_forward():
@@ -95,14 +90,16 @@ async def test_legacy_and_modern_endpoints_simultaneously(ops_test: OpsTest):
9590
await ops_test.model.applications[APP_NAME].destroy_relation(
9691
f"{APP_NAME}:{DATABASE_RELATION}", f"{APPLICATION_APP_NAME}:{FIRST_DATABASE_RELATION}"
9792
)
98-
await ops_test.model.wait_for_idle(status="active", timeout=1500)
93+
await ops_test.model.wait_for_idle(apps=[APP_NAME], status="active", timeout=1500)
9994

10095
logger.info(" remove relation with legacy endpoints")
10196
await ops_test.model.applications[APP_NAME].destroy_relation(
10297
f"{APP_NAME}:{DB_RELATION}", f"{APPLICATION_APP_NAME}:{DB_RELATION}"
10398
)
104-
await ops_test.model.wait_for_idle(status="active", timeout=1500)
99+
await ops_test.model.wait_for_idle(apps=[APP_NAME], status="active", timeout=1500)
105100

106101
logger.info(" add relation with modern endpoints")
107102
await ops_test.model.relate(APP_NAME, f"{APPLICATION_APP_NAME}:{FIRST_DATABASE_RELATION}")
108-
await ops_test.model.wait_for_idle(status="active", timeout=1500)
103+
await ops_test.model.wait_for_idle(
104+
apps=[APP_NAME, APPLICATION_APP_NAME], status="active", timeout=1500
105+
)

tests/integration/test_db.py

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,8 @@ async def test_extensions_blocking(ops_test: OpsTest) -> None:
122122
)
123123

124124
await ops_test.model.wait_for_idle(
125-
apps=[DATABASE_APP_NAME, APPLICATION_NAME, f"{APPLICATION_NAME}2"],
126-
status="active",
125+
apps=[APPLICATION_NAME, f"{APPLICATION_NAME}2"],
126+
status="blocked",
127127
timeout=1000,
128128
)
129129

@@ -166,11 +166,8 @@ async def test_extensions_blocking(ops_test: OpsTest) -> None:
166166
await ops_test.model.applications[DATABASE_APP_NAME].set_config(config)
167167
await ops_test.model.wait_for_idle(apps=[DATABASE_APP_NAME], status="active")
168168
await ops_test.model.relate(f"{DATABASE_APP_NAME}:db", f"{APPLICATION_NAME}:db")
169-
await ops_test.model.wait_for_idle(
170-
apps=[DATABASE_APP_NAME, APPLICATION_NAME],
171-
status="active",
172-
timeout=2000,
173-
)
169+
await ops_test.model.wait_for_idle(apps=[APPLICATION_NAME], status="blocked")
170+
await ops_test.model.wait_for_idle(apps=[DATABASE_APP_NAME], status="active", timeout=2000)
174171

175172
logger.info("Verifying that the charm unblocks when the extensions are enabled")
176173
config = {"plugin_pg_trgm_enable": "False", "plugin_unaccent_enable": "False"}
@@ -179,7 +176,7 @@ async def test_extensions_blocking(ops_test: OpsTest) -> None:
179176
f"{DATABASE_APP_NAME}:db", f"{APPLICATION_NAME}:db"
180177
)
181178
wait_for_relation_removed_between(ops_test, DATABASE_APP_NAME, APPLICATION_NAME)
182-
await ops_test.model.wait_for_idle(apps=[DATABASE_APP_NAME, APPLICATION_NAME], status="active")
179+
await ops_test.model.wait_for_idle(apps=[DATABASE_APP_NAME], status="active")
183180

184181
await ops_test.model.relate(f"{DATABASE_APP_NAME}:db", f"{APPLICATION_NAME}:db")
185182
await ops_test.model.block_until(
@@ -188,12 +185,8 @@ async def test_extensions_blocking(ops_test: OpsTest) -> None:
188185

189186
config = {"plugin_pg_trgm_enable": "True", "plugin_unaccent_enable": "True"}
190187
await ops_test.model.applications[DATABASE_APP_NAME].set_config(config)
191-
await ops_test.model.wait_for_idle(
192-
apps=[DATABASE_APP_NAME, APPLICATION_NAME],
193-
status="active",
194-
raise_on_blocked=False,
195-
timeout=2000,
196-
)
188+
await ops_test.model.wait_for_idle(apps=[APPLICATION_NAME], status="blocked")
189+
await ops_test.model.wait_for_idle(apps=[DATABASE_APP_NAME], status="active", timeout=2000)
197190
# removing relation to test roles
198191
await ops_test.model.applications[DATABASE_APP_NAME].destroy_relation(
199192
f"{DATABASE_APP_NAME}:db", f"{APPLICATION_NAME}:db"
@@ -207,9 +200,9 @@ async def test_roles_blocking(ops_test: OpsTest) -> None:
207200
await ops_test.model.applications[APPLICATION_NAME].set_config(config)
208201
await ops_test.model.applications[f"{APPLICATION_NAME}2"].set_config(config)
209202
await ops_test.model.wait_for_idle(
210-
apps=[DATABASE_APP_NAME, APPLICATION_NAME, f"{APPLICATION_NAME}2"],
211-
status="active",
203+
apps=[APPLICATION_NAME, f"{APPLICATION_NAME}2"], status="blocked"
212204
)
205+
await ops_test.model.wait_for_idle(apps=[DATABASE_APP_NAME], status="active")
213206

214207
await gather(
215208
ops_test.model.relate(f"{DATABASE_APP_NAME}:db", f"{APPLICATION_NAME}:db"),

0 commit comments

Comments
 (0)