MCPcopy
hub / github.com/ContainerSSH/ContainerSSH / TestPubKey

Function TestPubKey

internal/sshserver/Server_test.go:282–324  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

280}
281
282func TestPubKey(t *testing.T) {
283 //t.Parallel()()
284 port := test.GetNextPort(t, "SSH")
285 rsaKey, err := rsa.GenerateKey(
286 rand.Reader,
287 4096,
288 )
289 assert.Nil(t, err, "failed to generate RSA key (%v)", err)
290 signer, err := ssh.NewSignerFromKey(rsaKey)
291 assert.Nil(t, err, "failed to create signer (%v)", err)
292 publicKey := signer.PublicKey()
293 authorizedKey := strings.TrimSpace(string(ssh.MarshalAuthorizedKey(publicKey)))
294 server := newServerHelper(
295 t,
296 fmt.Sprintf("127.0.0.1:%d", port),
297 map[string][]byte{},
298 map[string]string{
299 "foo": authorizedKey,
300 },
301 )
302 hostKey, err := server.start(t)
303 if err != nil {
304 assert.Fail(t, "failed to start ssh server", err)
305 return
306 }
307 defer func() {
308 server.stop()
309 <-server.shutdownChannel
310 }()
311
312 reply, exitStatus, err := shellRequestReply(
313 fmt.Sprintf("127.0.0.1:%d", port),
314 "foo",
315 ssh.PublicKeys(signer),
316 hostKey,
317 []byte("Hi"),
318 nil,
319 nil,
320 )
321 assert.Nil(t, err, "failed to send shell request (%v)", err)
322 assert.Equal(t, 0, exitStatus)
323 assert.Equal(t, []byte("Hello world!"), reply)
324}
325
326func TestKeepAlive(t *testing.T) {
327 //t.Parallel()()

Callers

nothing calls this directly

Calls 7

GetNextPortFunction · 0.92
newServerHelperFunction · 0.85
shellRequestReplyFunction · 0.85
GenerateKeyMethod · 0.80
FailMethod · 0.80
stopMethod · 0.80
startMethod · 0.65

Tested by

no test coverage detected