Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions src/fastapi_cloud_cli/commands/env.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,13 @@ def _delete_environment_variable(app_id: str, name: str) -> bool:
return True


def _set_environment_variable(app_id: str, name: str, value: str) -> None:
def _set_environment_variable(
app_id: str, name: str, value: str, is_secret: bool = False
) -> None:
with APIClient() as client:
response = client.patch(
response = client.post(
f"/apps/{app_id}/environment-variables/",
json={name: value},
json={"name": name, "value": value, "is_secret": is_secret},
)
response.raise_for_status()

Expand Down
12 changes: 3 additions & 9 deletions tests/test_env_set.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,7 @@ def test_shows_a_message_if_app_is_not_configured(logged_in_cli: None) -> None:
def test_shows_a_message_if_something_is_wrong(
logged_in_cli: None, respx_mock: respx.MockRouter, configured_app: Path
) -> None:
respx_mock.patch("/apps/123/environment-variables/").mock(
return_value=Response(500)
)
respx_mock.post("/apps/123/environment-variables/").mock(return_value=Response(500))

with changing_dir(configured_app):
result = runner.invoke(app, ["env", "set", "SOME_VAR", "secret"])
Expand All @@ -65,9 +63,7 @@ def test_shows_a_message_if_something_is_wrong(
def test_shows_message_when_it_sets(
logged_in_cli: None, respx_mock: respx.MockRouter, configured_app: Path
) -> None:
respx_mock.patch("/apps/123/environment-variables/").mock(
return_value=Response(200)
)
respx_mock.post("/apps/123/environment-variables/").mock(return_value=Response(200))

with changing_dir(configured_app):
result = runner.invoke(app, ["env", "set", "SOME_VAR", "secret"])
Expand All @@ -82,9 +78,7 @@ def test_asks_for_name_and_value(
) -> None:
steps = [*"SOME_VAR", Keys.ENTER, *"secret", Keys.ENTER]

respx_mock.patch("/apps/123/environment-variables/").mock(
return_value=Response(200)
)
respx_mock.post("/apps/123/environment-variables/").mock(return_value=Response(200))

with changing_dir(configured_app), patch(
"rich_toolkit.container.getchar", side_effect=steps
Expand Down