Removes deployment group deletion (#2479)

This commit is contained in:
Cristine Guadelupe 2024-02-09 15:59:36 +07:00 committed by GitHub
parent fe5598dbb5
commit c9d505a2b4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 11 additions and 149 deletions

View file

@ -198,21 +198,6 @@ defmodule Livebook.Teams do
end
end
@doc """
Deletes a Deployment Group.
"""
@spec delete_deployment_group(Team.t(), DeploymentGroup.t()) ::
:ok
| {:error, Ecto.Changeset.t()}
| {:transport_error, String.t()}
def delete_deployment_group(%Team{} = team, deployment_group) do
case Requests.delete_deployment_group(team, deployment_group) do
{:ok, _} -> :ok
{:error, %{"errors" => errors}} -> {:error, Requests.add_errors(deployment_group, errors)}
any -> any
end
end
@doc """
Creates an Agent Key.
"""

View file

@ -197,15 +197,6 @@ defmodule Livebook.Teams.Requests do
put("/api/v1/org/deployment-groups", params, team)
end
@doc """
Send a request to Livebook Team API to delete a deployment group.
"""
@spec delete_deployment_group(Team.t(), DeploymentGroup.t()) ::
{:ok, String.t()} | {:error, map() | String.t()} | {:transport_error, String.t()}
def delete_deployment_group(team, deployment_group) do
delete("/api/v1/org/deployment-groups", %{id: deployment_group.id}, team)
end
@doc """
Send a request to Livebook Team API to create an agent key.
"""

View file

@ -1,8 +1,6 @@
defmodule LivebookWeb.Hub.Teams.DeploymentGroupListComponent do
use LivebookWeb, :live_component
alias Livebook.Teams
@impl true
def render(assigns) do
~H"""
@ -37,23 +35,6 @@ defmodule LivebookWeb.Hub.Teams.DeploymentGroupListComponent do
<span>Edit</span>
</.link>
</.menu_item>
<.menu_item variant={:danger}>
<button
id={"hub-deployment-group-#{deployment_group.id}-delete"}
type="button"
role="menuitem"
class="text-red-600"
phx-click={
JS.push("delete_deployment_group",
value: %{id: deployment_group.id, name: deployment_group.name}
)
}
phx-target={@myself}
>
<.remix_icon icon="delete-bin-line" />
<span>Delete</span>
</button>
</.menu_item>
</.menu>
</div>
</div>
@ -66,31 +47,4 @@ defmodule LivebookWeb.Hub.Teams.DeploymentGroupListComponent do
</div>
"""
end
@impl true
def handle_event("delete_deployment_group", %{"id" => id, "name" => name}, socket) do
on_confirm = fn socket ->
hub = Livebook.Hubs.fetch_hub!(socket.assigns.hub.id)
deployment_groups = Teams.get_deployment_groups(hub)
deployment_group = Enum.find(deployment_groups, &(&1.id == id))
case Teams.delete_deployment_group(hub, deployment_group) do
:ok ->
socket
|> put_flash(:success, "Deployment group #{deployment_group.name} deleted successfully")
|> push_patch(to: ~p"/hub/#{hub.id}")
{:transport_error, reason} ->
put_flash(socket, :error, reason)
end
end
{:noreply,
confirm(socket, on_confirm,
title: "Delete hub deployment group",
description: "Are you sure you want to delete #{name}?",
confirm_text: "delete",
confirm_icon: "delete-bin-6-line"
)}
end
end

View file

@ -11,7 +11,6 @@ defmodule LivebookProto do
SecretDeleted,
SecretUpdated,
DeploymentGroupCreated,
DeploymentGroupDeleted,
DeploymentGroupUpdated,
UserConnected
}
@ -32,7 +31,6 @@ defmodule LivebookProto do
| SecretDeleted.t()
| SecretUpdated.t()
| DeploymentGroupCreated.t()
| DeploymentGroupDeleted.t()
| DeploymentGroupUpdated.t()
| UserConnected.t()

View file

@ -1,5 +0,0 @@
defmodule LivebookProto.DeploymentGroupDeleted do
use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"
field :id, 1, type: :string
end

View file

@ -48,22 +48,17 @@ defmodule LivebookProto.Event do
json_name: "deploymentGroupUpdated",
oneof: 0
field :deployment_group_deleted, 10,
type: LivebookProto.DeploymentGroupDeleted,
json_name: "deploymentGroupDeleted",
oneof: 0
field :agent_connected, 11,
field :agent_connected, 10,
type: LivebookProto.AgentConnected,
json_name: "agentConnected",
oneof: 0
field :agent_key_created, 12,
field :agent_key_created, 11,
type: LivebookProto.AgentKeyCreated,
json_name: "agentKeyCreated",
oneof: 0
field :agent_key_deleted, 13,
field :agent_key_deleted, 12,
type: LivebookProto.AgentKeyDeleted,
json_name: "agentKeyDeleted",
oneof: 0

View file

@ -123,9 +123,6 @@ defmodule Livebook.Hubs.TeamClientTest do
# receives `{:deployment_group_updated, deployment_group}` event
assert_receive {:deployment_group_updated, ^updated_deployment_group}
# deletes the deployment group
assert Livebook.Teams.delete_deployment_group(team, updated_deployment_group) == :ok
# receives `{:deployment_group_deleted, deployment_group}` event
assert_receive {:deployment_group_deleted, ^updated_deployment_group}
end

View file

@ -242,16 +242,4 @@ defmodule Livebook.TeamsTest do
assert "is invalid" in errors_on(changeset).mode
end
end
describe "delete_deployment_group/2" do
test "deletes a deployment group", %{user: user, node: node} do
team = create_team_hub(user, node)
deployment_group = build(:deployment_group, name: "BAR", mode: :online)
assert {:ok, id} = Teams.create_deployment_group(team, deployment_group)
delete_deployment_group = %{deployment_group | id: to_string(id)}
assert Teams.delete_deployment_group(team, delete_deployment_group) == :ok
end
end
end

View file

@ -86,7 +86,7 @@ defmodule LivebookWeb.Integration.Hub.DeploymentGroupLiveTest do
}
}
new_mode = :offline
new_name = "FOO"
{:ok, view, html} =
live(conn, ~p"/hub/#{hub.id}/deployment-groups/edit/#{deployment_group.id}")
@ -106,13 +106,13 @@ defmodule LivebookWeb.Integration.Hub.DeploymentGroupLiveTest do
view
|> element("#deployment-groups-form")
|> render_submit(put_in(attrs.deployment_group.mode, new_mode))
|> render_submit(put_in(attrs.deployment_group.name, new_name))
updated_deployment_group = %{deployment_group | mode: new_mode}
updated_deployment_group = %{deployment_group | name: new_name}
assert_receive {:deployment_group_updated, ^updated_deployment_group}
assert_patch(view, "/hub/#{hub.id}/deployment-groups/edit/#{deployment_group.id}")
assert render(view) =~ "Deployment group TEAMS_EDIT_DEPLOYMENT_GROUP updated successfully"
assert render(view) =~ "Deployment group FOO updated successfully"
assert updated_deployment_group in Livebook.Teams.get_deployment_groups(hub)
end

View file

@ -375,7 +375,7 @@ defmodule LivebookWeb.Integration.Hub.EditLiveTest do
}
}
new_mode = :offline
new_name = "FOO"
view
|> element("#hub-deployment-group-#{deployment_group.id}-edit")
@ -401,47 +401,16 @@ defmodule LivebookWeb.Integration.Hub.EditLiveTest do
view
|> element("#deployment-groups-form")
|> render_submit(put_in(attrs.deployment_group.mode, new_mode))
|> render_submit(put_in(attrs.deployment_group.name, new_name))
updated_deployment_group = %{deployment_group | mode: new_mode}
updated_deployment_group = %{deployment_group | name: new_name}
assert_receive {:deployment_group_updated, ^updated_deployment_group}
assert_patch(view, "/hub/#{hub.id}/deployment-groups/edit/#{deployment_group.id}")
assert render(view) =~ "Deployment group TEAM_EDIT_DEPLOYMENT_GROUP updated successfully"
assert render(view) =~ "Deployment group FOO updated successfully"
assert updated_deployment_group in Livebook.Teams.get_deployment_groups(hub)
end
test "deletes existing deployment group", %{conn: conn, hub: hub} do
insert_deployment_group(
name: "TEAM_DELETE_DEPLOYMENT_GROUP",
mode: :online,
hub_id: hub.id
)
assert_receive {:deployment_group_created,
%DeploymentGroup{name: "TEAM_DELETE_DEPLOYMENT_GROUP"} = deployment_group}
{:ok, view, _html} = live(conn, ~p"/hub/#{hub.id}")
refute view
|> element("#deployment-groups-form button[disabled]")
|> has_element?()
view
|> element("#hub-deployment-group-#{deployment_group.id}-delete", "Delete")
|> render_click()
render_confirm(view)
assert_receive {:deployment_group_deleted,
%DeploymentGroup{name: "TEAM_DELETE_DEPLOYMENT_GROUP"}}
assert_patch(view, "/hub/#{hub.id}")
assert render(view) =~ "Deployment group TEAM_DELETE_DEPLOYMENT_GROUP deleted successfully"
refute render(element(view, "#hub-deployment-groups-list")) =~ deployment_group.name
refute deployment_group in Livebook.Teams.get_deployment_groups(hub)
end
test "raises an error if the deployment group does not exist", %{conn: conn, hub: hub} do
assert_raise LivebookWeb.NotFoundError, fn ->
live(conn, ~p"/hub/#{hub.id}/deployment-groups/edit/9999999")

View file

@ -188,16 +188,6 @@ defmodule Livebook.HubHelpers do
send(pid, {:event, :deployment_group_created, deployment_group_created})
end
def remove_offline_hub_deployment_group(deployment_group) do
hub = offline_hub()
{:ok, pid} = hub_pid(hub)
deployment_group_deleted =
%LivebookProto.DeploymentGroupDeleted{id: deployment_group.id}
send(pid, {:event, :deployment_group_deleted, deployment_group_deleted})
end
def put_offline_hub_file_system(file_system) do
hub = offline_hub()
{:ok, pid} = hub_pid(hub)