Skip to content

Commit

Permalink
fix(volumes): some fixes and cleanups (#359)
Browse files Browse the repository at this point in the history
* fix(volumes): some fixes and cleanups

Signed-off-by: Jose Ramon Mañes <jose@celestia.org>

* fix(volumes): fix TestNoVolumesOneFile

Signed-off-by: Jose Ramon Mañes <jose@celestia.org>

* fix(volumes): cleanup

Signed-off-by: Jose Ramon Mañes <jose@celestia.org>

* fix(comments): add assert func

Signed-off-by: Jose Ramon Mañes <jose@celestia.org>

* fix(comments): use assert func

Signed-off-by: Jose Ramon Mañes <jose@celestia.org>

* fix(comments): vim typo

Signed-off-by: Jose Ramon Mañes <jose@celestia.org>

---------

Signed-off-by: Jose Ramon Mañes <jose@celestia.org>
  • Loading branch information
tty47 authored May 23, 2024
1 parent c5c17b1 commit 2981a2a
Show file tree
Hide file tree
Showing 7 changed files with 61 additions and 154 deletions.
8 changes: 1 addition & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,8 @@ test-bittwister-latency:
test-bittwister-jitter:
KNUU_TIMEOUT=120m go test -v ./e2e/basic --run=TestBittwister_Jitter -timeout 60m -count=1

test-celestia-app:
go test -v ./e2e/celestia_app

test-celestia-node:
go test -v ./e2e/celestia_node

test-all:
KNUU_TIMEOUT=300m go test -v ./e2e/... -timeout 120m

.PHONY: test-all test-basic test-basic-file-cache test-basic-folder-cache test-bittwister-packetloss test-bittwister-bandwidth test-bittwister-latency test-bittwister-jitter test-celestia-app test-celestia-node
.PHONY: test-all test-basic test-basic-file-cache test-basic-folder-cache test-bittwister-packetloss test-bittwister-bandwidth test-bittwister-latency test-bittwister-jitter

49 changes: 49 additions & 0 deletions e2e/basic/assert_create.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package basic

import (
"testing"

"github.com/celestiaorg/knuu/pkg/knuu"
)

const (
// nginxImage is the image used to create the instances.
nginxImage = "docker.io/nginx:latest"
// nginxVolume is the volume used to create the instances.
nginxVolume = "1Gi"
// nginxVolumeOwner is the owner of the volume used to create the instances.
nginxVolumeOwner = 0
// nginxPort is the port used to create the instances.
nginxPort = 80
// nginxPath is the path used to create the instances.
nginxPath = "/usr/share/nginx/html"
)

// assertCreateInstanceNginxWithVolumeOwner creates and configures an instance with common settings used across tests.
func assertCreateInstanceNginxWithVolumeOwner(t *testing.T, instanceName string) *knuu.Instance {
instance, err := knuu.NewInstance(instanceName)
if err != nil {
t.Fatalf("Error creating instance '%v': %v", instanceName, err)
}
err = instance.SetImage(nginxImage)
if err != nil {
t.Fatalf("Error setting image for '%v': %v", instanceName, err)
}
err = instance.AddPortTCP(nginxPort)
if err != nil {
t.Fatalf("Error adding port for '%v': %v", instanceName, err)
}
_, err = instance.ExecuteCommand("mkdir", "-p", nginxPath)
if err != nil {
t.Fatalf("Error executing command for '%v': %v", instanceName, err)
}
err = instance.AddVolumeWithOwner(nginxPath, nginxVolume, nginxVolumeOwner)
if err != nil {
t.Fatalf("Error adding volume: %v", err)
}
err = instance.Commit()
if err != nil {
t.Fatalf("Error committing instance '%v': %v", instanceName, err)
}
return instance
}
25 changes: 1 addition & 24 deletions e2e/basic/file_test_image_cached_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import (
func TestFileCached(t *testing.T) {
t.Parallel()
// Setup

executor, err := knuu.NewExecutor()
if err != nil {
t.Fatalf("Error creating executor: %v", err)
Expand All @@ -24,29 +23,7 @@ func TestFileCached(t *testing.T) {

for i := 0; i < numberOfInstances; i++ {
instanceName := fmt.Sprintf("web%d", i+1)
instance, err := knuu.NewInstance(instanceName)
if err != nil {
t.Fatalf("Error creating instance '%v': %v", instanceName, err)
}
err = instance.SetImage("docker.io/nginx:latest")
if err != nil {
t.Fatalf("Error setting image for '%v': %v", instanceName, err)
}
instance.AddPortTCP(80)
_, err = instance.ExecuteCommand("mkdir", "-p", "/usr/share/nginx/html")
if err != nil {
t.Fatalf("Error executing command for '%v': %v", instanceName, err)
}
err = instance.AddVolumeWithOwner("/usr/share/nginx/html", "1Gi", 0)
if err != nil {
t.Fatalf("Error adding volume: %v", err)
}
err = instance.Commit()
if err != nil {
t.Fatalf("Error committing instance '%v': %v", instanceName, err)
}

instances[i] = instance
instances[i] = assertCreateInstanceNginxWithVolumeOwner(t, instanceName)
}

var wgFolders sync.WaitGroup
Expand Down
82 changes: 3 additions & 79 deletions e2e/basic/files_to_volumes_cm_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,6 @@ func TestOneVolumeNoFiles(t *testing.T) {
func TestNoVolumesOneFile(t *testing.T) {
t.Parallel()
// Setup

executor, err := knuu.NewExecutor()
if err != nil {
t.Fatalf("Error creating executor: %v", err)
Expand All @@ -157,32 +156,7 @@ func TestNoVolumesOneFile(t *testing.T) {

for i := 0; i < numberOfInstances; i++ {
instanceName := fmt.Sprintf("web%d", i+1)
instance, err := knuu.NewInstance(instanceName)
if err != nil {
t.Fatalf("Error creating instance '%v': %v", instanceName, err)
}
err = instance.SetImage("docker.io/nginx:latest")
if err != nil {
t.Fatalf("Error setting image for '%v': %v", instanceName, err)
}
err = instance.AddPortTCP(80)
if err != nil {
t.Fatalf("Error adding port for '%v': %v", instanceName, err)
}
_, err = instance.ExecuteCommand("mkdir", "-p", "/usr/share/nginx/html")
if err != nil {
t.Fatalf("Error executing command for '%v': %v", instanceName, err)
}
err = instance.AddVolumeWithOwner("/usr/share/nginx/html", "1Gi", 0)
if err != nil {
t.Fatalf("Error adding volume: %v", err)
}
err = instance.Commit()
if err != nil {
t.Fatalf("Error committing instance '%v': %v", instanceName, err)
}

instances[i] = instance
instances[i] = assertCreateInstanceNginxWithVolumeOwner(t, instanceName)
}

var wgFolders sync.WaitGroup
Expand Down Expand Up @@ -265,32 +239,7 @@ func TestOneVolumeOneFile(t *testing.T) {

for i := 0; i < numberOfInstances; i++ {
instanceName := fmt.Sprintf("web%d", i+1)
instance, err := knuu.NewInstance(instanceName)
if err != nil {
t.Fatalf("Error creating instance '%v': %v", instanceName, err)
}
err = instance.SetImage("docker.io/nginx:latest")
if err != nil {
t.Fatalf("Error setting image for '%v': %v", instanceName, err)
}
err = instance.AddPortTCP(80)
if err != nil {
t.Fatalf("Error adding port for '%v': %v", instanceName, err)
}
_, err = instance.ExecuteCommand("mkdir", "-p", "/usr/share/nginx/html")
if err != nil {
t.Fatalf("Error executing command for '%v': %v", instanceName, err)
}
err = instance.AddVolumeWithOwner("/usr/share/nginx/html", "1Gi", 0)
if err != nil {
t.Fatalf("Error adding volume: %v", err)
}
err = instance.Commit()
if err != nil {
t.Fatalf("Error committing instance '%v': %v", instanceName, err)
}

instances[i] = instance
instances[i] = assertCreateInstanceNginxWithVolumeOwner(t, instanceName)
}

var wgFolders sync.WaitGroup
Expand Down Expand Up @@ -371,32 +320,7 @@ func TestOneVolumeTwoFiles(t *testing.T) {

for i := 0; i < numberOfInstances; i++ {
instanceName := fmt.Sprintf("web%d", i+1)
instance, err := knuu.NewInstance(instanceName)
if err != nil {
t.Fatalf("Error creating instance '%v': %v", instanceName, err)
}
err = instance.SetImage("docker.io/nginx:latest")
if err != nil {
t.Fatalf("Error setting image for '%v': %v", instanceName, err)
}
err = instance.AddPortTCP(80)
if err != nil {
t.Fatalf("Error adding port for '%v': %v", instanceName, err)
}
_, err = instance.ExecuteCommand("mkdir", "-p", "/usr/share/nginx/html")
if err != nil {
t.Fatalf("Error executing command for '%v': %v", instanceName, err)
}
err = instance.AddVolumeWithOwner("/usr/share/nginx/html", "1Gi", 0)
if err != nil {
t.Fatalf("Error adding volume: %v", err)
}
err = instance.Commit()
if err != nil {
t.Fatalf("Error committing instance '%v': %v", instanceName, err)
}

instances[i] = instance
instances[i] = assertCreateInstanceNginxWithVolumeOwner(t, instanceName)
}

var wgFolders sync.WaitGroup
Expand Down
23 changes: 2 additions & 21 deletions e2e/basic/folder_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,27 +17,8 @@ func TestFolder(t *testing.T) {
t.Fatalf("Error creating executor: %v", err)
}

web, err := knuu.NewInstance("web")
if err != nil {
t.Fatalf("Error creating instance '%v':", err)
}
err = web.SetImage("docker.io/nginx:latest")
if err != nil {
t.Fatalf("Error setting image '%v':", err)
}
web.AddPortTCP(80)
_, err = web.ExecuteCommand("mkdir", "-p", "/usr/share/nginx/html")
if err != nil {
t.Fatalf("Error executing command '%v':", err)
}
err = web.AddFolder("resources/html", "/usr/share/nginx/html", "0:0")
if err != nil {
t.Fatalf("Error adding file '%v':", err)
}
err = web.Commit()
if err != nil {
t.Fatalf("Error committing instance: %v", err)
}
// Create and commit the instance
web := assertCreateInstanceNginxWithVolumeOwner(t, "web")

t.Cleanup(func() {
require.NoError(t, knuu.BatchDestroy(executor.Instance, web))
Expand Down
24 changes: 1 addition & 23 deletions e2e/basic/folder_test_image_cached_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,29 +25,7 @@ func TestFolderCached(t *testing.T) {

for i := 0; i < numberOfInstances; i++ {
instanceName := fmt.Sprintf("web%d", i+1)
instance, err := knuu.NewInstance(instanceName)
if err != nil {
t.Fatalf("Error creating instance '%v': %v", instanceName, err)
}
err = instance.SetImage("docker.io/nginx:latest")
if err != nil {
t.Fatalf("Error setting image for '%v': %v", instanceName, err)
}
instance.AddPortTCP(80)
_, err = instance.ExecuteCommand("mkdir", "-p", "/usr/share/nginx/html")
if err != nil {
t.Fatalf("Error executing command for '%v': %v", instanceName, err)
}
err = instance.AddVolumeWithOwner("/usr/share/nginx/html", "1Gi", 0)
if err != nil {
t.Fatalf("Error adding volume: %v", err)
}
err = instance.Commit()
if err != nil {
t.Fatalf("Error committing instance '%v': %v", instanceName, err)
}

instances[i] = instance
instances[i] = assertCreateInstanceNginxWithVolumeOwner(t, instanceName)
}

var wgFolders sync.WaitGroup
Expand Down
4 changes: 4 additions & 0 deletions e2e/basic/probe_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ func TestProbe(t *testing.T) {
if err != nil {
t.Fatalf("Error executing command '%v':", err)
}
err = web.AddVolumeWithOwner("/usr/share/nginx/html", "1Gi", 0)
if err != nil {
t.Fatalf("Error adding volume: %v", err)
}
err = web.AddFile("resources/html/index.html", "/usr/share/nginx/html/index.html", "0:0")
if err != nil {
t.Fatalf("Error adding file '%v':", err)
Expand Down

0 comments on commit 2981a2a

Please sign in to comment.