@@ -3,9 +3,18 @@ import { describe, expect, it } from "@effect/vitest"
33import { Effect } from "effect"
44
55import type { ApiProjectDetails } from "../../src/docker-git/api-project-codec.js"
6- import { openResolvedProjectSshEffect , resolveOpenProjectEffect , selectOpenProject } from "../../src/docker-git/open-project.js"
6+ import {
7+ openResolvedProjectSshEffect ,
8+ resolveOpenProjectEffect ,
9+ selectOpenProject
10+ } from "../../src/docker-git/open-project.js"
711import { makeProjectItem } from "./fixtures/project-item.js"
812
13+ // eslint-disable-next-line sonarjs/no-hardcoded-ip
14+ const TEST_CONTAINER_IP = "172.17.0.15"
15+ // eslint-disable-next-line sonarjs/no-hardcoded-ip
16+ const TEST_CONTAINER_IP_ALT = "172.17.0.20"
17+
918const defaultProject = {
1019 id : "/controller/org/repo" ,
1120 displayName : "org/repo" ,
@@ -46,7 +55,7 @@ describe("selectOpenProject", () => {
4655 Effect . gen ( function * ( _ ) {
4756 const item = makeProjectItem ( {
4857 projectDir : "/controller/org/repo/issue-7" ,
49- sshCommand : " ssh -p 22 dev@172.17.0.20"
58+ sshCommand : ` ssh -p 22 dev@${ TEST_CONTAINER_IP_ALT } `
5059 } )
5160 const events : Array < string > = [ ]
5261
@@ -70,7 +79,7 @@ describe("selectOpenProject", () => {
7079 )
7180
7281 expect ( events ) . toEqual ( [
73- " log:Opening SSH: ssh -p 22 dev@172.17.0.20" ,
82+ ` log:Opening SSH: ssh -p 22 dev@${ TEST_CONTAINER_IP_ALT } ` ,
7483 "connect:/controller/org/repo/issue-7"
7584 ] )
7685 } ) )
@@ -117,8 +126,8 @@ describe("selectOpenProject", () => {
117126 } )
118127 const preferred = makeProjectItem ( {
119128 ...item ,
120- ipAddress : "172.17.0.15" ,
121- sshCommand : " ssh -p 22 dev@172.17.0.15"
129+ ipAddress : TEST_CONTAINER_IP ,
130+ sshCommand : ` ssh -p 22 dev@${ TEST_CONTAINER_IP } `
122131 } )
123132 const events : Array < string > = [ ]
124133
@@ -129,7 +138,7 @@ describe("selectOpenProject", () => {
129138 events . push ( `log:${ message } ` )
130139 } ) ,
131140 resolvePreferredItem : ( ) => Effect . succeed ( preferred ) ,
132- probeReady : ( selected ) => Effect . succeed ( selected . ipAddress === "172.17.0.15" ) ,
141+ probeReady : ( selected ) => Effect . succeed ( selected . ipAddress === TEST_CONTAINER_IP ) ,
133142 connect : ( selected ) =>
134143 Effect . sync ( ( ) => {
135144 events . push ( `connect:${ selected . sshCommand } ` )
@@ -142,8 +151,8 @@ describe("selectOpenProject", () => {
142151 )
143152
144153 expect ( events ) . toEqual ( [
145- " log:Opening SSH: ssh -p 22 dev@172.17.0.15" ,
146- " connect:ssh -p 22 dev@172.17.0.15"
154+ ` log:Opening SSH: ssh -p 22 dev@${ TEST_CONTAINER_IP } ` ,
155+ ` connect:ssh -p 22 dev@${ TEST_CONTAINER_IP } `
147156 ] )
148157 } ) )
149158
@@ -156,8 +165,8 @@ describe("selectOpenProject", () => {
156165 } )
157166 const preferred = makeProjectItem ( {
158167 ...item ,
159- ipAddress : "172.17.0.20" ,
160- sshCommand : " ssh -p 22 dev@172.17.0.20"
168+ ipAddress : TEST_CONTAINER_IP_ALT ,
169+ sshCommand : ` ssh -p 22 dev@${ TEST_CONTAINER_IP_ALT } `
161170 } )
162171 const events : Array < string > = [ ]
163172
@@ -168,7 +177,7 @@ describe("selectOpenProject", () => {
168177 events . push ( `log:${ message } ` )
169178 } ) ,
170179 resolvePreferredItem : ( ) => Effect . succeed ( preferred ) ,
171- probeReady : ( selected ) => Effect . succeed ( selected . ipAddress !== "172.17.0.20" ) ,
180+ probeReady : ( selected ) => Effect . succeed ( selected . ipAddress !== TEST_CONTAINER_IP_ALT ) ,
172181 connect : ( selected ) =>
173182 Effect . sync ( ( ) => {
174183 events . push ( `connect:${ selected . sshCommand } ` )
@@ -272,7 +281,7 @@ describe("selectOpenProject", () => {
272281 Effect . succeed ( {
273282 containerName : "dg-openclaw_autodeployer" ,
274283 running : true ,
275- ipAddress : "172.17.0.15" ,
284+ ipAddress : TEST_CONTAINER_IP ,
276285 projectWorkingDir : "/controller/telegramgpt/openclaw_autodeployer" ,
277286 composeService : "dg-openclaw_autodeployer"
278287 } )
0 commit comments