mirror of
https://github.com/livebook-dev/livebook.git
synced 2025-10-09 21:16:26 +08:00
Improve teams tests (#2151)
This commit is contained in:
parent
4eaea183ef
commit
c39902cd3a
4 changed files with 27 additions and 39 deletions
|
@ -191,6 +191,9 @@ defmodule Livebook.Hubs do
|
||||||
{:ok, _} ->
|
{:ok, _} ->
|
||||||
:ok
|
:ok
|
||||||
|
|
||||||
|
{:error, {:already_started, _pid}} ->
|
||||||
|
:ok
|
||||||
|
|
||||||
{:error, reason} ->
|
{:error, reason} ->
|
||||||
Logger.error("Could not start Hub #{hub.id}: #{Exception.format_exit(reason)}")
|
Logger.error("Could not start Hub #{hub.id}: #{Exception.format_exit(reason)}")
|
||||||
end
|
end
|
||||||
|
|
|
@ -12,7 +12,7 @@ defmodule Livebook.Hubs.TeamClientTest do
|
||||||
|
|
||||||
describe "start_link/1" do
|
describe "start_link/1" do
|
||||||
test "successfully authenticates the web socket connection", %{user: user, node: node} do
|
test "successfully authenticates the web socket connection", %{user: user, node: node} do
|
||||||
team = create_team_hub(user, node)
|
team = build_team_hub(user, node)
|
||||||
id = team.id
|
id = team.id
|
||||||
|
|
||||||
refute TeamClient.connected?(team.id)
|
refute TeamClient.connected?(team.id)
|
||||||
|
@ -49,9 +49,6 @@ defmodule Livebook.Hubs.TeamClientTest do
|
||||||
team = create_team_hub(user, node)
|
team = create_team_hub(user, node)
|
||||||
id = team.id
|
id = team.id
|
||||||
|
|
||||||
refute TeamClient.connected?(team.id)
|
|
||||||
|
|
||||||
TeamClient.start_link(team)
|
|
||||||
assert_receive {:hub_connected, ^id}
|
assert_receive {:hub_connected, ^id}
|
||||||
|
|
||||||
secret = build(:secret, name: "SECRET_CREATED_FOO", value: "BAR")
|
secret = build(:secret, name: "SECRET_CREATED_FOO", value: "BAR")
|
||||||
|
@ -69,9 +66,6 @@ defmodule Livebook.Hubs.TeamClientTest do
|
||||||
team = create_team_hub(user, node)
|
team = create_team_hub(user, node)
|
||||||
id = team.id
|
id = team.id
|
||||||
|
|
||||||
refute TeamClient.connected?(team.id)
|
|
||||||
|
|
||||||
TeamClient.start_link(team)
|
|
||||||
assert_receive {:hub_connected, ^id}
|
assert_receive {:hub_connected, ^id}
|
||||||
|
|
||||||
secret = build(:secret, name: "SECRET_UPDATED_FOO", value: "BAR")
|
secret = build(:secret, name: "SECRET_UPDATED_FOO", value: "BAR")
|
||||||
|
@ -98,9 +92,6 @@ defmodule Livebook.Hubs.TeamClientTest do
|
||||||
team = create_team_hub(user, node)
|
team = create_team_hub(user, node)
|
||||||
id = team.id
|
id = team.id
|
||||||
|
|
||||||
refute TeamClient.connected?(team.id)
|
|
||||||
|
|
||||||
TeamClient.start_link(team)
|
|
||||||
assert_receive {:hub_connected, ^id}
|
assert_receive {:hub_connected, ^id}
|
||||||
|
|
||||||
secret = build(:secret, name: "SECRET_DELETED_FOO", value: "BAR")
|
secret = build(:secret, name: "SECRET_DELETED_FOO", value: "BAR")
|
||||||
|
|
|
@ -2,61 +2,55 @@ defmodule Livebook.HubsTest do
|
||||||
use Livebook.TeamsIntegrationCase, async: true
|
use Livebook.TeamsIntegrationCase, async: true
|
||||||
|
|
||||||
alias Livebook.Hubs
|
alias Livebook.Hubs
|
||||||
@sample_hub "team-foo-bar-baz"
|
|
||||||
|
|
||||||
setup do
|
test "get_hubs/0 returns a list of persisted hubs", %{user: user, node: node} do
|
||||||
on_exit(fn -> Hubs.delete_hub(@sample_hub) end)
|
team = create_team_hub(user, node)
|
||||||
:ok
|
|
||||||
end
|
|
||||||
|
|
||||||
test "get_hubs/0 returns a list of persisted hubs" do
|
|
||||||
team = insert_hub(:team, id: @sample_hub)
|
|
||||||
assert team in Hubs.get_hubs()
|
assert team in Hubs.get_hubs()
|
||||||
|
|
||||||
Hubs.delete_hub(@sample_hub)
|
Hubs.delete_hub(team.id)
|
||||||
refute team in Hubs.get_hubs()
|
refute team in Hubs.get_hubs()
|
||||||
end
|
end
|
||||||
|
|
||||||
test "get_metadata/0 returns a list of persisted hubs normalized" do
|
test "get_metadatas/0 returns a list of persisted hubs normalized", %{user: user, node: node} do
|
||||||
team = insert_hub(:team, id: @sample_hub)
|
team = create_team_hub(user, node)
|
||||||
metadata = Hubs.Provider.to_metadata(team)
|
metadata = Hubs.Provider.to_metadata(team)
|
||||||
|
|
||||||
assert metadata in Hubs.get_metadatas()
|
assert metadata in Hubs.get_metadatas()
|
||||||
|
|
||||||
Hubs.delete_hub(@sample_hub)
|
Hubs.delete_hub(team.id)
|
||||||
refute metadata in Hubs.get_metadatas()
|
refute metadata in Hubs.get_metadatas()
|
||||||
end
|
end
|
||||||
|
|
||||||
test "fetch_hub!/1 returns one persisted team" do
|
test "fetch_hub!/1 returns one persisted team", %{user: user, node: node} do
|
||||||
assert_raise Livebook.Storage.NotFoundError,
|
assert_raise Livebook.Storage.NotFoundError,
|
||||||
~s/could not find entry in "hubs" with ID "#{@sample_hub}"/,
|
~s/could not find entry in "hubs" with ID "nonexistent"/,
|
||||||
fn ->
|
fn ->
|
||||||
Hubs.fetch_hub!(@sample_hub)
|
Hubs.fetch_hub!("nonexistent")
|
||||||
end
|
end
|
||||||
|
|
||||||
team = insert_hub(:team, id: @sample_hub)
|
team = create_team_hub(user, node)
|
||||||
|
|
||||||
assert Hubs.fetch_hub!(@sample_hub) == team
|
assert Hubs.fetch_hub!(team.id) == team
|
||||||
end
|
end
|
||||||
|
|
||||||
test "hub_exists?/1" do
|
test "hub_exists?/1", %{user: user, node: node} do
|
||||||
refute Hubs.hub_exists?(@sample_hub)
|
team = build_team_hub(user, node)
|
||||||
insert_hub(:team, id: @sample_hub)
|
refute Hubs.hub_exists?(team.id)
|
||||||
assert Hubs.hub_exists?(@sample_hub)
|
Hubs.save_hub(team)
|
||||||
|
assert Hubs.hub_exists?(team.id)
|
||||||
end
|
end
|
||||||
|
|
||||||
test "save_hub/1 persists hub" do
|
test "save_hub/1 persists hub", %{user: user, node: node} do
|
||||||
team = build(:team, id: @sample_hub)
|
team = build_team_hub(user, node)
|
||||||
Hubs.save_hub(team)
|
Hubs.save_hub(team)
|
||||||
|
|
||||||
assert Hubs.fetch_hub!(@sample_hub) == team
|
assert Hubs.fetch_hub!(team.id) == team
|
||||||
end
|
end
|
||||||
|
|
||||||
test "save_hub/1 updates hub" do
|
test "save_hub/1 updates hub", %{user: user, node: node} do
|
||||||
team = insert_hub(:team, id: @sample_hub)
|
team = create_team_hub(user, node)
|
||||||
Hubs.save_hub(%{team | hub_emoji: "🐈"})
|
Hubs.save_hub(%{team | hub_emoji: "🐈"})
|
||||||
|
|
||||||
refute Hubs.fetch_hub!(@sample_hub) == team
|
assert Hubs.fetch_hub!(team.id).hub_emoji == "🐈"
|
||||||
assert Hubs.fetch_hub!(@sample_hub).hub_emoji == "🐈"
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -40,7 +40,7 @@ defmodule Livebook.HubHelpers do
|
||||||
{hub, headers}
|
{hub, headers}
|
||||||
end
|
end
|
||||||
|
|
||||||
defp build_team_hub(user, node) do
|
def build_team_hub(user, node) do
|
||||||
teams_org = build(:org)
|
teams_org = build(:org)
|
||||||
teams_key = teams_org.teams_key
|
teams_key = teams_org.teams_key
|
||||||
key_hash = Livebook.Teams.Org.key_hash(teams_org)
|
key_hash = Livebook.Teams.Org.key_hash(teams_org)
|
||||||
|
|
Loading…
Add table
Reference in a new issue