2026-03-09 11:37:27 +00:00
|
|
|
package ansible
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"testing"
|
|
|
|
|
"time"
|
|
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
|
)
|
|
|
|
|
|
2026-03-26 16:39:59 +00:00
|
|
|
func TestSSH_NewSSHClient_Good_CustomConfig(t *testing.T) {
|
2026-03-09 11:37:27 +00:00
|
|
|
cfg := SSHConfig{
|
|
|
|
|
Host: "localhost",
|
|
|
|
|
Port: 2222,
|
|
|
|
|
User: "root",
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
client, err := NewSSHClient(cfg)
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
assert.NotNil(t, client)
|
|
|
|
|
assert.Equal(t, "localhost", client.host)
|
|
|
|
|
assert.Equal(t, 2222, client.port)
|
|
|
|
|
assert.Equal(t, "root", client.user)
|
|
|
|
|
assert.Equal(t, 30*time.Second, client.timeout)
|
|
|
|
|
}
|
|
|
|
|
|
2026-03-26 16:39:59 +00:00
|
|
|
func TestSSH_NewSSHClient_Good_Defaults(t *testing.T) {
|
2026-03-09 11:37:27 +00:00
|
|
|
cfg := SSHConfig{
|
|
|
|
|
Host: "localhost",
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
client, err := NewSSHClient(cfg)
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
assert.Equal(t, 22, client.port)
|
|
|
|
|
assert.Equal(t, "root", client.user)
|
|
|
|
|
assert.Equal(t, 30*time.Second, client.timeout)
|
|
|
|
|
}
|
2026-04-03 11:41:04 +00:00
|
|
|
|
|
|
|
|
func TestSSH_SetBecome_Good_DisablesAndClearsState(t *testing.T) {
|
|
|
|
|
client := &SSHClient{}
|
|
|
|
|
|
|
|
|
|
client.SetBecome(true, "admin", "secret")
|
|
|
|
|
become, user, password := client.BecomeState()
|
|
|
|
|
assert.True(t, become)
|
|
|
|
|
assert.Equal(t, "admin", user)
|
|
|
|
|
assert.Equal(t, "secret", password)
|
|
|
|
|
|
|
|
|
|
client.SetBecome(false, "", "")
|
|
|
|
|
become, user, password = client.BecomeState()
|
|
|
|
|
assert.False(t, become)
|
|
|
|
|
assert.Empty(t, user)
|
|
|
|
|
assert.Empty(t, password)
|
|
|
|
|
}
|