Skip to content

Commit

Permalink
chore: bump scenario to 7.x (#374)
Browse files Browse the repository at this point in the history
Signed-off-by: guillaume <[email protected]>
  • Loading branch information
gruyaume authored Oct 2, 2024
1 parent a233ccc commit c82433a
Show file tree
Hide file tree
Showing 8 changed files with 172 additions and 148 deletions.
14 changes: 7 additions & 7 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#
annotated-types==0.7.0
# via pydantic
anyio==4.4.0
anyio==4.6.0
# via httpx
attrs==24.2.0
# via
Expand All @@ -16,7 +16,7 @@ certifi==2024.8.30
# via
# httpcore
# httpx
cffi==1.17.0
cffi==1.17.1
# via cryptography
click==8.1.7
# via typer
Expand All @@ -30,7 +30,7 @@ httpcore==1.0.5
# via httpx
httpx==0.27.2
# via lightkube
idna==3.8
idna==3.10
# via
# anyio
# httpx
Expand All @@ -44,16 +44,16 @@ jsonschema-specifications==2023.12.1
# via jsonschema
lightkube==0.15.4
# via cosl
lightkube-models==1.30.0.8
lightkube-models==1.31.1.8
# via lightkube
markupsafe==2.1.5
# via jinja2
ops==2.16.0
ops==2.17.0
# via
# -r requirements.in
# cosl
# ops-scenario
ops-scenario==6.1.7
ops-scenario==7.0.5
# via pytest-interface-tester
packaging==24.1
# via pytest
Expand All @@ -70,7 +70,7 @@ pydantic-core==2.23.4
# via pydantic
pytest==8.3.3
# via pytest-interface-tester
pytest-interface-tester==3.1.0
pytest-interface-tester==3.2.0
# via -r requirements.in
pyyaml==6.0.2
# via
Expand Down
75 changes: 51 additions & 24 deletions test-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@ cachetools==5.5.0
# via google-auth
certifi==2024.8.30
# via
# -c requirements.txt
# kubernetes
# requests
cffi==1.17.0
cffi==1.17.1
# via
# -c requirements.txt
# cryptography
# pynacl
charset-normalizer==3.3.2
Expand All @@ -25,39 +27,51 @@ codespell==2.3.0
coverage[toml]==7.6.1
# via -r test-requirements.in
cryptography==43.0.1
# via paramiko
# via
# -c requirements.txt
# paramiko
decorator==5.1.1
# via
# ipdb
# ipython
durationpy==0.7
# via kubernetes
executing==2.1.0
# via stack-data
google-auth==2.34.0
google-auth==2.35.0
# via kubernetes
hvac==2.3.0
# via juju
idna==3.8
# via requests
idna==3.10
# via
# -c requirements.txt
# requests
iniconfig==2.0.0
# via pytest
# via
# -c requirements.txt
# pytest
ipdb==0.13.13
# via pytest-operator
ipython==8.27.0
# via ipdb
jedi==0.19.1
# via ipython
jinja2==3.1.4
# via pytest-operator
# via
# -c requirements.txt
# pytest-operator
juju==3.5.2.0
# via
# -r test-requirements.in
# pytest-operator
kubernetes==30.1.0
kubernetes==31.0.0
# via juju
macaroonbakery==1.3.4
# via juju
markupsafe==2.1.5
# via jinja2
# via
# -c requirements.txt
# jinja2
matplotlib-inline==0.1.7
# via ipython
mypy-extensions==1.0.0
Expand All @@ -68,39 +82,48 @@ oauthlib==3.2.2
# via
# kubernetes
# requests-oauthlib
ops==2.16.0
# via ops-scenario
ops-scenario==6.1.7
# via -r test-requirements.in
ops==2.17.0
# via
# -c requirements.txt
# ops-scenario
ops-scenario==7.0.5
# via
# -c requirements.txt
# -r test-requirements.in
packaging==24.1
# via
# -c requirements.txt
# juju
# pytest
paramiko==3.4.1
paramiko==3.5.0
# via juju
parso==0.8.4
# via jedi
pexpect==4.9.0
# via ipython
pluggy==1.5.0
# via pytest
prompt-toolkit==3.0.47
# via
# -c requirements.txt
# pytest
prompt-toolkit==3.0.48
# via ipython
protobuf==5.28.0
protobuf==5.28.2
# via macaroonbakery
ptyprocess==0.7.0
# via pexpect
pure-eval==0.2.3
# via stack-data
pyasn1==0.6.0
pyasn1==0.6.1
# via
# juju
# pyasn1-modules
# rsa
pyasn1-modules==0.4.0
pyasn1-modules==0.4.1
# via google-auth
pycparser==2.22
# via cffi
# via
# -c requirements.txt
# cffi
pygments==2.18.0
# via ipython
pymacaroons==0.13.0
Expand All @@ -118,6 +141,7 @@ pyright==1.1.382.post1
# via -r test-requirements.in
pytest==8.3.3
# via
# -c requirements.txt
# -r test-requirements.in
# pytest-asyncio
# pytest-operator
Expand All @@ -129,10 +153,11 @@ pytest-operator==0.37.0
# via -r test-requirements.in
python-dateutil==2.9.0.post0
# via kubernetes
pytz==2024.1
pytz==2024.2
# via pyrfc3339
pyyaml==6.0.2
# via
# -c requirements.txt
# juju
# kubernetes
# ops
Expand All @@ -148,7 +173,7 @@ requests-oauthlib==2.0.0
# via kubernetes
rsa==4.9
# via google-auth
ruff==0.6.3
ruff==0.6.8
# via -r test-requirements.in
six==1.16.0
# via
Expand All @@ -167,19 +192,21 @@ traitlets==5.14.3
# matplotlib-inline
typing-extensions==4.12.2
# via
# -c requirements.txt
# pyright
# typing-inspect
typing-inspect==0.9.0
# via juju
urllib3==2.2.2
urllib3==2.2.3
# via
# kubernetes
# requests
wcwidth==0.2.13
# via prompt-toolkit
websocket-client==1.8.0
# via
# -c requirements.txt
# kubernetes
# ops
websockets==13.0.1
websockets==13.1
# via juju
Original file line number Diff line number Diff line change
Expand Up @@ -79,17 +79,17 @@ def test_given_unit_is_leader_when_set_nrf_information_then_data_is_in_applicati
leader=True,
relations=[nrf_relation],
)
action = scenario.Action(
name="set-nrf-information",
params={
"url": "http://whatever.url.com",
"relation-id": str(nrf_relation.relation_id),
},
)
params = {
"url": "http://whatever.url.com",
"relation-id": str(nrf_relation.id),
}

action_output = self.ctx.run_action(action, state_in)
state_out = self.ctx.run(
self.ctx.on.action("set-nrf-information", params=params), state_in
)

assert action_output.state.relations[0].local_app_data["url"] == "http://whatever.url.com"
relation = state_out.get_relation(nrf_relation.id)
assert relation.local_app_data["url"] == "http://whatever.url.com"

def test_given_unit_is_not_leader_when_set_nrf_information_then_data_is_not_in_application_databag( # noqa: E501
self,
Expand All @@ -102,16 +102,13 @@ def test_given_unit_is_not_leader_when_set_nrf_information_then_data_is_not_in_a
leader=False,
relations=[nrf_relation],
)
action = scenario.Action(
name="set-nrf-information",
params={
"url": "http://whatever.url.com",
"relation-id": str(nrf_relation.relation_id),
},
)
params = {
"url": "http://whatever.url.com",
"relation-id": str(nrf_relation.id),
}

with pytest.raises(Exception) as e:
self.ctx.run_action(action, state_in)
self.ctx.run(self.ctx.on.action("set-nrf-information", params=params), state_in)

assert "Unit must be leader to set application relation data" in str(e.value)

Expand All @@ -126,16 +123,13 @@ def test_given_provided_nrf_url_is_not_valid_when_set_nrf_information_then_error
leader=True,
relations=[nrf_relation],
)
action = scenario.Action(
name="set-nrf-information",
params={
"url": "invalid url",
"relation-id": str(nrf_relation.relation_id),
},
)
params = {
"url": "invalid url",
"relation-id": str(nrf_relation.id),
}

with pytest.raises(Exception) as e:
self.ctx.run_action(action, state_in)
self.ctx.run(self.ctx.on.action("set-nrf-information", params=params), state_in)

assert "invalid url" in str(e.value)

Expand All @@ -146,16 +140,13 @@ def test_given_unit_is_leader_and_fiveg_nrf_relation_is_not_created_when_set_nrf
leader=True,
relations=[],
)
action = scenario.Action(
name="set-nrf-information",
params={
"url": "http://whatever.url.com",
"relation-id": "0",
},
)
params = {
"url": "http://whatever.url.com",
"relation-id": "0",
}

with pytest.raises(Exception) as e:
self.ctx.run_action(action, state_in)
self.ctx.run(self.ctx.on.action("set-nrf-information", params=params), state_in)

assert "Relation fiveg_nrf not created yet." in str(e.value)

Expand All @@ -174,14 +165,15 @@ def test_given_unit_is_leader_when_set_nrf_information_in_all_relations_then_dat
leader=True,
relations=[nrf_relation_1, nrf_relation_2],
)
action = scenario.Action(
name="set-nrf-information-in-all-relations",
params={
"url": "http://whatever.url.com",
},
)
params = {
"url": "http://whatever.url.com",
}

action_output = self.ctx.run_action(action, state_in)
state_out = self.ctx.run(
self.ctx.on.action("set-nrf-information-in-all-relations", params=params), state_in
)

assert action_output.state.relations[0].local_app_data["url"] == "http://whatever.url.com"
assert action_output.state.relations[1].local_app_data["url"] == "http://whatever.url.com"
relation_1 = state_out.get_relation(nrf_relation_1.id)
relation_2 = state_out.get_relation(nrf_relation_2.id)
assert relation_1.local_app_data["url"] == "http://whatever.url.com"
assert relation_2.local_app_data["url"] == "http://whatever.url.com"
Loading

0 comments on commit c82433a

Please sign in to comment.