(t *testing.T)
| 152 | } |
| 153 | |
| 154 | func TestNetworkDirectResolveCreatesRoom(t *testing.T) { |
| 155 | t.Parallel() |
| 156 | |
| 157 | t.Run("Should create deterministic direct room", func(t *testing.T) { |
| 158 | homePaths := newTestHomePaths(t) |
| 159 | handlers := newTestHandlers(t, stubSessionManager{}, stubObserver{}, homePaths) |
| 160 | handlers.Config.Network.Enabled = true |
| 161 | |
| 162 | localSessionID := "sess-local" |
| 163 | handlers.Network = stubNetworkService{ |
| 164 | ListPeersFn: func(_ context.Context, workspaceID string, channel string) ([]network.PeerInfo, error) { |
| 165 | if workspaceID != networkUDSTestWorkspaceID { |
| 166 | t.Fatalf("ListPeers() workspaceID = %q, want %q", workspaceID, networkUDSTestWorkspaceID) |
| 167 | } |
| 168 | if channel != "builders" { |
| 169 | t.Fatalf("ListPeers() channel = %q, want builders", channel) |
| 170 | } |
| 171 | return []network.PeerInfo{ |
| 172 | { |
| 173 | PeerID: "coder.sess-abc", |
| 174 | Channel: "builders", |
| 175 | Local: true, |
| 176 | SessionID: &localSessionID, |
| 177 | }, |
| 178 | { |
| 179 | PeerID: "reviewer.sess-xyz", |
| 180 | Channel: "builders", |
| 181 | }, |
| 182 | }, nil |
| 183 | }, |
| 184 | } |
| 185 | |
| 186 | wantDirectID, wantPeerA, wantPeerB, err := network.DirectRoomIdentity( |
| 187 | networkUDSTestWorkspaceID, |
| 188 | "builders", |
| 189 | "coder.sess-abc", |
| 190 | "reviewer.sess-xyz", |
| 191 | ) |
| 192 | if err != nil { |
| 193 | t.Fatalf("DirectRoomIdentity() error = %v", err) |
| 194 | } |
| 195 | handlers.NetworkStore = testutil.StubNetworkStore{ |
| 196 | ResolveDirectRoomFn: func( |
| 197 | _ context.Context, |
| 198 | entry store.NetworkDirectRoomEntry, |
| 199 | ) (store.NetworkDirectRoomSummary, error) { |
| 200 | if entry.Channel != "builders" || |
| 201 | entry.DirectID != wantDirectID || |
| 202 | entry.PeerA != wantPeerA || |
| 203 | entry.PeerB != wantPeerB { |
| 204 | t.Fatalf("ResolveDirectRoom() entry = %#v, want deterministic direct-room identity", entry) |
| 205 | } |
| 206 | return store.NetworkDirectRoomSummary{ |
| 207 | Channel: entry.Channel, |
| 208 | DirectID: entry.DirectID, |
| 209 | PeerA: entry.PeerA, |
| 210 | PeerB: entry.PeerB, |
| 211 | OpenedAt: time.Date(2026, 4, 3, 12, 0, 1, 0, time.UTC), |
nothing calls this directly
no test coverage detected