--- # yaml-language-server: $schema=https://raw.githubusercontent.com/helm-unittest/helm-unittest/main/schema/helm-testsuite.json suite: route service reference templates: - common.yaml values: - ../_values/controllers_main_default_container.yaml tests: - it: default should pass set: route.main: parentRefs: - name: parentName namespace: parentNamespace rules: - backendRefs: - group: "" kind: Service name: RELEASE-NAME namespace: NAMESPACE port: 8080 weight: 1 asserts: - documentIndex: &HTTPRouteDocument 1 isKind: of: HTTPRoute - documentIndex: *HTTPRouteDocument equal: path: spec.rules[0].backendRefs[0] value: group: "" kind: Service name: RELEASE-NAME namespace: NAMESPACE port: 8080 weight: 1 - it: custom service reference should pass set: route.main: parentRefs: - name: parentName namespace: parentNamespace rules: - backendRefs: - group: test name: pathService port: 1234 namespace: serviceNamespace weight: 123 asserts: - documentIndex: &HTTPRouteDocument 1 isKind: of: HTTPRoute - documentIndex: *HTTPRouteDocument equal: path: spec.rules[0].backendRefs[0] value: group: test kind: Service name: pathService namespace: serviceNamespace port: 1234 weight: 123 - it: custom service reference with filter should fail set: route.main: parentRefs: - name: parentName namespace: parentNamespace rules: - backendRefs: - group: test name: pathService port: 1234 namespace: serviceNamespace weight: 123 filters: - type: RequestRedirect requestRedirect: scheme: https statusCode: 301 asserts: - failedTemplate: errorMessage: "backend refs and request redirect filters cannot co-exist." - it: custom service with filter should pass set: route.main: parentRefs: - name: parentName namespace: parentNamespace rules: - filters: - type: RequestRedirect requestRedirect: scheme: https statusCode: 301 asserts: - documentIndex: &HTTPRouteDocument 1 isKind: of: HTTPRoute - documentIndex: *HTTPRouteDocument equal: path: spec.rules[0].filters[0] value: type: RequestRedirect requestRedirect: scheme: https statusCode: 301 - documentIndex: *HTTPRouteDocument notExists: path: spec.rules[0].backendRefs[0]