|
Packit |
63bb0d |
package blueprint
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
import (
|
|
Packit |
63bb0d |
"testing"
|
|
Packit Service |
15f37d |
|
|
Packit Service |
15f37d |
"github.com/stretchr/testify/assert"
|
|
Packit |
63bb0d |
)
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func TestGetHostname(t *testing.T) {
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
var expectedHostname = "Hostname"
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
TestCustomizations := Customizations{
|
|
Packit |
63bb0d |
Hostname: &expectedHostname,
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
retHostname := TestCustomizations.GetHostname()
|
|
Packit |
63bb0d |
assert.Equal(t, &expectedHostname, retHostname)
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func TestGetKernel(t *testing.T) {
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
expectedKernel := KernelCustomization{
|
|
Packit |
63bb0d |
Append: "--test",
|
|
Packit Service |
15f37d |
Name: "kernel",
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
TestCustomizations := Customizations{
|
|
Packit |
63bb0d |
Kernel: &expectedKernel,
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
retKernel := TestCustomizations.GetKernel()
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
assert.Equal(t, &expectedKernel, retKernel)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func TestSSHKey(t *testing.T) {
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
expectedSSHKeys := []SSHKeyCustomization{
|
|
Packit |
63bb0d |
SSHKeyCustomization{
|
|
Packit |
63bb0d |
User: "test-user",
|
|
Packit |
63bb0d |
Key: "test-key",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
TestCustomizations := Customizations{
|
|
Packit |
63bb0d |
SSHKey: expectedSSHKeys,
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
retUser := TestCustomizations.GetUsers()[0].Name
|
|
Packit |
63bb0d |
retKey := *TestCustomizations.GetUsers()[0].Key
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
assert.Equal(t, expectedSSHKeys[0].User, retUser)
|
|
Packit |
63bb0d |
assert.Equal(t, expectedSSHKeys[0].Key, retKey)
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func TestGetUsers(t *testing.T) {
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
Desc := "Test descritpion"
|
|
Packit |
63bb0d |
Pass := "testpass"
|
|
Packit |
63bb0d |
Key := "testkey"
|
|
Packit |
63bb0d |
Home := "Home"
|
|
Packit |
63bb0d |
Shell := "Shell"
|
|
Packit |
63bb0d |
Groups := []string{
|
|
Packit |
63bb0d |
"Group",
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
UID := 123
|
|
Packit |
63bb0d |
GID := 321
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
expectedUsers := []UserCustomization{
|
|
Packit |
63bb0d |
UserCustomization{
|
|
Packit |
63bb0d |
Name: "John",
|
|
Packit |
63bb0d |
Description: &Desc,
|
|
Packit |
63bb0d |
Password: &Pass,
|
|
Packit |
63bb0d |
Key: &Key,
|
|
Packit |
63bb0d |
Home: &Home,
|
|
Packit |
63bb0d |
Shell: &Shell,
|
|
Packit |
63bb0d |
Groups: Groups,
|
|
Packit |
63bb0d |
UID: &UID,
|
|
Packit |
63bb0d |
GID: &GID,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
TestCustomizations := Customizations{
|
|
Packit |
63bb0d |
User: expectedUsers,
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
retUsers := TestCustomizations.GetUsers()
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
assert.ElementsMatch(t, expectedUsers, retUsers)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func TestGetGroups(t *testing.T) {
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
GID := 1234
|
|
Packit |
63bb0d |
expectedGroups := []GroupCustomization{
|
|
Packit |
63bb0d |
GroupCustomization{
|
|
Packit |
63bb0d |
Name: "TestGroup",
|
|
Packit |
63bb0d |
GID: &GID,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
TestCustomizations := Customizations{
|
|
Packit |
63bb0d |
Group: expectedGroups,
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
retGroups := TestCustomizations.GetGroups()
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
assert.ElementsMatch(t, expectedGroups, retGroups)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func TestGetTimezoneSettings(t *testing.T) {
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
expectedTimezone := "testZONE"
|
|
Packit |
63bb0d |
expectedNTPServers := []string{
|
|
Packit |
63bb0d |
"server",
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
expectedTimezoneCustomization := TimezoneCustomization{
|
|
Packit |
63bb0d |
Timezone: &expectedTimezone,
|
|
Packit |
63bb0d |
NTPServers: expectedNTPServers,
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
TestCustomizations := Customizations{
|
|
Packit |
63bb0d |
Timezone: &expectedTimezoneCustomization,
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
retTimezone, retNTPServers := TestCustomizations.GetTimezoneSettings()
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
assert.Equal(t, expectedTimezone, *retTimezone)
|
|
Packit |
63bb0d |
assert.Equal(t, expectedNTPServers, retNTPServers)
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func TestGetPrimaryLocale(t *testing.T) {
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
expectedLanguages := []string{
|
|
Packit |
63bb0d |
"enUS",
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
expectedKeyboard := "en"
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
expectedLocaleCustomization := LocaleCustomization{
|
|
Packit |
63bb0d |
Languages: expectedLanguages,
|
|
Packit |
63bb0d |
Keyboard: &expectedKeyboard,
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
TestCustomizations := Customizations{
|
|
Packit |
63bb0d |
Locale: &expectedLocaleCustomization,
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
retLanguage, retKeyboard := TestCustomizations.GetPrimaryLocale()
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
assert.Equal(t, expectedLanguages[0], *retLanguage)
|
|
Packit |
63bb0d |
assert.Equal(t, expectedKeyboard, *retKeyboard)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func TestGetFirewall(t *testing.T) {
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
expectedPorts := []string{"22", "9090"}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
expectedServices := FirewallServicesCustomization{
|
|
Packit |
63bb0d |
Enabled: []string{"cockpit", "osbuild-composer"},
|
|
Packit |
63bb0d |
Disabled: []string{"TCP", "httpd"},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
expectedFirewall := FirewallCustomization{
|
|
Packit |
63bb0d |
Ports: expectedPorts,
|
|
Packit |
63bb0d |
Services: &expectedServices,
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
TestCustomizations := Customizations{
|
|
Packit |
63bb0d |
Firewall: &expectedFirewall,
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
retFirewall := TestCustomizations.GetFirewall()
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
assert.ElementsMatch(t, expectedFirewall.Ports, retFirewall.Ports)
|
|
Packit |
63bb0d |
assert.ElementsMatch(t, expectedFirewall.Services.Enabled, retFirewall.Services.Enabled)
|
|
Packit |
63bb0d |
assert.ElementsMatch(t, expectedFirewall.Services.Disabled, retFirewall.Services.Disabled)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func TestGetServices(t *testing.T) {
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
expectedServices := ServicesCustomization{
|
|
Packit |
63bb0d |
Enabled: []string{"cockpit", "osbuild-composer"},
|
|
Packit |
63bb0d |
Disabled: []string{"sshd", "ftp"},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
TestCustomizations := Customizations{
|
|
Packit |
63bb0d |
Services: &expectedServices,
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
retServices := TestCustomizations.GetServices()
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
assert.ElementsMatch(t, expectedServices.Enabled, retServices.Enabled)
|
|
Packit |
63bb0d |
assert.ElementsMatch(t, expectedServices.Disabled, retServices.Disabled)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func TestError(t *testing.T) {
|
|
Packit |
63bb0d |
expectedError := CustomizationError{
|
|
Packit |
63bb0d |
Message: "test error",
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
retError := expectedError.Error()
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
assert.Equal(t, expectedError.Message, retError)
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
//This tests calling all the functions on a Blueprint with no Customizations
|
|
Packit |
63bb0d |
func TestNoCustomizationsInBlueprint(t *testing.T) {
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
TestBP := Blueprint{}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
assert.Nil(t, TestBP.Customizations.GetHostname())
|
|
Packit |
63bb0d |
assert.Nil(t, TestBP.Customizations.GetUsers())
|
|
Packit |
63bb0d |
assert.Nil(t, TestBP.Customizations.GetGroups())
|
|
Packit Service |
15f37d |
assert.Equal(t, &KernelCustomization{Name: "kernel"}, TestBP.Customizations.GetKernel())
|
|
Packit |
63bb0d |
assert.Nil(t, TestBP.Customizations.GetFirewall())
|
|
Packit |
63bb0d |
assert.Nil(t, TestBP.Customizations.GetServices())
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
nilLanguage, nilKeyboard := TestBP.Customizations.GetPrimaryLocale()
|
|
Packit |
63bb0d |
assert.Nil(t, nilLanguage)
|
|
Packit |
63bb0d |
assert.Nil(t, nilKeyboard)
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
nilTimezone, nilNTPServers := TestBP.Customizations.GetTimezoneSettings()
|
|
Packit |
63bb0d |
assert.Nil(t, nilTimezone)
|
|
Packit |
63bb0d |
assert.Nil(t, nilNTPServers)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
//This tests additional scenarios where GetPrimaryLocale() returns nil values
|
|
Packit |
63bb0d |
func TestNilGetPrimaryLocale(t *testing.T) {
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
//Case empty Customization
|
|
Packit |
63bb0d |
TestCustomizationsEmpty := Customizations{}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
retLanguage, retKeyboard := TestCustomizationsEmpty.GetPrimaryLocale()
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
assert.Nil(t, retLanguage)
|
|
Packit |
63bb0d |
assert.Nil(t, retKeyboard)
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
//Case empty Languages
|
|
Packit |
63bb0d |
expectedKeyboard := "en"
|
|
Packit |
63bb0d |
expectedLocaleCustomization := LocaleCustomization{
|
|
Packit |
63bb0d |
Keyboard: &expectedKeyboard,
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
TestCustomizations := Customizations{
|
|
Packit |
63bb0d |
Locale: &expectedLocaleCustomization,
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
retLanguage, retKeyboard = TestCustomizations.GetPrimaryLocale()
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
assert.Nil(t, retLanguage)
|
|
Packit |
63bb0d |
assert.Equal(t, expectedKeyboard, *retKeyboard)
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
//This tests additional scenario where GetTimezoneSEtting() returns nil values
|
|
Packit |
63bb0d |
func TestNilGetTimezoneSettings(t *testing.T) {
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
TestCustomizationsEmpty := Customizations{}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
retTimezone, retNTPServers := TestCustomizationsEmpty.GetTimezoneSettings()
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
assert.Nil(t, retTimezone)
|
|
Packit |
63bb0d |
assert.Nil(t, retNTPServers)
|
|
Packit |
63bb0d |
}
|