41 lines
1.0 KiB
Go
41 lines
1.0 KiB
Go
|
package extrafiles
|
||
|
|
||
|
import (
|
||
|
"strings"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
// override the embedded template for testing
|
||
|
var testTemplate = `
|
||
|
Some header
|
||
|
{{ ingress_list }}
|
||
|
Some footer
|
||
|
`
|
||
|
|
||
|
func init() {
|
||
|
notesTemplate = testTemplate
|
||
|
}
|
||
|
|
||
|
func TestNotesFile_NoServices(t *testing.T) {
|
||
|
result := NotesFile([]string{})
|
||
|
if !strings.Contains(result, "Some header") || !strings.Contains(result, "Some footer") {
|
||
|
t.Errorf("Expected template header/footer in output, got: %s", result)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestNotesFile_WithServices(t *testing.T) {
|
||
|
services := []string{"svc1", "svc2"}
|
||
|
result := NotesFile(services)
|
||
|
|
||
|
for _, svc := range services {
|
||
|
cond := "{{- if and .Values." + svc + ".ingress .Values." + svc + ".ingress.enabled }}"
|
||
|
line := "{{- $count = add1 $count -}}{{- $listOfURL = printf \"%s\\n- http://%s\" $listOfURL (tpl .Values." + svc + ".ingress.host .) -}}"
|
||
|
if !strings.Contains(result, cond) {
|
||
|
t.Errorf("Expected condition for service %s in output", svc)
|
||
|
}
|
||
|
if !strings.Contains(result, line) {
|
||
|
t.Errorf("Expected line for service %s in output", svc)
|
||
|
}
|
||
|
}
|
||
|
}
|