diff --git a/tests/.gitignore b/tests/.gitignore deleted file mode 100644 index 6059fd48..00000000 --- a/tests/.gitignore +++ /dev/null @@ -1 +0,0 @@ -shunit2/ \ No newline at end of file diff --git a/tests/Makefile b/tests/Makefile deleted file mode 100644 index 9df24044..00000000 --- a/tests/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -.DEFAULT_GOAL := all - -.PHONY: integration-tests -integration-tests: - ./integration_tests.sh - -.PHONY: unit-tests -unit-tests: - ./unit_tests.sh - -.PHONY: lint -lint: - ./lint.sh - -.PHONY: all -all: lint unit-tests integration-tests diff --git a/tests/integration_tests.sh b/tests/integration_tests.sh deleted file mode 100755 index 13833cf4..00000000 --- a/tests/integration_tests.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/bash - -ROOT_DIR="$(git rev-parse --show-toplevel)" -export CLUSTER_NAME=test -export BACKEND=kind -export ENABLE_EIRINI=false - -[ ! -d "shunit2" ] && git clone https://github.com/kward/shunit2.git - -setUp() { - ROOT_DIR="$(git rev-parse --show-toplevel)" - export ROOT_DIR - pushd "$ROOT_DIR" || exit -} - -tearDown() { - ROOT_DIR="$(git rev-parse --show-toplevel)" - export ROOT_DIR - pushd "$ROOT_DIR" || exit - rm -rf buildtest -} - -# # Tests creation and deletion of build directory -# testDeployment() { -# rm -rf buildtest -# make scf-deploy -# deployst=$? -# pushd buildtest || exit -# source .envrc -# popd || exit -# assertTrue 'create buildir' "[ -d 'buildtest' ]" -# PODS="$(kubectl get pods -n scf)" -# SVCS="$(kubectl get svc -n scf)" -# assertContains 'contains scf-cc-worker-v1 pod' "$PODS" 'scf-cc-worker-v1' -# assertContains 'contains cf-operator-webhook svc' "$SVCS" 'cf-operator-webhook' -# assertContains 'contains scf-api svc' "$SVCS" 'scf-api' -# assertTrue 'deploys successfully' "[ \"$deployst\" == \"0\"]" -# make tests-smoke-kube -# kubert=$? -# assertTrue 'smoke pass successfully' "[ \"$kubert\" == \"0\"]" -# make clean -# assertTrue 'clean buildir' "[ ! -d 'buildtest' ]" -# } - -testKind() { - rm -rf buildtest - BACKEND=kind make k8s - deployst=$? - echo "DEPLOYS: $deployst" - assertTrue 'create buildir' "[ -d 'buildtest' ]" - assertEquals 'deploys successfully' "$deployst" "0" - make scf-chart - assertTrue 'helm folder is present' "[ -d 'buildtest/helm' ]" - AUTOSCALER=true make scf-gen-config - VALUES_FILE=$(cat $ROOT_DIR/buildtest/scf-config-values.yaml) - assertContains 'generates correctly AUTOSCALER' "$VALUES_FILE" "autoscaler: true" - make module-extra-ingress - deployst=$? - assertEquals 'deploys ingress successfully' "$deployst" "0" - echo "#!/bin/bash" > buildtest/test.sh - echo "set -ex" >> buildtest/test.sh - echo "echo 'test'" >> buildtest/test.sh - chmod +x buildtest/test.sh - TASK_SCRIPT="$PWD/buildtest/test.sh" make module-extra-task - taskst=$? - assertEquals 'Executes task successfully' "$taskst" "0" - make clean - assertTrue 'clean buildir' "[ ! -d 'buildtest' ]" -} - -# Load shUnit2. -. ./shunit2/shunit2 diff --git a/tests/lint.sh b/tests/lint.sh deleted file mode 100755 index f1ead77e..00000000 --- a/tests/lint.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -. ../include/common.sh - -retcode=0 -BUILDDIR_REGEXP="^$ROOT_DIR/build" - -info "Linting shell scripts" && debug_mode -SH_FILES=$(find "$ROOT_DIR" -type f -name '*.sh' -o -name '*.ksh' -o -name '*.bash' | grep -v "shunit2" | grep -v "$BUILDDIR_REGEXP" ) -# SC1090 we are building paths with $BACKEND -shellcheck --severity=warning -e SC1090 $SH_FILES || retcode=1 - -info "Linting yamls" && debug_mode -YML_FILES=$(find "$ROOT_DIR" -type f -name '*.yaml' -o -name '*.yml' | grep -v "shunit2" | grep -v "$BUILDDIR_REGEXP") -yamllint -d "{extends: relaxed, rules: {line-length: {max: 120}}}" --strict $YML_FILES || retcode=1 - -if [[ $retcode == 1 ]] ; then - err "Linting failed" && exit 1 -else - ok "Linting passed" -fi diff --git a/tests/mocks/helm b/tests/mocks/helm deleted file mode 100755 index 50bf5069..00000000 --- a/tests/mocks/helm +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -set -Eeuo pipefail - -echo "Using helmmock" - -exit 0 \ No newline at end of file diff --git a/tests/mocks/kubectl b/tests/mocks/kubectl deleted file mode 100755 index 5d8bcec4..00000000 --- a/tests/mocks/kubectl +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -set -Eeuo pipefail - -SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )" - -if [ "$1" = get ] && [ "$2" = configmap ]; then - cat "$SCRIPTPATH"/kubectl_output_get_configmap.json -fi - -if [ "$1" = get ] && [ "$2" = nodes ]; then - cat "$SCRIPTPATH"/kubectl_output_get_nodes.json -fi - -if [ "$1" = get ] && [ "$2" = pods ]; then - cat "$SCRIPTPATH"/kubectl_output_get_pods -fi - -exit 0 diff --git a/tests/mocks/kubectl_output_get_configmap.json b/tests/mocks/kubectl_output_get_configmap.json deleted file mode 100644 index 53a40358..00000000 --- a/tests/mocks/kubectl_output_get_configmap.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "apiVersion": "v1", - "data": { - "chart": "https://github.com/SUSE/scf/releases/download/2.19.1/scf-sle-2.19.1%2Bcf9.5.0.0.gd8c18ede.zip", - "domain": "172.17.0.2.nip.io", - "platform": "kind", - "public-ip": "172.17.0.2" - }, - "kind": "ConfigMap", - "metadata": { - "creationTimestamp": "2019-12-06T14:09:55Z", - "name": "cap-values", - "namespace": "kube-system", - "resourceVersion": "808", - "selfLink": "/api/v1/namespaces/kube-system/configmaps/cap-values", - "uid": "8902e8ff-1eab-4235-8422-8eca812f040e" - } -} diff --git a/tests/mocks/kubectl_output_get_nodes.json b/tests/mocks/kubectl_output_get_nodes.json deleted file mode 100644 index d3b670dd..00000000 --- a/tests/mocks/kubectl_output_get_nodes.json +++ /dev/null @@ -1,464 +0,0 @@ -{ - "apiVersion": "v1", - "items": [ - { - "apiVersion": "v1", - "kind": "Node", - "metadata": { - "annotations": { - "kubeadm.alpha.kubernetes.io/cri-socket": "/run/containerd/containerd.sock", - "node.alpha.kubernetes.io/ttl": "0", - "volumes.kubernetes.io/controller-managed-attach-detach": "true" - }, - "creationTimestamp": "2019-12-06T14:09:06Z", - "labels": { - "beta.kubernetes.io/arch": "amd64", - "beta.kubernetes.io/os": "linux", - "kubernetes.io/arch": "amd64", - "kubernetes.io/hostname": "kind-control-plane", - "kubernetes.io/os": "linux", - "node-role.kubernetes.io/master": "" - }, - "name": "kind-control-plane", - "resourceVersion": "374619", - "selfLink": "/api/v1/nodes/kind-control-plane", - "uid": "1c03a321-4cfb-49ef-9b1a-286ae2e99dd7" - }, - "spec": { - "podCIDR": "10.244.0.0/24", - "podCIDRs": [ - "10.244.0.0/24" - ] - }, - "status": { - "addresses": [ - { - "address": "172.17.0.2", - "type": "InternalIP" - }, - { - "address": "kind-control-plane", - "type": "Hostname" - } - ], - "allocatable": { - "cpu": "8", - "ephemeral-storage": "411798952Ki", - "hugepages-1Gi": "0", - "hugepages-2Mi": "0", - "memory": "32862772Ki", - "pods": "110" - }, - "capacity": { - "cpu": "8", - "ephemeral-storage": "411798952Ki", - "hugepages-1Gi": "0", - "hugepages-2Mi": "0", - "memory": "32862772Ki", - "pods": "110" - }, - "conditions": [ - { - "lastHeartbeatTime": "2019-12-09T10:00:55Z", - "lastTransitionTime": "2019-12-06T14:09:06Z", - "message": "kubelet has sufficient memory available", - "reason": "KubeletHasSufficientMemory", - "status": "False", - "type": "MemoryPressure" - }, - { - "lastHeartbeatTime": "2019-12-09T10:00:55Z", - "lastTransitionTime": "2019-12-06T14:09:06Z", - "message": "kubelet has no disk pressure", - "reason": "KubeletHasNoDiskPressure", - "status": "False", - "type": "DiskPressure" - }, - { - "lastHeartbeatTime": "2019-12-09T10:00:55Z", - "lastTransitionTime": "2019-12-06T14:09:06Z", - "message": "kubelet has sufficient PID available", - "reason": "KubeletHasSufficientPID", - "status": "False", - "type": "PIDPressure" - }, - { - "lastHeartbeatTime": "2019-12-09T10:00:55Z", - "lastTransitionTime": "2019-12-06T14:09:37Z", - "message": "kubelet is posting ready status", - "reason": "KubeletReady", - "status": "True", - "type": "Ready" - } - ], - "daemonEndpoints": { - "kubeletEndpoint": { - "Port": 10250 - } - }, - "images": [ - { - "names": [ - "registry.suse.com/cap/scf-mysql@sha256:77d557a06a6924f4052bdf7a3b997902c36e2fe7ccd4164594d71563711f6848", - "registry.suse.com/cap/scf-mysql:6c2421f2299709e5826ad67ec8496b4f92a5e63b" - ], - "sizeBytes": 5114899177 - }, - { - "names": [ - "registry.suse.com/cap/scf-blobstore@sha256:325836a27416d89ca882ad95cd708ddffbd1e0f2b7757fc5ef31ed309fe62999", - "registry.suse.com/cap/scf-blobstore:3dd1fab1dd32802b4ac0b46af3f0877514598511" - ], - "sizeBytes": 5114881123 - }, - { - "names": [ - "registry.suse.com/cap/scf-bits@sha256:bc026948b19ab86a4e0d2411fd24ec6985256676f5e6b27f1ae8550e778f6018", - "registry.suse.com/cap/scf-bits:7f177658aa643d2e7312bfd404f05a24688c4c1c" - ], - "sizeBytes": 5114880347 - }, - { - "names": [ - "registry.suse.com/cap/scf-mysql-proxy@sha256:19ec96795e7d4ae955adc24d724529c77dd930e012bd2bf822e63ac4ae5c8c4e", - "registry.suse.com/cap/scf-mysql-proxy:f33ea205fa1fa6a7a13df76044a868fc8d42739e" - ], - "sizeBytes": 5114874261 - }, - { - "names": [ - "registry.suse.com/cap/scf-adapter@sha256:2112ed2a096f1d8563f9d3e3ebff657fc53dd4314b781d8957be20f4187a1e65", - "registry.suse.com/cap/scf-adapter:5727c4f5db7929e883cc0403ead89f47fdf0981a" - ], - "sizeBytes": 5114873557 - }, - { - "names": [ - "registry.suse.com/cap/scf-syslog-scheduler@sha256:036fda353bcb2a45dda696b20fec77d0f07d1ed2bb2dde6042e0c0d38a3652d9", - "registry.suse.com/cap/scf-syslog-scheduler:b567f65989eebbb5b30a2e0a23033578ad22d779" - ], - "sizeBytes": 5114872448 - }, - { - "names": [ - "registry.suse.com/cap/scf-nats@sha256:6d6cd13936145489aa9230ef34a0ce674245be6a82f208a12c35e7edc86fb740", - "registry.suse.com/cap/scf-nats:e5879982da48c378e14a3945ad1814787ba87f28" - ], - "sizeBytes": 5114872387 - }, - { - "names": [ - "registry.suse.com/cap/scf-loggregator-agent@sha256:82fbfac7dd0f1c1f85503de96bcb6b84d10afc87d194ef20a8c1a6db4eade618", - "registry.suse.com/cap/scf-loggregator-agent:ae85a21790b381ddcdba5fc6ad5a2908c0582782" - ], - "sizeBytes": 5114870061 - }, - { - "names": [ - "registry.suse.com/cap/scf-configure-eirini@sha256:05ac82457062f815b07a4a9484f499fa1a5bc8170021471e614344130ed53827", - "registry.suse.com/cap/scf-configure-eirini:8b848eeb6fa2af1571584e463402428f76b26a10" - ], - "sizeBytes": 5114865145 - }, - { - "names": [ - "registry.suse.com/cap/scf-secret-generation@sha256:4838415d8689bbb8ebe745aeafb0a0f1072e083102cdb603562de68df44eb025", - "registry.suse.com/cap/scf-secret-generation:c31f0ecd42c993b2dd8f68e627a3d9bdea6ce5d7" - ], - "sizeBytes": 5114861546 - }, - { - "names": [ - "registry.suse.com/cap/scf-api-group@sha256:a4fc3923dec3d8f0b9d432c4f00840d2264231fd8eae51082e0f5bf8244fb753", - "registry.suse.com/cap/scf-api-group:4d331538c069a2c0da081b6117928a74d7dd932b" - ], - "sizeBytes": 5114693984 - }, - { - "names": [ - "registry.suse.com/cap/scf-cc-clock@sha256:a9baea011c9aeffed0d10930e8d631a50284ba669bb6cdab75ce80cdc5a4d36a", - "registry.suse.com/cap/scf-cc-clock:67159550bec114a528dd4045065c4395a5a41fcd" - ], - "sizeBytes": 5114659637 - }, - { - "names": [ - "registry.suse.com/cap/scf-cc-worker@sha256:2521d5800e0562fbae7cbd396bba34984aeb7ad4d99d422a316a662998dc2457", - "registry.suse.com/cap/scf-cc-worker:50d8567be1355ee213408dbce036e19ac74d268c" - ], - "sizeBytes": 5114659380 - }, - { - "names": [ - "registry.suse.com/cap/scf-doppler@sha256:836c780837ee5528129602a97c317a3ee51a0e360fa92f1ad38f5d338e64ec6c", - "registry.suse.com/cap/scf-doppler:e6c247b03262c9cf2e0b9096328068b8c7a114ad" - ], - "sizeBytes": 5114646196 - }, - { - "names": [ - "registry.suse.com/cap/scf-log-api@sha256:4605565233be832469d8218744c48b6dd3cecfd97b599911d5c056682de6e711", - "registry.suse.com/cap/scf-log-api:8014cab793cc4e6bc5fc0c0ddb8dba4360c4d658" - ], - "sizeBytes": 5114644470 - }, - { - "names": [ - "registry.suse.com/cap/scf-router@sha256:21b271403a72e563778a9fa92a01931def75221e78d3c68d97bd39ad2d3a0844", - "registry.suse.com/cap/scf-router:cdbe3d3ceb1e4eca4bffe65879908dd354c5e65b" - ], - "sizeBytes": 5114641728 - }, - { - "names": [ - "registry.suse.com/cap/scf-cf-usb-group@sha256:cb85a929b4e42b37c0a8931764610ecb397dbe927d3c3d48a2bd375761726d8e", - "registry.suse.com/cap/scf-cf-usb-group:6ba3ed1dbc6bc945090ecea6fed1cd54c8b9f86d" - ], - "sizeBytes": 5114636978 - }, - { - "names": [ - "registry.suse.com/cap/scf-cc-uploader@sha256:14cd04b172845113021c104606fcca99248452cb16c64e5943f29d917dec0b2b", - "registry.suse.com/cap/scf-cc-uploader:f9b1118ccf33fe3f78d16652f8e5d3fc1a409e90" - ], - "sizeBytes": 5114636430 - }, - { - "names": [ - "registry.suse.com/cap/scf-eirini@sha256:a017f152cf3b17c80a3d419c8191a74c6bef35d47effd56571d6946dea2e5fee", - "registry.suse.com/cap/scf-eirini:10a80a85bff50e0c9c9834a15a72c1a3ce66ea7f" - ], - "sizeBytes": 5114636333 - }, - { - "names": [ - "registry.suse.com/cap/scf-locket@sha256:10ad6b06f1aa9c817bb0fd460ef8487e0e13a9c3837e8634f962cc2d0872a7ad", - "registry.suse.com/cap/scf-locket:ad5e27088df0df85f1853d0ad700bfa92f5a2979" - ], - "sizeBytes": 5114634824 - }, - { - "names": [ - "registry.suse.com/cap/scf-routing-api@sha256:b3d2ab066d778b7e71441de407c044d1776b446d5186ab929da742bec858bc89", - "registry.suse.com/cap/scf-routing-api:35fd4b7e591b334cc4640828d2811937b5f082fd" - ], - "sizeBytes": 5114634726 - }, - { - "names": [ - "registry.suse.com/cap/scf-tcp-router@sha256:228a5e430b21497710bb64a93c144b398140ec7d319f13143175469c02c0146a", - "registry.suse.com/cap/scf-tcp-router:69c3c269ac839fea211c1d5158ba313da53983fb" - ], - "sizeBytes": 5114634704 - }, - { - "names": [ - "registry.suse.com/cap/scf-eirini-persi@sha256:2691d3bb582f238425494c3aef3989013a9d94df43922fd88e9ea2cacbfaa34f", - "registry.suse.com/cap/scf-eirini-persi:9823f0071745ef36b2322863a74e3addd6a91fd8" - ], - "sizeBytes": 5114634383 - }, - { - "names": [ - "registry.suse.com/cap/scf-eirini-ssh@sha256:53a2cc96faa32b2e602eb4ebccc34ba754e19394481c3bd2a996c05bcf222e2b", - "registry.suse.com/cap/scf-eirini-ssh:f54dfe5b05eceee93cadd25fb368a8928abeb0c9" - ], - "sizeBytes": 5114634306 - }, - { - "names": [ - "registry.suse.com/cap/scf-log-cache-scheduler@sha256:0aad1a81a93af4dc10e0f689d0390d3999eb31d2b7721ec370088de6671c8e71", - "registry.suse.com/cap/scf-log-cache-scheduler:5fadcb8623fc5c9f6fddec7e24f49ff012139d2d" - ], - "sizeBytes": 5114633553 - }, - { - "names": [ - "registry.suse.com/cap/scf-post-deployment-setup@sha256:f719ed48823cc80bebcab43eed6e6fd833a796cf03b0424683fd37937e0f35bd", - "registry.suse.com/cap/scf-post-deployment-setup:156bc6f3fadc9ceb3df23c47baa77178a48fae7d" - ], - "sizeBytes": 5114628483 - }, - { - "names": [ - "registry.suse.com/cap/uaa-uaa@sha256:f4b7bbbac4e2fdadac91405afccf104cdb8f5b3b17b1d25b44f00736bfa06430", - "registry.suse.com/cap/uaa-uaa:d4f21e1a7c902cbfbc9881eebd736c8395cf110d" - ], - "sizeBytes": 1423312389 - }, - { - "names": [ - "registry.suse.com/cap/uaa-mysql@sha256:3d2e46eaf7e8d700c7673226ebe71402b310aa777b1020a1c1973453fb8768f8", - "registry.suse.com/cap/uaa-mysql:0a5d7be2172357cf33df2061dd44e6b15087621d" - ], - "sizeBytes": 1423300432 - }, - { - "names": [ - "registry.suse.com/cap/uaa-mysql-proxy@sha256:9f7169869c3b0af8dfe5c84f97c5c3f9e7dc8813775b6ae1f306e70618dd27c9", - "registry.suse.com/cap/uaa-mysql-proxy:52be661625cae036927a9ba2fafee76bcd087372" - ], - "sizeBytes": 1423276158 - }, - { - "names": [ - "registry.suse.com/cap/uaa-post-deployment-setup@sha256:033b6a41f8a4b392bfb0448edd32b7286a00aa221ea7f5679a807aeab13c599a", - "registry.suse.com/cap/uaa-post-deployment-setup:48eeccb84133be6e3a935c14a098c133ab9b127c" - ], - "sizeBytes": 1423264287 - }, - { - "names": [ - "registry.suse.com/cap/uaa-secret-generation@sha256:c8f9e15c767a09f7a4e2fc1e989a4a919bc57be88541f4866dc687cc95f9d595", - "registry.suse.com/cap/uaa-secret-generation:8b32d84d7425898490e7cf56a4f960a6bbff1dff" - ], - "sizeBytes": 1423263854 - }, - { - "names": [ - "127.0.0.1:30613/cloudfoundry/e1abc01e-8e44-437f-82f6-3caaa810801a@sha256:c9843a5a917675ecb91738b1cea4c06eec3cb9034b9b32e0ca733df3c6a8ec9a", - "127.0.0.1:30613/cloudfoundry/e1abc01e-8e44-437f-82f6-3caaa810801a:86da32f6768b1dd53c4b591f0910927da477a024" - ], - "sizeBytes": 1108084390 - }, - { - "names": [ - "127.0.0.1:30613/cloudfoundry/6079b6ea-8367-4bb1-a3b8-a3a73bacf75f@sha256:beaf99b2039491f6dcdedc885402fc062aee5c51fea0cf9115b00e764bfad0a1", - "127.0.0.1:30613/cloudfoundry/6079b6ea-8367-4bb1-a3b8-a3a73bacf75f:f1455aa0399e7523bf6744d73cfa2fd4747b8846" - ], - "sizeBytes": 1094075575 - }, - { - "names": [ - "127.0.0.1:30613/cloudfoundry/9aadf6b9-9aff-4eca-89d9-8c472711d8f8@sha256:cf11891971085947e343792472b7457f74271398e1a2885c41d7d374fbe90f92", - "127.0.0.1:30613/cloudfoundry/9aadf6b9-9aff-4eca-89d9-8c472711d8f8:a50c3ffa1afce189fc0dd65a6ddb18fdefab1c0a" - ], - "sizeBytes": 1094075575 - }, - { - "names": [ - "127.0.0.1:30613/cloudfoundry/3d3bfb6e-8581-4db5-9fa8-6be80d65ae53@sha256:6185f144abec697cd90eba88b730d58e52b24d9899d23e9ebeb6f2d9a93d331b", - "127.0.0.1:30613/cloudfoundry/3d3bfb6e-8581-4db5-9fa8-6be80d65ae53:bbcb9cfce1977c34c115699dec78dd6ae1c04cd0" - ], - "sizeBytes": 1094075575 - }, - { - "names": [ - "127.0.0.1:30613/cloudfoundry/4f649ac9-f964-448c-bf03-cce0f9b0c079@sha256:082157105520ce64829b8b16c15eb89bef556894cfbc1df1007499b34dcf5235", - "127.0.0.1:30613/cloudfoundry/4f649ac9-f964-448c-bf03-cce0f9b0c079:345d74da8d25303093cbaff3e16d01e5df1d0d9b" - ], - "sizeBytes": 1094075575 - }, - { - "names": [ - "docker.io/splatform/concourse-brats@sha256:576807dd8e979e417cff9fd8f6ed311acb2e383b731f10334af9fcfc93cf9cdb", - "docker.io/splatform/concourse-brats:latest" - ], - "sizeBytes": 622255105 - }, - { - "names": [ - "registry.suse.com/cap/recipe-executor@sha256:b4eb83caef77bc4b5e9af37b855ae472eff6ee61ab9332183c2c520b3fa83a20", - "registry.suse.com/cap/recipe-executor:0.18.0" - ], - "sizeBytes": 336792169 - }, - { - "names": [ - "registry.suse.com/cap/recipe-downloader@sha256:9843cf5f2698ad954e1a7e79fd766d68d4a1d4f40c5267e3a83d79b0e26c7559", - "registry.suse.com/cap/recipe-downloader:0.18.0" - ], - "sizeBytes": 336585888 - }, - { - "names": [ - "registry.suse.com/cap/recipe-uploader@sha256:92fbd3a394f89788efbd530902192f912992361054e2442c1bb907f9995e840f", - "registry.suse.com/cap/recipe-uploader:0.17.0" - ], - "sizeBytes": 336442072 - }, - { - "names": [ - "k8s.gcr.io/etcd:3.3.15-0" - ], - "sizeBytes": 248209343 - }, - { - "names": [ - "k8s.gcr.io/kube-apiserver:v1.16.3" - ], - "sizeBytes": 185162546 - }, - { - "names": [ - "k8s.gcr.io/kube-controller-manager:v1.16.3" - ], - "sizeBytes": 128412995 - }, - { - "names": [ - "k8s.gcr.io/kube-scheduler:v1.16.3" - ], - "sizeBytes": 105272113 - }, - { - "names": [ - "k8s.gcr.io/kube-proxy:v1.16.3" - ], - "sizeBytes": 102559406 - }, - { - "names": [ - "docker.io/kindest/kindnetd:0.5.3" - ], - "sizeBytes": 80345874 - }, - { - "names": [ - "k8s.gcr.io/coredns:1.6.2" - ], - "sizeBytes": 44229087 - }, - { - "names": [ - "docker.io/library/docker@sha256:852aa209e22c95de9c30dad23343ccb32f93556f21dc9d9bbb0b4c348e161c95", - "docker.io/library/docker:1.12.6-dind" - ], - "sizeBytes": 34118278 - }, - { - "names": [ - "gcr.io/kubernetes-helm/tiller@sha256:3c70ee359d3ec305ca469395a2481b2375d569c6b4a928389ca07d829d12ec51", - "gcr.io/kubernetes-helm/tiller:v2.16.1" - ], - "sizeBytes": 29549577 - }, - { - "names": [ - "gcr.io/google_containers/metrics-server-amd64@sha256:edab4c64c4e29f665adaf6c0e11fe00ac9d71bb1fdce61bfa3d9e2a664331f79", - "gcr.io/google_containers/metrics-server-amd64:v0.3.5" - ], - "sizeBytes": 10542677 - } - ], - "nodeInfo": { - "architecture": "amd64", - "bootID": "c30c76e7-c7cf-464b-9108-6822bbc731c5", - "containerRuntimeVersion": "containerd://1.3.0-27-g54658b88", - "kernelVersion": "4.19.0-6-amd64", - "kubeProxyVersion": "v1.16.3", - "kubeletVersion": "v1.16.3", - "machineID": "8a26f339aad346ff9e8def6eaac31fd4", - "operatingSystem": "linux", - "osImage": "Ubuntu Eoan Ermine (development branch)", - "systemUUID": "2b74d345-c2bf-4bf0-a5a6-31a7a2e9a0f4" - } - } - } - ], - "kind": "List", - "metadata": { - "resourceVersion": "", - "selfLink": "" - } -} diff --git a/tests/mocks/kubectl_output_get_pods b/tests/mocks/kubectl_output_get_pods deleted file mode 100644 index ada8136c..00000000 --- a/tests/mocks/kubectl_output_get_pods +++ /dev/null @@ -1,44 +0,0 @@ -NAMESPACE NAME READY STATUS RESTARTS AGE -catapult dind 1/1 Running 0 2d18h -default metrics-server-767f5c9789-zpd9r 1/1 Running 0 2d19h -eirini cf-nodejs-tmp-efd95703f0-0 1/1 Running 0 2d18h -kube-system coredns-5644d7b6d9-8fhtc 1/1 Running 0 2d19h -kube-system coredns-5644d7b6d9-rj79z 1/1 Running 0 2d19h -kube-system etcd-kind-control-plane 1/1 Running 0 2d19h -kube-system hostpath-provisioner 1/1 Running 0 2d19h -kube-system kindnet-v5lrj 1/1 Running 0 2d19h -kube-system kube-apiserver-kind-control-plane 1/1 Running 0 2d19h -kube-system kube-controller-manager-kind-control-plane 1/1 Running 0 2d19h -kube-system kube-proxy-8gvfm 1/1 Running 0 2d19h -kube-system kube-scheduler-kind-control-plane 1/1 Running 0 2d19h -kube-system tiller-deploy-b747845f-zk4gt 1/1 Running 0 2d19h -scf adapter-0 2/2 Running 0 2d19h -scf api-group-0 2/2 Running 0 2d19h -scf bits-0 1/1 Running 0 2d19h -scf blobstore-0 2/2 Running 0 2d19h -scf cc-clock-0 2/2 Running 0 2d19h -scf cc-uploader-0 2/2 Running 0 2d19h -scf cc-worker-0 2/2 Running 0 2d19h -scf cf-usb-group-0 1/1 Running 0 2d19h -scf configure-eirini-1-bh6kn 0/1 Completed 0 2d19h -scf doppler-0 2/2 Running 0 2d19h -scf eirini-0 1/1 Running 0 2d19h -scf eirini-persi-0 1/1 Running 0 2d19h -scf eirini-ssh-0 1/1 Running 0 2d19h -scf locket-0 2/2 Running 0 2d19h -scf log-api-0 2/2 Running 0 2d19h -scf log-cache-scheduler-0 2/2 Running 0 2d19h -scf mysql-0 1/1 Running 0 2d19h -scf mysql-proxy-0 1/1 Running 0 2d19h -scf nats-0 2/2 Running 0 2d19h -scf post-deployment-setup-1-c5svx 0/1 Completed 0 2d19h -scf router-0 2/2 Running 0 2d19h -scf routing-api-0 2/2 Running 0 2d19h -scf secret-generation-1-gqgmr 0/1 Completed 0 2d19h -scf syslog-scheduler-0 2/2 Running 0 2d19h -scf tcp-router-0 2/2 Running 0 2d19h -uaa mysql-0 1/1 Running 0 2d19h -uaa mysql-proxy-0 1/1 Running 0 2d19h -uaa post-deployment-setup-1-tn5ww 0/1 Completed 0 2d19h -uaa secret-generation-1-j4kng 0/1 Completed 0 2d19h -uaa uaa-0 1/1 Running 0 2d19h diff --git a/tests/unit_tests.sh b/tests/unit_tests.sh deleted file mode 100755 index 83e2d472..00000000 --- a/tests/unit_tests.sh +++ /dev/null @@ -1,193 +0,0 @@ -#!/bin/bash - -ROOT_DIR="$(git rev-parse --show-toplevel)" - -[ ! -d "shunit2" ] && git clone https://github.com/kward/shunit2.git - -setUp() { - export PATH=$ROOT_DIR/tests/mocks:"$PATH" - export CLUSTER_NAME=test - ROOT_DIR="$(git rev-parse --show-toplevel)" - export ROOT_DIR - pushd "$ROOT_DIR" || exit -} - -tearDown() { - ROOT_DIR="$(git rev-parse --show-toplevel)" - export ROOT_DIR - pushd "$ROOT_DIR" || exit - rm -rf buildtest -} - -# Tests creation and deletion of build directory -testBuilddir() { - rm -rf buildtest - make buildir - assertTrue 'create buildir' "[ -d 'buildtest' ]" - ENVRC="$(cat "$PWD"/buildtest/.envrc)" - assertContains 'contains KUBECONFIG' "$ENVRC" "KUBECONFIG=\"$PWD/buildtest\"/kubeconfig" - assertContains 'contains CLUSTER_NAME' "$ENVRC" 'CLUSTER_NAME=test' - assertContains 'contains BACKEND kind (default)' "$ENVRC" 'BACKEND=kind' - assertContains 'contains CF_HOME' "$ENVRC" "CF_HOME=\"$PWD/buildtest\"" - make clean - assertTrue 'clean buildir' "[ ! -d 'buildtest' ]" -} - -# Tests values generation -testConfig() { - rm -rf buildtest - make buildir - DEFAULT_STACK=sle CLUSTER_PASSWORD=test123 STORAGECLASS=our-storage make scf-gen-config - assertTrue 'create buildir' "[ -d $ROOT_DIR/buildtest ]" - assertTrue 'create config values' "[ -e $ROOT_DIR/buildtest/scf-config-values.yaml ]" - - VALUES_FILE="$(cat $ROOT_DIR/buildtest/scf-config-values.yaml)" - assertContains 'generates correctly CLUSTER_ADMIN_PASSWORD' "$VALUES_FILE" "CLUSTER_ADMIN_PASSWORD: test123" - assertContains 'generates correctly KUBE_CSR_AUTO_APPROVAL' "$VALUES_FILE" "KUBE_CSR_AUTO_APPROVAL: true" - assertContains 'generates correctly DEFAULT_STACK' "$VALUES_FILE" "DEFAULT_STACK: \"sle\"" - assertContains 'generates correctly GARDEN_ROOTFS_DRIVER' "$VALUES_FILE" "GARDEN_ROOTFS_DRIVER: \"overlay-xfs\"" - assertContains 'generates correctly STORAGECLASS (1)' "$VALUES_FILE" "kube_storage_class: \"our-storage\"" - assertContains 'generates correctly STORAGECLASS (2)' "$VALUES_FILE" "persistent: \"our-storage\"" - assertContains 'generates correctly STORAGECLASS (3)' "$VALUES_FILE" "shared: \"our-storage\"" - assertContains 'generates correctly AUTOSCALER' "$VALUES_FILE" "autoscaler: false" -} - -# Tests backend switch -testBackend() { - for b in kind caasp4os eks gke imported minikube; do - if [ -d "$ROOT_DIR/backend/$b" ]; then - rm -rf buildtest - BACKEND="$b" make buildir - assertTrue 'create buildir' "[ -d 'buildtest' ]" - ENVRC="$(cat "$PWD"/buildtest/.envrc)" - assertContains 'contains BACKEND' "$ENVRC" BACKEND="$b" - BACKEND="$b" make clean - assertTrue 'clean buildir' "[ ! -d 'buildtest' ]" - fi - done -} - -# Tests imported backend -testBackendImported() { - rm -rf buildtest - BACKEND=imported make buildir - assertTrue 'create buildir' "[ -d 'buildtest' ]" - ENVRC="$(cat "$PWD"/buildtest/.envrc)" - assertContains 'contains BACKEND' "$ENVRC" 'BACKEND=imported' - echo "foo" > buildtest/kubeconfig_orig - KUBECFG=$(pwd)/buildtest/kubeconfig_orig \ - BACKEND=imported \ - make kubeconfig - assertTrue 'imported kubeconfig' 'diff "$PWD"/buildtest/kubeconfig "$PWD"/buildtest/kubeconfig_orig' - assertFalse "BACKEND=imported make check must fail" 'BACKEND=imported make private backends/imported check' - BACKEND=imported make clean - assertTrue 'clean buildir' "[ ! -d 'buildtest' ]" -} - -# Tests Json config switch -testJson() { - unset CLUSTER_NAME - unset BACKEND - rm -rf buildjson - echo '{ "BACKEND": "gke", "CLUSTER_NAME": "json" }' > test.json - BACKEND=gke CONFIG=$PWD/test.json make buildir - assertTrue 'create buildir' "[ -d 'buildjson' ]" - ENVRC="$(cat "$PWD"/buildjson/.envrc)" - assertContains 'contains BACKEND' "$ENVRC" 'BACKEND=gke' - assertContains 'contains CLUSTER_NAME' "$ENVRC" 'CLUSTER_NAME=json' - BACKEND=gke CONFIG=$PWD/test.json make clean - assertTrue 'clean buildir' "[ ! -d 'buildjson' ]" - rm -rf test.json -} - -testJsonOverrides() { - unset CLUSTER_NAME - unset BACKEND - rm -rf buildjson - echo '{ "BACKEND": "gke", "CLUSTER_NAME": "json" }' > test.json - BACKEND=imported CONFIG=$PWD/test.json make buildir - assertTrue 'create buildir' "[ -d 'buildjson' ]" - ENVRC="$(cat "$PWD"/buildjson/.envrc)" - assertContains 'contains BACKEND' "$ENVRC" 'BACKEND=imported' - assertContains 'contains CLUSTER_NAME' "$ENVRC" 'CLUSTER_NAME=json' - BACKEND=imported CONFIG=$PWD/test.json make clean - assertTrue 'clean buildir' "[ ! -d 'buildjson' ]" - rm -rf test.json -} - -# testscfChart() { -# rm -rf buildtest -# DEFAULT_STACK=sle15 CLUSTER_PASSWORD=test123 make buildir scf-chart scf-gen-config -# assertTrue 'yq was not downloaded' "[ ! -e 'buildtest/bin/yq' ]" -# assertTrue 'chart downloaded from URL (chart is present)' "[ -e 'buildtest/chart' ]" -# assertTrue 'chart was not generated' '[ -z "$(ls buildtest/*.tgz buildtest/*.zip)" ]' -# assertTrue 'chart downloaded (scf_chart_url is present)' "[ -e 'buildtest/scf_chart_url' ]" -# assertTrue 'chart downloaded from an http resource (scf_chart_url contains http)' "grep 'http' 'buildtest/scf_chart_url'" - -# SCF_HELM_VERSION="2.14.5" DEFAULT_STACK=sle15 CLUSTER_PASSWORD=test123 make buildir scf-chart scf-gen-config -# assertTrue 'yq was downloaded' "[ -e 'buildtest/bin/yq' ]" -# assertTrue 'chart was generated (tgz present)' "[ -e 'buildtest/scf-sle-2.14.5+cf2.7.0.0.g6360c016.tgz' ]" -# assertTrue 'chart was generated (zip present)' "[ -e 'buildtest/scf-sle-2.14.5+cf2.7.0.0.g6360c016.zip' ]" -# assertTrue 'chart not downloaded' "[ ! -e 'buildtest/scf_chart_url' ]" - -# make clean -# assertTrue 'clean buildir' "[ ! -d 'buildtest' ]" - -# SCF_CHART="https://github.com/SUSE/scf/releases/download/2.16.4/scf-sle-2.16.4+cf6.10.0.2.g5abdb16f.zip" DEFAULT_STACK=sle15 CLUSTER_PASSWORD=test123 make buildir scf-chart scf-gen-config -# assertTrue 'yq was not downloaded' "[ ! -e 'buildtest/bin/yq' ]" -# assertTrue 'chart downloaded from URL (chart is present)' "[ -e 'buildtest/chart' ]" -# assertTrue 'chart was not generated' '[ -z "$(ls buildtest/*.tgz buildtest/*.zip)" ]' -# assertTrue 'chart downloaded (scf_chart_url is present)' "[ -e 'buildtest/scf_chart_url' ]" -# assertTrue 'chart downloaded from an http resource (scf_chart_url contains http)' "grep 'http' 'buildtest/scf_chart_url'" -# assertTrue 'chart downloaded from an http resource matches' '[[ "https://github.com/SUSE/scf/releases/download/2.16.4/scf-sle-2.16.4+cf6.10.0.2.g5abdb16f.zip" == "$(cat buildtest/scf_chart_url)" ]]' - -# make clean -# assertTrue 'clean buildir' "[ ! -d 'buildtest' ]" -# } - -testCommonDeps() { - rm -rf buildtest - make buildir - DOWNLOAD_BINS=false DOWNLOAD_CATAPULT_DEPS=false make private modules/common - - assertFalse 'helm not downloaded' "[ -e 'buildtest/bin/helm' ]" - assertFalse 'kubectl not downloaded' "[ -e 'buildtest/bin/kubectl' ]" - assertFalse 'cfcli not downloaded' "[ -e 'buildtest/bin/cf' ]" - - make clean - assertTrue 'clean buildir' "[ ! -d 'buildtest' ]" - - make buildir - DOWNLOAD_CATAPULT_DEPS=false make private modules/common - - assertTrue 'helm downloaded' "[ -e 'buildtest/bin/helm' ]" - assertTrue 'kubectl downloaded' "[ -e 'buildtest/bin/kubectl' ]" - assertTrue 'cfcli downloaded' "[ -e 'buildtest/bin/cf' ]" - - DOWNLOADED_KUBECTLVER=$(./buildtest/bin/kubectl version -o json --client=true | jq -r '.clientVersion.gitVersion') - . "$ROOT_DIR"/backend/kind/defaults.sh # load expected $KUBECTL_VERSION - assertEquals 'kubectl versions match' "$DOWNLOADED_KUBECTLVER" "$KUBECTL_VERSION" - - make clean - assertTrue 'clean buildir' "[ ! -d 'buildtest' ]" - - make buildir - DOWNLOAD_BINS=false DOWNLOAD_CATAPULT_DEPS=false make private modules/common - - assertFalse 'bazel not downloaded' "[ -e 'buildtest/bin/bazel' ]" - assertFalse 'yaml-patch not downloaded' "[ -e 'buildtest/bin/yaml-patch' ]" - assertFalse 'yq not downloaded' "[ -e 'buildtest/bin/yq' ]" - - make clean - assertTrue 'clean buildir' "[ ! -d 'buildtest' ]" - - make buildir - DOWNLOAD_BINS=false make private modules/common - - assertTrue 'bazel downloaded' "[ -e 'buildtest/bin/bazel' ]" - assertTrue 'yaml-patch downloaded' "[ -e 'buildtest/bin/yaml-patch' ]" - assertTrue 'yq downloaded' "[ -e 'buildtest/bin/yq' ]" -} - -# Load shUnit2. -. ./shunit2/shunit2