package plugin import ( "fmt" "git.sr.ht/~akilan1999/p2p-rendering-computation/config" "git.sr.ht/~akilan1999/p2p-rendering-computation/server/docker" "strconv" "testing" ) // Test if the dummy plugin added is detected func TestDetectPlugins(t *testing.T) { _, err := DetectPlugins() if err != nil { t.Fail() } } // Test ensures that the ansible are executed inside local containers func TestRunPlugin(t *testing.T) { var testips []*ExecuteIP var testip1,testip2 ExecuteIP // Create docker container and get SSH port container1 ,err := docker.BuildRunContainer(0,"false","") if err != nil { fmt.Println(err) t.Fail() } //Test IP 1 configuration testip1.IPAddress = "0.0.0.0" testip1.SSHPortNo = strconv.Itoa(container1.SSHPort) // Create docker container and get SSH port container2 ,err := docker.BuildRunContainer(0,"false","") if err != nil { fmt.Println(err) t.Fail() } //Test IP 2 configuration testip2.IPAddress = "0.0.0.0" testip2.SSHPortNo = strconv.Itoa(container2.SSHPort) testips = append(testips, &testip1) testips = append(testips, &testip2) _,err = RunPlugin("TestAnsible",testips) if err != nil { fmt.Println(err) t.Fail() } // Removing container1 after Ansible is executed err = docker.StopAndRemoveContainer(container1.ID) if err != nil { fmt.Println(err) t.Fail() } err = docker.StopAndRemoveContainer(container2.ID) if err != nil { fmt.Println(err) t.Fail() } } // Test to ensure that the ansible host file is modified to // the appropriate IP func TestExecuteIP_ModifyHost(t *testing.T) { var plugin Plugin var testip ExecuteIP // Get plugin path from config file Config, err := config.ConfigInit() if err != nil { fmt.Println(err) t.Fail() } //Set plugin name plugin.FolderName = "TestAnsible" //Test IP 1 configuration testip.IPAddress = "0.0.0.0" testip.SSHPortNo = "41289" err = testip.ModifyHost(&plugin,Config.PluginPath) if err != nil { fmt.Println(err) t.Fail() } }