Create more tests
This commit is contained in:
69
generator/deployment_test.go
Normal file
69
generator/deployment_test.go
Normal file
@@ -0,0 +1,69 @@
|
||||
package generator
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
v1 "k8s.io/api/apps/v1"
|
||||
"sigs.k8s.io/yaml"
|
||||
)
|
||||
|
||||
func TestGenerate(t *testing.T) {
|
||||
_compose_file := `
|
||||
services:
|
||||
web:
|
||||
image: nginx:1.29
|
||||
`
|
||||
tmpDir := setup(_compose_file)
|
||||
defer teardown(tmpDir)
|
||||
|
||||
currentDir, _ := os.Getwd()
|
||||
os.Chdir(tmpDir)
|
||||
defer os.Chdir(currentDir)
|
||||
|
||||
output := _compile_test(t, "-s", "templates/web/deployment.yaml")
|
||||
|
||||
// dt := DeploymentTest{}
|
||||
dt := v1.Deployment{}
|
||||
if err := yaml.Unmarshal([]byte(output), &dt); err != nil {
|
||||
t.Errorf("Failed to unmarshal the output: %s", err)
|
||||
}
|
||||
|
||||
if *dt.Spec.Replicas != 1 {
|
||||
t.Errorf("Expected replicas to be 1, got %d", dt.Spec.Replicas)
|
||||
t.Errorf("Output: %s", output)
|
||||
}
|
||||
|
||||
if dt.Spec.Template.Spec.Containers[0].Image != "nginx:1.29" {
|
||||
t.Errorf("Expected image to be nginx:1.29, got %s", dt.Spec.Template.Spec.Containers[0].Image)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGenerateWithBoundVolume(t *testing.T) {
|
||||
_compose_file := `
|
||||
services:
|
||||
web:
|
||||
image: nginx:1.29
|
||||
volumes:
|
||||
- data:/var/www
|
||||
volumes:
|
||||
data:
|
||||
`
|
||||
tmpDir := setup(_compose_file)
|
||||
defer teardown(tmpDir)
|
||||
|
||||
currentDir, _ := os.Getwd()
|
||||
os.Chdir(tmpDir)
|
||||
defer os.Chdir(currentDir)
|
||||
|
||||
output := _compile_test(t, "-s", "templates/web/deployment.yaml")
|
||||
|
||||
dt := v1.Deployment{}
|
||||
if err := yaml.Unmarshal([]byte(output), &dt); err != nil {
|
||||
t.Errorf("Failed to unmarshal the output: %s", err)
|
||||
}
|
||||
|
||||
if dt.Spec.Template.Spec.Containers[0].VolumeMounts[0].Name != "data" {
|
||||
t.Errorf("Expected volume name to be data: %v", dt)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user