77)
88
99func TestPreparePodSpecShareProcessNamespace (t * testing.T ) {
10- spec , err := PreparePodSpec (corev1.PodSpec {}, nil , "/workspace" , "ghcr.io/acmore/okdev-sidecar:edge" , false , "" )
10+ spec , err := PreparePodSpec (corev1.PodSpec {}, nil , "/workspace" , "ghcr.io/acmore/okdev-sidecar:edge" , false , false , "" )
1111 if err != nil {
1212 t .Fatal (err )
1313 }
@@ -17,7 +17,7 @@ func TestPreparePodSpecShareProcessNamespace(t *testing.T) {
1717}
1818
1919func TestPreparePodSpecWorkspaceDefaultsToEmptyDir (t * testing.T ) {
20- spec , err := PreparePodSpec (corev1.PodSpec {}, nil , "/workspace" , "ghcr.io/acmore/okdev-sidecar:edge" , false , "" )
20+ spec , err := PreparePodSpec (corev1.PodSpec {}, nil , "/workspace" , "ghcr.io/acmore/okdev-sidecar:edge" , false , false , "" )
2121 if err != nil {
2222 t .Fatal (err )
2323 }
@@ -43,7 +43,7 @@ func TestPreparePodSpecUsesConfiguredWorkspaceVolume(t *testing.T) {
4343 },
4444 },
4545 }
46- spec , err := PreparePodSpec (corev1.PodSpec {}, volumes , "/workspace" , "ghcr.io/acmore/okdev-sidecar:edge" , false , "" )
46+ spec , err := PreparePodSpec (corev1.PodSpec {}, volumes , "/workspace" , "ghcr.io/acmore/okdev-sidecar:edge" , false , false , "" )
4747 if err != nil {
4848 t .Fatal (err )
4949 }
@@ -59,7 +59,7 @@ func TestPreparePodSpecUsesConfiguredWorkspaceVolume(t *testing.T) {
5959}
6060
6161func TestPreparePodSpecAddsWorkspaceMountOnDevAndSidecar (t * testing.T ) {
62- spec , err := PreparePodSpec (corev1.PodSpec {}, nil , "/workspace" , "ghcr.io/acmore/okdev-sidecar:edge" , false , "" )
62+ spec , err := PreparePodSpec (corev1.PodSpec {}, nil , "/workspace" , "ghcr.io/acmore/okdev-sidecar:edge" , false , false , "" )
6363 if err != nil {
6464 t .Fatal (err )
6565 }
@@ -89,7 +89,7 @@ func TestPreparePodSpecAddsWorkspaceMountOnDevAndSidecar(t *testing.T) {
8989}
9090
9191func TestPreparePodSpecErrorsOnEmptyImage (t * testing.T ) {
92- if _ , err := PreparePodSpec (corev1.PodSpec {}, nil , "/workspace" , "" , false , "" ); err == nil {
92+ if _ , err := PreparePodSpec (corev1.PodSpec {}, nil , "/workspace" , "" , false , false , "" ); err == nil {
9393 t .Fatal ("expected error for empty sidecar image" )
9494 }
9595}
@@ -112,3 +112,59 @@ func TestSyncthingImagePullPolicy(t *testing.T) {
112112 }
113113 }
114114}
115+
116+ func findContainer (containers []corev1.Container , name string ) * corev1.Container {
117+ for i := range containers {
118+ if containers [i ].Name == name {
119+ return & containers [i ]
120+ }
121+ }
122+ return nil
123+ }
124+
125+ func TestPreparePodSpecEmbeddedSSHMode (t * testing.T ) {
126+ t .Run ("embeddedSSH=false" , func (t * testing.T ) {
127+ spec , err := PreparePodSpec (corev1.PodSpec {}, nil , "/workspace" , "ghcr.io/acmore/okdev-sidecar:edge" , false , false , "" )
128+ if err != nil {
129+ t .Fatal (err )
130+ }
131+ sc := findContainer (spec .Containers , "okdev-sidecar" )
132+ if sc == nil {
133+ t .Fatal ("sidecar container not found" )
134+ }
135+ for _ , env := range sc .Env {
136+ if env .Name == "OKDEV_SSH_MODE" {
137+ t .Fatal ("expected no OKDEV_SSH_MODE env var when embeddedSSH=false" )
138+ }
139+ }
140+ })
141+
142+ t .Run ("embeddedSSH=true" , func (t * testing.T ) {
143+ spec , err := PreparePodSpec (corev1.PodSpec {}, nil , "/workspace" , "ghcr.io/acmore/okdev-sidecar:edge" , false , true , "" )
144+ if err != nil {
145+ t .Fatal (err )
146+ }
147+ sc := findContainer (spec .Containers , "okdev-sidecar" )
148+ if sc == nil {
149+ t .Fatal ("sidecar container not found" )
150+ }
151+ foundEnv := false
152+ for _ , env := range sc .Env {
153+ if env .Name == "OKDEV_SSH_MODE" && env .Value == "embedded" {
154+ foundEnv = true
155+ }
156+ }
157+ if ! foundEnv {
158+ t .Fatal ("expected OKDEV_SSH_MODE=embedded env var when embeddedSSH=true" )
159+ }
160+ foundPort := false
161+ for _ , p := range sc .Ports {
162+ if p .ContainerPort == 2222 && p .Name == "embedded-ssh" {
163+ foundPort = true
164+ }
165+ }
166+ if ! foundPort {
167+ t .Fatal ("expected port 2222 named embedded-ssh when embeddedSSH=true" )
168+ }
169+ })
170+ }
0 commit comments