From c9d505a2b4bb618375642c7440862548d308cbc7 Mon Sep 17 00:00:00 2001 From: Cristine Guadelupe Date: Fri, 9 Feb 2024 15:59:36 +0700 Subject: [PATCH] Removes deployment group deletion (#2479) --- lib/livebook/teams.ex | 15 ------ lib/livebook/teams/requests.ex | 9 ---- .../teams/deployment_group_list_component.ex | 46 ------------------- proto/lib/livebook_proto.ex | 2 - .../deployment_group_deleted.pb.ex | 5 -- proto/lib/livebook_proto/event.pb.ex | 11 ++--- test/livebook_teams/hubs/team_client_test.exs | 3 -- test/livebook_teams/teams_test.exs | 12 ----- .../web/hub/deployment_group_live_test.exs | 8 ++-- .../livebook_teams/web/hub/edit_live_test.exs | 39 ++-------------- test/support/hub_helpers.ex | 10 ---- 11 files changed, 11 insertions(+), 149 deletions(-) delete mode 100644 proto/lib/livebook_proto/deployment_group_deleted.pb.ex diff --git a/lib/livebook/teams.ex b/lib/livebook/teams.ex index cb5fddbb6..798688fc3 100644 --- a/lib/livebook/teams.ex +++ b/lib/livebook/teams.ex @@ -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. """ diff --git a/lib/livebook/teams/requests.ex b/lib/livebook/teams/requests.ex index 0e3bfdcce..3c9d55ae4 100644 --- a/lib/livebook/teams/requests.ex +++ b/lib/livebook/teams/requests.ex @@ -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. """ diff --git a/lib/livebook_web/live/hub/teams/deployment_group_list_component.ex b/lib/livebook_web/live/hub/teams/deployment_group_list_component.ex index 32ddef2df..e2ccce085 100644 --- a/lib/livebook_web/live/hub/teams/deployment_group_list_component.ex +++ b/lib/livebook_web/live/hub/teams/deployment_group_list_component.ex @@ -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 Edit - <.menu_item variant={:danger}> - - @@ -66,31 +47,4 @@ defmodule LivebookWeb.Hub.Teams.DeploymentGroupListComponent do """ 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 diff --git a/proto/lib/livebook_proto.ex b/proto/lib/livebook_proto.ex index dc66c5341..a4f161482 100644 --- a/proto/lib/livebook_proto.ex +++ b/proto/lib/livebook_proto.ex @@ -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() diff --git a/proto/lib/livebook_proto/deployment_group_deleted.pb.ex b/proto/lib/livebook_proto/deployment_group_deleted.pb.ex deleted file mode 100644 index bdafe07dd..000000000 --- a/proto/lib/livebook_proto/deployment_group_deleted.pb.ex +++ /dev/null @@ -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 diff --git a/proto/lib/livebook_proto/event.pb.ex b/proto/lib/livebook_proto/event.pb.ex index 0ce585e0a..acef8844e 100644 --- a/proto/lib/livebook_proto/event.pb.ex +++ b/proto/lib/livebook_proto/event.pb.ex @@ -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 diff --git a/test/livebook_teams/hubs/team_client_test.exs b/test/livebook_teams/hubs/team_client_test.exs index 7d62344e6..c55a6f73c 100644 --- a/test/livebook_teams/hubs/team_client_test.exs +++ b/test/livebook_teams/hubs/team_client_test.exs @@ -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 diff --git a/test/livebook_teams/teams_test.exs b/test/livebook_teams/teams_test.exs index cdc20f622..3b1c6cf68 100644 --- a/test/livebook_teams/teams_test.exs +++ b/test/livebook_teams/teams_test.exs @@ -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 diff --git a/test/livebook_teams/web/hub/deployment_group_live_test.exs b/test/livebook_teams/web/hub/deployment_group_live_test.exs index 1fd6ee2f6..07c47dc4b 100644 --- a/test/livebook_teams/web/hub/deployment_group_live_test.exs +++ b/test/livebook_teams/web/hub/deployment_group_live_test.exs @@ -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 diff --git a/test/livebook_teams/web/hub/edit_live_test.exs b/test/livebook_teams/web/hub/edit_live_test.exs index 0f46e6821..fda9576c3 100644 --- a/test/livebook_teams/web/hub/edit_live_test.exs +++ b/test/livebook_teams/web/hub/edit_live_test.exs @@ -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") diff --git a/test/support/hub_helpers.ex b/test/support/hub_helpers.ex index 6913cf931..5b6f610bd 100644 --- a/test/support/hub_helpers.ex +++ b/test/support/hub_helpers.ex @@ -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)