Files
p2p-rendering-computation/client/TrackContianers_test.go
2025-01-07 20:19:47 +00:00

121 lines
2.7 KiB
Go

package client
import (
"fmt"
"github.com/Akilan1999/p2p-rendering-computation/server/docker"
"testing"
)
// Tests a scenario where the container are getting tracked
func TestAddTrackContainer(t *testing.T) {
// Create docker container and get SSH port
container1, err := docker.BuildRunContainer(0, "false", "")
if err != nil {
fmt.Println(err)
t.Fail()
}
// Testing the AddTrackContainer Function
err = AddTrackContainer(container1, "0.0.0.0")
if err != nil {
// Killing docker container created
err = docker.StopAndRemoveContainer(container1.ID)
if err != nil {
fmt.Println(err)
t.Fail()
}
fmt.Println(err)
t.Fail()
}
// Killing docker container created
err = docker.StopAndRemoveContainer(container1.ID)
if err != nil {
fmt.Println(err)
t.Fail()
}
}
// Testing the remove container function
// NOTE: This test can also be considered as a whole flow on the process of
// tracked containers
func TestRemoveTrackedContainer(t *testing.T) {
container1, err := docker.BuildRunContainer(0, "false", "")
if err != nil {
fmt.Println(err)
t.Fail()
}
container2, err := docker.BuildRunContainer(0, "false", "")
if err != nil {
fmt.Println(err)
t.Fail()
}
// Testing the AddTrackContainer Function and adding the first container created
err = AddTrackContainer(container1, "0.0.0.0")
if err != nil {
// Killing docker container created
err = docker.StopAndRemoveContainer(container1.ID)
if err != nil {
fmt.Println(err)
t.Fail()
}
fmt.Println(err)
t.Fail()
}
// Killing docker container created
err = docker.StopAndRemoveContainer(container1.ID)
if err != nil {
fmt.Println(err)
t.Fail()
}
// Testing the AddTrackContainer Function and the adding the second container created
err = AddTrackContainer(container2, "0.0.0.0")
if err != nil {
// Killing docker container created
err = docker.StopAndRemoveContainer(container2.ID)
if err != nil {
fmt.Println(err)
t.Fail()
}
fmt.Println(err)
t.Fail()
}
// Killing docker container created
err = docker.StopAndRemoveContainer(container2.ID)
if err != nil {
fmt.Println(err)
t.Fail()
}
// Removing container 1 from the tracked list
err = RemoveTrackedContainer(container1.ID)
if err != nil {
fmt.Println(err)
t.Fail()
}
// Removing container 2 from the tracked list
err = RemoveTrackedContainer(container2.ID)
if err != nil {
fmt.Println(err)
t.Fail()
}
}
// Test function that checks if the ID belongs to
// a group or container running
func TestCheckID(t *testing.T) {
id := "grp123"
checkID, err := CheckID(id)
if err != nil {
fmt.Println(err)
t.Fail()
}
if checkID == "group" {
fmt.Println("pass")
} else {
t.Fail()
}
}