128 lines
3.3 KiB
YAML
128 lines
3.3 KiB
YAML
suite: ssh-svc / http-svc template (Services configuration)
|
|
release:
|
|
name: gitea-unittests
|
|
namespace: testing
|
|
templates:
|
|
- templates/gitea/ssh-svc.yaml
|
|
- templates/gitea/http-svc.yaml
|
|
tests:
|
|
- it: supports adding custom labels to ssh-svc
|
|
template: templates/gitea/ssh-svc.yaml
|
|
set:
|
|
service:
|
|
ssh:
|
|
labels:
|
|
gitea/testkey: testvalue
|
|
asserts:
|
|
- equal:
|
|
path: metadata.labels["gitea/testkey"]
|
|
value: 'testvalue'
|
|
|
|
- it: keeps existing labels (ssh)
|
|
template: templates/gitea/ssh-svc.yaml
|
|
set:
|
|
service:
|
|
ssh:
|
|
labels: {}
|
|
asserts:
|
|
- exists:
|
|
path: metadata.labels["app"]
|
|
|
|
- it: supports adding custom labels to http-svc
|
|
template: templates/gitea/http-svc.yaml
|
|
set:
|
|
service:
|
|
http:
|
|
labels:
|
|
gitea/testkey: testvalue
|
|
asserts:
|
|
- equal:
|
|
path: metadata.labels["gitea/testkey"]
|
|
value: 'testvalue'
|
|
|
|
- it: keeps existing labels (http)
|
|
template: templates/gitea/http-svc.yaml
|
|
set:
|
|
service:
|
|
http:
|
|
labels: {}
|
|
asserts:
|
|
- exists:
|
|
path: metadata.labels["app"]
|
|
|
|
- it: uses default ports to ssh-svc
|
|
template: templates/gitea/ssh-svc.yaml
|
|
asserts:
|
|
- equal:
|
|
path: spec.ports[0].port
|
|
value: 22
|
|
- equal:
|
|
path: spec.ports[0].targetPort
|
|
value: ssh
|
|
|
|
- it: render service.ssh.loadBalancerClass if set and type is LoadBalancer
|
|
template: templates/gitea/ssh-svc.yaml
|
|
set:
|
|
service:
|
|
ssh:
|
|
loadBalancerClass: 'example.com/class'
|
|
type: LoadBalancer
|
|
loadBalancerIP: '1.2.3.4'
|
|
loadBalancerSourceRanges:
|
|
- '1.2.3.4/32'
|
|
- '5.6.7.8/32'
|
|
asserts:
|
|
- equal:
|
|
path: spec.loadBalancerClass
|
|
value: 'example.com/class'
|
|
- equal:
|
|
path: spec.loadBalancerIP
|
|
value: '1.2.3.4'
|
|
- equal:
|
|
path: spec.loadBalancerSourceRanges
|
|
value: ['1.2.3.4/32', '5.6.7.8/32']
|
|
|
|
- it: does not render when loadbalancer properties are set but type is not loadBalancerClass
|
|
template: templates/gitea/http-svc.yaml
|
|
set:
|
|
service:
|
|
http:
|
|
type: ClusterIP
|
|
loadBalancerClass: 'example.com/class'
|
|
loadBalancerIP: '1.2.3.4'
|
|
loadBalancerSourceRanges:
|
|
- '1.2.3.4/32'
|
|
- '5.6.7.8/32'
|
|
asserts:
|
|
- notExists:
|
|
path: spec.loadBalancerClass
|
|
- notExists:
|
|
path: spec.loadBalancerIP
|
|
- notExists:
|
|
path: spec.loadBalancerSourceRanges
|
|
|
|
- it: does not render loadBalancerClass by default even when type is LoadBalancer
|
|
template: templates/gitea/http-svc.yaml
|
|
set:
|
|
service:
|
|
http:
|
|
type: LoadBalancer
|
|
loadBalancerIP: '1.2.3.4'
|
|
asserts:
|
|
- notExists:
|
|
path: spec.loadBalancerClass
|
|
- equal:
|
|
path: spec.loadBalancerIP
|
|
value: '1.2.3.4'
|
|
|
|
- it: both ssh and http services exist
|
|
templates:
|
|
- templates/gitea/ssh-svc.yaml
|
|
- templates/gitea/http-svc.yaml
|
|
asserts:
|
|
- matchRegex:
|
|
path: metadata.name
|
|
pattern: '^gitea-unittests-forgejo-(?:ssh|http)$'
|
|
- matchRegex:
|
|
path: spec.ports[0].name
|
|
pattern: '^(?:ssh|http)$'
|