Files
cloudpods/pkg/util/cloudinit/cloudconfig_test.go
2018-10-13 20:36:15 +08:00

50 lines
1.3 KiB
Go

package cloudinit
import (
"testing"
)
func TestSCloudConfig_UserData(t *testing.T) {
usr1 := NewUser("root")
usr1.SshKey("ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCa4E8wmIOlmh1G8ZRcU2zpnl2frD2lLKdXpbTeUUZEKYFFlYM8TM5UrKrqrMCd3rFjaYGTKWiQwOiWroXlAXausbbVEI29KY+1Vd26qNyejj+CZO9MCj0naIrqa1V0of3TQY5I2U+ToIkyLqVFWhWVa57v/GUxsV2aNTmUS/qz0OPSCFPbGWWB35rsjwnFwq2jF6E8yJgTGDTYZcsghRi3IWfyfeHbSuWdvn6N8XrPBDmNg7h+GSvO6FJlp6MUw1hscECi13GwqXYgJnLG5RMiFH6s0vhozyHkue1vOTcryPHRQD0Jz/INUSaggH8L1HnYSUavOf4Cw25W9HfzgUBf")
usr2 := NewUser("yunion")
usr2.Password("123@yunion").SudoPolicy(USER_SUDO_NOPASSWD)
file1 := NewWriteFile("/etc/ansible/hosts", "gobuild\ncloudev\n", "", "", true)
file2 := NewWriteFile("/etc/hosts", "127.0.0.1 localhost\n", "", "", false)
config := SCloudConfig{
Users: []SUser{
usr1,
usr2,
},
WriteFiles: []SWriteFile{
file1,
file2,
},
Runcmd: []string{
"mkdir /var/run/httpd",
},
PhoneHome: &SPhoneHome{
Url: "http://www.yunion.io/$INSTANCE_ID",
},
DisableRoot: 0,
SshPwauth: 1,
}
userData := config.UserData()
t.Logf("%s", userData)
config2, err := ParseUserData(userData)
if err != nil {
t.Errorf("%s", err)
} else {
userData2 := config2.UserData()
t.Logf("%s", userData2)
if userData != userData2 {
t.Errorf("userData not equal to userData2")
}
}
}