(ctx context.Context, t *testing.T, logger slog.Logger)
| 47 | } |
| 48 | |
| 49 | func newHarness(ctx context.Context, t *testing.T, logger slog.Logger) *harness { |
| 50 | h := &harness{ |
| 51 | workspace: database.Workspace{ |
| 52 | ID: workspaceID, |
| 53 | OrganizationID: orgID, |
| 54 | OwnerID: userID, |
| 55 | }, |
| 56 | orgID: orgID, |
| 57 | userID: userID, |
| 58 | logger: logger, |
| 59 | } |
| 60 | ps := pubsub.NewInMemory() |
| 61 | h.pub = ps |
| 62 | |
| 63 | var authzDB database.Store |
| 64 | _, h.db, authzDB, _ = coderdtest.MockedDatabaseWithAuthz(t, logger) |
| 65 | h.watcher = workspaceconnwatcher.New(ctx, logger.Named("watcher"), ps, authzDB) |
| 66 | t.Cleanup(h.watcher.Close) |
| 67 | return h |
| 68 | } |
| 69 | |
| 70 | func (h *harness) Dial(ctx context.Context, url string) (*wsjson.Decoder[workspacesdk.ConnectionWatchEvent], error) { |
| 71 | rt := testutil.InMemWebsocketRoundTripper{ |
no test coverage detected