(t *testing.T)
| 20 | const networkHTTPTestWorkspaceID = "ws-workspace" |
| 21 | |
| 22 | func TestNetworkDirectResolveCreatesRoom(t *testing.T) { |
| 23 | t.Parallel() |
| 24 | |
| 25 | t.Run("Should create deterministic direct room", func(t *testing.T) { |
| 26 | t.Parallel() |
| 27 | |
| 28 | homePaths := newTestHomePaths(t) |
| 29 | handlers := newTestHandlers(t, stubSessionManager{}, stubObserver{}, homePaths) |
| 30 | handlers.Config.Network.Enabled = true |
| 31 | |
| 32 | localSessionID := "sess-local" |
| 33 | handlers.Network = testutil.StubNetworkService{ |
| 34 | ListPeersFn: func(_ context.Context, _ string, channel string) ([]network.PeerInfo, error) { |
| 35 | if channel != "builders" { |
| 36 | t.Fatalf("ListPeers() channel = %q, want builders", channel) |
| 37 | } |
| 38 | return []network.PeerInfo{ |
| 39 | { |
| 40 | PeerID: "coder.sess-abc", |
| 41 | Channel: "builders", |
| 42 | Local: true, |
| 43 | SessionID: &localSessionID, |
| 44 | }, |
| 45 | { |
| 46 | PeerID: "reviewer.sess-xyz", |
| 47 | Channel: "builders", |
| 48 | }, |
| 49 | }, nil |
| 50 | }, |
| 51 | } |
| 52 | |
| 53 | wantDirectID, wantPeerA, wantPeerB, err := network.DirectRoomIdentity( |
| 54 | networkHTTPTestWorkspaceID, |
| 55 | "builders", |
| 56 | "coder.sess-abc", |
| 57 | "reviewer.sess-xyz", |
| 58 | ) |
| 59 | if err != nil { |
| 60 | t.Fatalf("DirectRoomIdentity() error = %v", err) |
| 61 | } |
| 62 | handlers.NetworkStore = testutil.StubNetworkStore{ |
| 63 | ResolveDirectRoomFn: func( |
| 64 | _ context.Context, |
| 65 | entry store.NetworkDirectRoomEntry, |
| 66 | ) (store.NetworkDirectRoomSummary, error) { |
| 67 | if entry.Channel != "builders" || |
| 68 | entry.DirectID != wantDirectID || |
| 69 | entry.PeerA != wantPeerA || |
| 70 | entry.PeerB != wantPeerB { |
| 71 | t.Fatalf("ResolveDirectRoom() entry = %#v, want deterministic direct-room identity", entry) |
| 72 | } |
| 73 | return store.NetworkDirectRoomSummary{ |
| 74 | Channel: entry.Channel, |
| 75 | DirectID: entry.DirectID, |
| 76 | PeerA: entry.PeerA, |
| 77 | PeerB: entry.PeerB, |
| 78 | OpenedAt: time.Date(2026, 4, 3, 12, 0, 1, 0, time.UTC), |
| 79 | LastActivityAt: time.Date(2026, 4, 3, 12, 0, 1, 0, time.UTC), |
nothing calls this directly
no test coverage detected