MCPcopy Create free account
hub / github.com/compozy/agh / TestNetworkDirectResolveCreatesRoom

Function TestNetworkDirectResolveCreatesRoom

internal/api/udsapi/network_test.go:154–237  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

152}
153
154func 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),

Callers

nothing calls this directly

Calls 8

DirectRoomIdentityFunction · 0.92
newTestHomePathsFunction · 0.70
newTestHandlersFunction · 0.70
newTestRouterFunction · 0.70
performRequestFunction · 0.70
decodeJSONResponseFunction · 0.70
RunMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected