fix(plugin): preserve credentials during local replacement (#39764)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
zyssyz123andautofix-ci[bot] authored and GitHub committed 2026-07-29 12:39:06 +00:00
1 parent 81fd1da3ff
commit 72c20daa61
15 files changed
+297 -61

No files matched your search

@@ -597,19 +597,28 @@ class TestPluginInstallFromPkgApi:
class TestPluginUninstallApi:
def test_uninstall(self, app: Flask):
@pytest.mark.parametrize("preserve_credentials", [False, True])
def test_uninstall(self, app: Flask, preserve_credentials: bool):
api = PluginUninstallApi()
method = unwrap(api.post)
payload = {"plugin_installation_id": "x"}
payload = {
"plugin_installation_id": "x",
"preserve_credentials": preserve_credentials,
}
with (
app.test_request_context("/", json=payload),
patch("controllers.console.workspace.plugin.PluginService.uninstall", return_value=True),
patch("controllers.console.workspace.plugin.PluginService.uninstall", return_value=True) as uninstall_mock,
):
result = method(api, "t1")
assert result["success"] is True
uninstall_mock.assert_called_once_with(
"t1",
"x",
preserve_credentials=preserve_credentials,
)
class TestPluginChangePermissionApi: