53 lines
1.3 KiB
Go
53 lines
1.3 KiB
Go
package packagemanager
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestNewOSManager(t *testing.T) {
|
|
sudoPassword := "testpassword"
|
|
|
|
manager := NewOSManager(sudoPassword)
|
|
|
|
if manager.OS == nil {
|
|
t.Error("Expected OS to be non-nil")
|
|
}
|
|
if manager.SudoPassword != sudoPassword {
|
|
t.Errorf("Expected SudoPassword to be %s, got %s", sudoPassword, manager.SudoPassword)
|
|
}
|
|
}
|
|
|
|
func TestOSManagerName(t *testing.T) {
|
|
manager := &OSManager{}
|
|
if manager.Name() != "OS Package Manager" {
|
|
t.Errorf("Expected name to be 'OS Package Manager', got %s", manager.Name())
|
|
}
|
|
}
|
|
|
|
func TestParseOsRelease(t *testing.T) {
|
|
osReleaseContent := `
|
|
ID=ubuntu
|
|
NAME="Ubuntu"
|
|
VERSION_ID="20.04"
|
|
`
|
|
os := parseOsRelease(osReleaseContent)
|
|
|
|
if os.ID != "ubuntu" {
|
|
t.Errorf("Expected ID to be 'ubuntu', got %s", os.ID)
|
|
}
|
|
if os.Name != "Ubuntu" {
|
|
t.Errorf("Expected Name to be 'Ubuntu', got %s", os.Name)
|
|
}
|
|
if os.Version != "20.04" {
|
|
t.Errorf("Expected Version to be '20.04', got %s", os.Version)
|
|
}
|
|
if os.PackageManager != "apt" {
|
|
t.Errorf("Expected PackageManager to be 'apt', got %s", os.PackageManager)
|
|
}
|
|
if os.InstallCommand != "apt install -y" {
|
|
t.Errorf("Expected InstallCommand to be 'apt install -y', got %s", os.InstallCommand)
|
|
}
|
|
if os.SearchCommand != "apt search" {
|
|
t.Errorf("Expected SearchCommand to be 'apt search', got %s", os.SearchCommand)
|
|
}
|
|
}
|