Skip to content

Commit 4cbd6e4

Browse files
committed
fix pg test data
1 parent 9f29411 commit 4cbd6e4

File tree

2 files changed

+67
-1
lines changed

2 files changed

+67
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
INSERT INTO workspace_agent_port_share
22
(workspace_id, agent_name, port, share_level)
33
VALUES
4-
('b90547be-8870-4d68-8184-e8b2242b7c01', 'qua', 8080, 2) RETURNING *;
4+
('b90547be-8870-4d68-8184-e8b2242b7c01', 'qua', 8080, "public") RETURNING *;

coderd/workspaceapps/apptest/apptest.go

+66
Original file line numberDiff line numberDiff line change
@@ -909,6 +909,72 @@ func Run(t *testing.T, appHostIsPrimary bool, factory DeploymentFactory) {
909909
require.Equal(t, http.StatusOK, resp.StatusCode)
910910
})
911911

912+
t.Run("PortSharingNoShare", func(t *testing.T) {
913+
t.Parallel()
914+
915+
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
916+
defer cancel()
917+
918+
userClient, _ := coderdtest.CreateAnotherUser(t, appDetails.SDKClient, appDetails.FirstUser.OrganizationID, rbac.RoleMember())
919+
userAppClient := appDetails.AppClient(t)
920+
userAppClient.SetSessionToken(userClient.SessionToken())
921+
922+
resp, err := requestWithRetries(ctx, t, userAppClient, http.MethodGet, appDetails.SubdomainAppURL(appDetails.Apps.Port).String(), nil)
923+
require.NoError(t, err)
924+
defer resp.Body.Close()
925+
require.Equal(t, http.StatusNotFound, resp.StatusCode)
926+
})
927+
928+
t.Run("PortSharingAuthenticatedOK", func(t *testing.T) {
929+
t.Parallel()
930+
931+
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
932+
defer cancel()
933+
934+
port, err := strconv.ParseInt(appDetails.Apps.Port.AppSlugOrPort, 10, 32)
935+
require.NoError(t, err)
936+
err = appDetails.SDKClient.UpdateWorkspaceAgentPortShare(ctx, appDetails.Workspace.ID, codersdk.UpdateWorkspaceAgentPortShareRequest{
937+
AgentName: proxyTestAgentName,
938+
Port: int32(port),
939+
ShareLevel: codersdk.WorkspaceAgentPortShareLevelAuthenticated,
940+
})
941+
require.NoError(t, err)
942+
943+
userClient, _ := coderdtest.CreateAnotherUser(t, appDetails.SDKClient, appDetails.FirstUser.OrganizationID, rbac.RoleMember())
944+
userAppClient := appDetails.AppClient(t)
945+
userAppClient.SetSessionToken(userClient.SessionToken())
946+
947+
resp, err := requestWithRetries(ctx, t, userAppClient, http.MethodGet, appDetails.SubdomainAppURL(appDetails.Apps.Port).String(), nil)
948+
require.NoError(t, err)
949+
defer resp.Body.Close()
950+
require.Equal(t, http.StatusOK, resp.StatusCode)
951+
})
952+
953+
t.Run("PortSharingPublicOK", func(t *testing.T) {
954+
t.Parallel()
955+
956+
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
957+
defer cancel()
958+
959+
port, err := strconv.ParseInt(appDetails.Apps.Port.AppSlugOrPort, 10, 32)
960+
require.NoError(t, err)
961+
err = appDetails.SDKClient.UpdateWorkspaceAgentPortShare(ctx, appDetails.Workspace.ID, codersdk.UpdateWorkspaceAgentPortShareRequest{
962+
AgentName: proxyTestAgentName,
963+
Port: int32(port),
964+
ShareLevel: codersdk.WorkspaceAgentPortShareLevelPublic,
965+
})
966+
require.NoError(t, err)
967+
968+
_, _ = coderdtest.CreateAnotherUser(t, appDetails.SDKClient, appDetails.FirstUser.OrganizationID, rbac.RoleMember())
969+
userAppClient := appDetails.AppClient(t)
970+
userAppClient.SetSessionToken("")
971+
972+
resp, err := requestWithRetries(ctx, t, userAppClient, http.MethodGet, appDetails.SubdomainAppURL(appDetails.Apps.Port).String(), nil)
973+
require.NoError(t, err)
974+
defer resp.Body.Close()
975+
require.Equal(t, http.StatusOK, resp.StatusCode)
976+
})
977+
912978
t.Run("ProxyError", func(t *testing.T) {
913979
t.Parallel()
914980

0 commit comments

Comments
 (0)