MCPcopy Create free account
hub / github.com/Scalingo/cli / TestReadPrivateKeyWithContent

Function TestReadPrivateKeyWithContent

crypto/sshkeys/read_test.go:26–82  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

24)
25
26func TestReadPrivateKeyWithContent(t *testing.T) {
27 cases := []struct {
28 Name string
29 PrivateKeyContent []byte
30 Expect func(t *testing.T, signer ssh.Signer, err error)
31 }{
32 {
33 Name: "Invalid Key",
34 PrivateKeyContent: invalidKey,
35 Expect: func(t *testing.T, signer ssh.Signer, err error) {
36 require.Error(t, err)
37 require.Nil(t, signer)
38 require.Contains(t, err.Error(), "PEM")
39 },
40 },
41 {
42 Name: "Unencrypted RSA Key",
43 PrivateKeyContent: unencryptedRSAKey,
44 Expect: func(t *testing.T, signer ssh.Signer, err error) {
45 require.NoError(t, err)
46 require.NotNil(t, signer)
47 },
48 },
49 {
50 Name: "Unencrypted OpenSSH RSA Key",
51 PrivateKeyContent: unencryptedOpenSSHRSA,
52 Expect: func(t *testing.T, signer ssh.Signer, err error) {
53 require.NoError(t, err)
54 require.NotNil(t, signer)
55 },
56 },
57 {
58 Name: "Unencrypted OpenSSH ecdsa Key",
59 PrivateKeyContent: unencryptedOpenSSHecdsa,
60 Expect: func(t *testing.T, signer ssh.Signer, err error) {
61 require.NoError(t, err)
62 require.NotNil(t, signer)
63 },
64 },
65 {
66 Name: "Unencrypted OpenSSH ed25519 Key",
67 PrivateKeyContent: unencryptedOpenSSHed25519,
68 Expect: func(t *testing.T, signer ssh.Signer, err error) {
69 require.NoError(t, err)
70 require.NotNil(t, signer)
71 },
72 },
73 }
74
75 for _, c := range cases {
76 t.Run(c.Name, func(t *testing.T) {
77 signer, err := readPrivateKeyWithContent(t.Context(), "n/a", c.PrivateKeyContent)
78
79 c.Expect(t, signer, err)
80 })
81 }
82}

Callers

nothing calls this directly

Calls 2

ErrorMethod · 0.80

Tested by

no test coverage detected