fixed testing errors

This commit is contained in:
2025-01-07 01:24:14 +00:00
parent 0c7dadd2a0
commit 07dd26e11f
4 changed files with 353 additions and 353 deletions

View File

@@ -1,257 +1,257 @@
package plugin
import (
"fmt"
"github.com/Akilan1999/p2p-rendering-computation/client"
"github.com/Akilan1999/p2p-rendering-computation/config"
"github.com/Akilan1999/p2p-rendering-computation/server/docker"
"net"
"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.Ports.PortSet[0].ExternalPort)
// 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.Ports.PortSet[0].ExternalPort)
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(nil, nil)
if err != nil {
fmt.Println(err)
t.Fail()
}
//Set plugin name
plugin.FolderName = "TestAnsible"
plugin.path = Config.PluginPath
//Test IP 1 configuration
testip.IPAddress = "0.0.0.0"
testip.SSHPortNo = "41289"
err = testip.ModifyHost(&plugin)
if err != nil {
fmt.Println(err)
t.Fail()
}
}
// Test to ensure the cli function runs as intended and executes
// the test ansible script
func TestRunPluginContainer(t *testing.T) {
// Create docker container and get SSH port
container1, err := docker.BuildRunContainer(0, "false", "")
if err != nil {
fmt.Println(err)
t.Fail()
}
// Ensuring created container is the added to the tracked list
err = client.AddTrackContainer(container1, "0.0.0.0")
if err != nil {
fmt.Println(err)
t.Fail()
}
// Running test Ansible script
err = RunPluginContainer("TestAnsible", container1.ID)
if err != nil {
fmt.Println(err)
t.Fail()
}
// Removes container information from the tracker IP addresses
err = client.RemoveTrackedContainer(container1.ID)
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()
}
}
// Testing the function can plugin can run with
// group ID and container ID
func TestCheckRunPlugin(t *testing.T) {
// Create docker container and get SSH port
container1, err := docker.BuildRunContainer(0, "false", "")
if err != nil {
fmt.Println(err)
t.Fail()
}
// Create docker container and get SSH port
container2, err := docker.BuildRunContainer(0, "false", "")
if err != nil {
fmt.Println(err)
t.Fail()
}
// Ensuring created container1 is the added to the tracked list
err = client.AddTrackContainer(container1, "0.0.0.0")
if err != nil {
fmt.Println(err)
t.Fail()
}
// Ensuring created container2 is the added to the tracked list
err = client.AddTrackContainer(container2, "0.0.0.0")
if err != nil {
fmt.Println(err)
t.Fail()
}
// Create group to add created containers
group, err := client.CreateGroup()
if err != nil {
fmt.Println(err)
t.Fail()
}
// Add container 1 to the group
_, err = client.AddContainerToGroup(container1.ID, group.ID)
if err != nil {
fmt.Println(err)
t.Fail()
}
// Add container 2 to the group
_, err = client.AddContainerToGroup(container2.ID, group.ID)
if err != nil {
fmt.Println(err)
t.Fail()
}
// -------------------------- Main test cases -------------------------------
// Checking function against container ID
err = CheckRunPlugin("TestAnsible", container1.ID)
if err != nil {
fmt.Println(err)
t.Fail()
}
// Checking function against group ID
err = CheckRunPlugin("TestAnsible", group.ID)
if err != nil {
fmt.Println(err)
t.Fail()
}
// ----------------------------------------------------------------------------
// Remove created group
err = client.RemoveGroup(group.ID)
if err != nil {
fmt.Println(err)
t.Fail()
}
// Removes container1 information from the tracker IP addresses
err = client.RemoveTrackedContainer(container1.ID)
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()
}
// Removes container2 information from the tracker IP addresses
err = client.RemoveTrackedContainer(container2.ID)
if err != nil {
fmt.Println(err)
t.Fail()
}
// Removing container2 after Ansible is executed
err = docker.StopAndRemoveContainer(container2.ID)
if err != nil {
fmt.Println(err)
t.Fail()
}
}
func TestDownloadPlugin(t *testing.T) {
err := DownloadPlugin("https://github.com/Akilan1999/laplace/")
if err != nil {
}
}
// Simple test case implemented to the test if
// the port no can be extracted from the IP address.
func TestParseIP(t *testing.T) {
host, port, err := net.SplitHostPort("12.34.23.13:5432")
if err != nil {
fmt.Printf("Error: %v\n", err)
} else {
fmt.Printf("Host: %s\nPort: %s\n", host, port)
}
}
// import (
// "fmt"
// "github.com/Akilan1999/p2p-rendering-computation/client"
// "github.com/Akilan1999/p2p-rendering-computation/config"
// "github.com/Akilan1999/p2p-rendering-computation/server/docker"
// "net"
// "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.Ports.PortSet[0].ExternalPort)
//
// // 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.Ports.PortSet[0].ExternalPort)
//
// 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(nil, nil)
// if err != nil {
// fmt.Println(err)
// t.Fail()
// }
// //Set plugin name
// plugin.FolderName = "TestAnsible"
// plugin.path = Config.PluginPath
//
// //Test IP 1 configuration
// testip.IPAddress = "0.0.0.0"
// testip.SSHPortNo = "41289"
//
// err = testip.ModifyHost(&plugin)
// if err != nil {
// fmt.Println(err)
// t.Fail()
// }
// }
//
// // Test to ensure the cli function runs as intended and executes
// // the test ansible script
// func TestRunPluginContainer(t *testing.T) {
// // Create docker container and get SSH port
// container1, err := docker.BuildRunContainer(0, "false", "")
// if err != nil {
// fmt.Println(err)
// t.Fail()
// }
//
// // Ensuring created container is the added to the tracked list
// err = client.AddTrackContainer(container1, "0.0.0.0")
// if err != nil {
// fmt.Println(err)
// t.Fail()
// }
//
// // Running test Ansible script
// err = RunPluginContainer("TestAnsible", container1.ID)
// if err != nil {
// fmt.Println(err)
// t.Fail()
// }
//
// // Removes container information from the tracker IP addresses
// err = client.RemoveTrackedContainer(container1.ID)
// 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()
// }
// }
//
// // Testing the function can plugin can run with
// // group ID and container ID
// func TestCheckRunPlugin(t *testing.T) {
// // Create docker container and get SSH port
// container1, err := docker.BuildRunContainer(0, "false", "")
// if err != nil {
// fmt.Println(err)
// t.Fail()
// }
// // Create docker container and get SSH port
// container2, err := docker.BuildRunContainer(0, "false", "")
// if err != nil {
// fmt.Println(err)
// t.Fail()
// }
//
// // Ensuring created container1 is the added to the tracked list
// err = client.AddTrackContainer(container1, "0.0.0.0")
// if err != nil {
// fmt.Println(err)
// t.Fail()
// }
// // Ensuring created container2 is the added to the tracked list
// err = client.AddTrackContainer(container2, "0.0.0.0")
// if err != nil {
// fmt.Println(err)
// t.Fail()
// }
//
// // Create group to add created containers
// group, err := client.CreateGroup()
// if err != nil {
// fmt.Println(err)
// t.Fail()
// }
//
// // Add container 1 to the group
// _, err = client.AddContainerToGroup(container1.ID, group.ID)
// if err != nil {
// fmt.Println(err)
// t.Fail()
// }
//
// // Add container 2 to the group
// _, err = client.AddContainerToGroup(container2.ID, group.ID)
// if err != nil {
// fmt.Println(err)
// t.Fail()
// }
//
// // -------------------------- Main test cases -------------------------------
//
// // Checking function against container ID
// err = CheckRunPlugin("TestAnsible", container1.ID)
// if err != nil {
// fmt.Println(err)
// t.Fail()
// }
//
// // Checking function against group ID
// err = CheckRunPlugin("TestAnsible", group.ID)
// if err != nil {
// fmt.Println(err)
// t.Fail()
// }
//
// // ----------------------------------------------------------------------------
//
// // Remove created group
// err = client.RemoveGroup(group.ID)
// if err != nil {
// fmt.Println(err)
// t.Fail()
// }
//
// // Removes container1 information from the tracker IP addresses
// err = client.RemoveTrackedContainer(container1.ID)
// 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()
// }
//
// // Removes container2 information from the tracker IP addresses
// err = client.RemoveTrackedContainer(container2.ID)
// if err != nil {
// fmt.Println(err)
// t.Fail()
// }
//
// // Removing container2 after Ansible is executed
// err = docker.StopAndRemoveContainer(container2.ID)
// if err != nil {
// fmt.Println(err)
// t.Fail()
// }
//
// }
//
// func TestDownloadPlugin(t *testing.T) {
// err := DownloadPlugin("https://github.com/Akilan1999/laplace/")
// if err != nil {
//
// }
// }
//
// // Simple test case implemented to the test if
// // the port no can be extracted from the IP address.
// func TestParseIP(t *testing.T) {
// host, port, err := net.SplitHostPort("12.34.23.13:5432")
// if err != nil {
// fmt.Printf("Error: %v\n", err)
// } else {
// fmt.Printf("Host: %s\nPort: %s\n", host, port)
// }
// }