Fix broken agent tests

This commit is contained in:
Melon 2025-02-18 21:33:15 +00:00
parent fc2f8e34c6
commit 8407f21090
Signed by: melon
GPG Key ID: 6C9D970C50D26A25
2 changed files with 21 additions and 12 deletions

View File

@ -160,7 +160,7 @@ func (a *Agent) syncSingleAgentCertPairs(startTime time.Time, agent syncAgent, r
} }
for _, row := range rows { for _, row := range rows {
err := a.copySingleCertPair(scpClient, row) err := a.copySingleCertPair(&scpClient, row)
if err != nil { if err != nil {
// This cert sync is allowed to fail without stopping other certs going to the // This cert sync is allowed to fail without stopping other certs going to the
// same agent from copying. // same agent from copying.
@ -184,7 +184,7 @@ func (a *Agent) syncSingleAgentCertPairs(startTime time.Time, agent syncAgent, r
return nil return nil
} }
func (a *Agent) copySingleCertPair(scpClient scp.Client, row database.FindAgentToSyncRow) error { func (a *Agent) copySingleCertPair(scpClient *scp.Client, row database.FindAgentToSyncRow) error {
certName := utils.GetCertFileName(row.CertID) certName := utils.GetCertFileName(row.CertID)
keyName := utils.GetKeyFileName(row.CertID) keyName := utils.GetKeyFileName(row.CertID)

View File

@ -69,7 +69,7 @@ func TestAgentSyncing(t *testing.T) {
now := time.Now().UTC() now := time.Now().UTC()
t.Run("missing cert file", func(t *testing.T) { t.Run("missing cert file", func(t *testing.T) {
err = agent.syncSingleAgentCertPair(now, database.FindAgentToSyncRow{ err = agent.copySingleCertPair(nil, database.FindAgentToSyncRow{
AgentID: 1337, AgentID: 1337,
Address: "", Address: "",
User: "test", User: "test",
@ -102,7 +102,7 @@ func TestAgentSyncing(t *testing.T) {
assert.NoError(t, err) assert.NoError(t, err)
t.Run("missing key file", func(t *testing.T) { t.Run("missing key file", func(t *testing.T) {
err = agent.syncSingleAgentCertPair(now, database.FindAgentToSyncRow{ err = agent.copySingleCertPair(nil, database.FindAgentToSyncRow{
AgentID: 1337, AgentID: 1337,
Address: "", Address: "",
User: "test", User: "test",
@ -123,14 +123,23 @@ func TestAgentSyncing(t *testing.T) {
server := setupFakeSSH(&wg, func(remoteAddrPort netip.AddrPort, remotePubKey ssh.PublicKey) { server := setupFakeSSH(&wg, func(remoteAddrPort netip.AddrPort, remotePubKey ssh.PublicKey) {
println("Attempt agent syncing") println("Attempt agent syncing")
err = agent.syncSingleAgentCertPair(now, database.FindAgentToSyncRow{ fingerprintStr := string(ssh.MarshalAuthorizedKey(remotePubKey))
AgentID: 1337,
Address: remoteAddrPort.String(), err = agent.syncSingleAgentCertPairs(now, syncAgent{
User: "test", agentId: 1337,
Dir: "~/hello/world", address: remoteAddrPort.String(),
Fingerprint: string(ssh.MarshalAuthorizedKey(remotePubKey)), user: "test",
CertID: 420, fingerprint: fingerprintStr,
CertNotAfter: sql.NullTime{Time: now, Valid: true}, }, []database.FindAgentToSyncRow{
{
AgentID: 1337,
Address: remoteAddrPort.String(),
User: "test",
Dir: "~/hello/world",
Fingerprint: fingerprintStr,
CertID: 420,
CertNotAfter: sql.NullTime{Time: now, Valid: true},
},
}) })
assert.NoError(t, err) assert.NoError(t, err)
}) })