From 1ebd40a688074984c06e15b08b6439158a1e50f3 Mon Sep 17 00:00:00 2001 From: Vincent Zurczak Date: Tue, 3 Aug 2021 14:46:39 +0200 Subject: [PATCH 1/2] Readme update --- README.md | 47 +++++------ doc/failure.gif | Bin 0 -> 51401 bytes doc/failure.terminalizer.yml | 136 ++++++++++++++++++++++++++++++++ doc/success.gif | Bin 0 -> 98126 bytes doc/success.terminalizer.yml | 148 +++++++++++++++++++++++++++++++++++ 5 files changed, 309 insertions(+), 22 deletions(-) create mode 100644 doc/failure.gif create mode 100644 doc/failure.terminalizer.yml create mode 100644 doc/success.gif create mode 100644 doc/success.terminalizer.yml diff --git a/README.md b/README.md index 5baf9b4..b9c13e3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # DETIK: DevOps e2e Testing in Kubernetes -[![License](https://img.shields.io/github/license/mashape/apistatus.svg)]() -[![Build Status](https://travis-ci.org/bats-core/bats-detik.svg?branch=master)](https://travis-ci.org/bats-core/bats-detik) +[![License](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/bats-core/bats-detik/blob/master/LICENSE) +![Build status](https://github.com/bats-core/bats-detik/actions/workflows/test.yml/badge.svg) This repository provides utilities to **execute end-to-end tests** of applications in Kubernetes clusters. This includes performing actions on the cluster (with kubectl, oc - for OpenShift - or helm) and verifying assertions by using a natural language, or almost. This reduces the amount of advanced bash commands to master. @@ -29,6 +29,7 @@ This kind of test is the ultimate set of verifications to run for a project, lon * [Debugging Tests](#debugging-tests) * [Linting](#linting) * [Tips](#tips) +* [Beyond K8s assertions](#beyond-k8s-assertions) ## Objectives @@ -47,9 +48,11 @@ This kind of test is the ultimate set of verifications to run for a project, lon ### Test files and result -This section shows how to write unit tests using this library and BATS. +This section shows how to write unit tests using this library and [BATS](https://github.com/bats-core/bats-core). ```bash +#!/usr/bin/env bats + load "lib/utils" load "lib/detik" @@ -93,28 +96,13 @@ DETIK_CLIENT_NAME="kubectl" Running the command **bats my-tests.bats** would result in the following output... -``` -bats my-tests.bats -1..2 -✓ 1 verify the deployment -✓ 2 verify the undeployment -The command "bats my-tests.bats" exited with 0. -``` +Animation created with Terminalizer (successful tests) In case of error, it would show... -``` -bats my-tests.bats -1..2 -✗ 1 verify the deployment - (in test file my-tests.bats, line 14) - `[ "$status" -eq 0 ]' failed - -✓ 2 verify the undeployment -The command "bats my-tests.bats" exited with 1. -``` +Animation created with Terminalizer (tests with failures) -Since this project uses BATS, you can use **setup** and **teardown** +Since this project works with BATS, you can use **setup** and **teardown** functions to prepare and clean after every test in a file. @@ -357,7 +345,7 @@ There is a **debug** function in DETIK. You can use it in your own tests. Debug traces are stored into **/tmp/detik/**. There is one debug file per test file. -It is recommended to reset this file at beginning of every test file. +It is recommended to reset this file at the beginning of every test file. ```bash #!/usr/bin/env bats @@ -440,3 +428,18 @@ load "lib/linter" 1. **Do not use file descriptors 3 and 4 in your tests.** They are already used by BATS. And 0, 1 and 2 are default file descriptors. Use 5, 6 and higher values. + + +## Beyond K8s assertions + +End-to-end tests may involve much more than K8s assertions. +BATS and DETIK can be combined with other testing frameworks, such +as performance tests (e.g. with [Gatling](https://gatling.io) and +[JMeter](https://jmeter.apache.org)) or functional scenarios with user +interactions (e.g. with [Selenium](https://www.selenium.dev), +[Cypress](https://www.cypress.io) or [Robot Framework](https://robotframework.org/)). + +To do so, you would need to have these tools colocated (in a same +VM, container or POD). Your BATS scenarios would then invoke the various +tools and verify assertions with BATS. Sky is the limit then: it all +depends on what you want to test. diff --git a/doc/failure.gif b/doc/failure.gif new file mode 100644 index 0000000000000000000000000000000000000000..08cb3226d3b8a3c62598323dde796c681660de70 GIT binary patch literal 51401 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 IBL_V455zPPP5=M^ literal 0 HcmV?d00001 diff --git a/doc/failure.terminalizer.yml b/doc/failure.terminalizer.yml new file mode 100644 index 0000000..0e5e329 --- /dev/null +++ b/doc/failure.terminalizer.yml @@ -0,0 +1,136 @@ +# The configurations that used for the recording, feel free to edit them +config: + + # Specify a command to be executed + # like `/bin/bash -l`, `ls`, or any other commands + # the default is bash for Linux + # or powershell.exe for Windows + command: bash -l + + # Specify the current working directory path + # the default is the current working directory path + cwd: /home/workspace/my-app-deployment + + # Export additional ENV variables + env: + recording: true + + # Explicitly set the number of columns + # or use `auto` to take the current + # number of columns of your shell + cols: 80 + + # Explicitly set the number of rows + # or use `auto` to take the current + # number of rows of your shell + rows: 16 + + # Amount of times to repeat GIF + # If value is -1, play once + # If value is 0, loop indefinitely + # If value is a positive number, loop n times + repeat: 0 + + # Quality + # 1 - 100 + quality: 100 + + # Delay between frames in ms + # If the value is `auto` use the actual recording delays + frameDelay: auto + + # Maximum delay between frames in ms + # Ignored if the `frameDelay` isn't set to `auto` + # Set to `auto` to prevent limiting the max idle time + maxIdleTime: auto + + # The surrounding frame box + # The `type` can be null, window, floating, or solid` + # To hide the title use the value null + # Don't forget to add a backgroundColor style with a null as type + frameBox: + type: null + title: null + style: + backgroundColor: black + # border: 0px black solid + # boxShadow: none + # margin: 0px + + # Add a watermark image to the rendered gif + # You need to specify an absolute path for + # the image on your machine or a URL, and you can also + # add your own CSS styles + watermark: + imagePath: null + style: + position: absolute + right: 15px + bottom: 15px + width: 100px + opacity: 0.9 + + # Cursor style can be one of + # `block`, `underline`, or `bar` + cursorStyle: block + + # Font family + # You can use any font that is installed on your machine + # in CSS-like syntax + fontFamily: "Monaco, Lucida Console, Ubuntu Mono, Monospace" + + # The size of the font + fontSize: 20 + + # The height of lines + lineHeight: 1 + + # The spacing between letters + letterSpacing: 0 + + # Theme + theme: + background: "transparent" + foreground: "#afafaf" + cursor: "#c7c7c7" + black: "#232628" + red: "#ff0f1a" + green: "#b3e33b" + yellow: "#ffa727" + blue: "#75dff2" + magenta: "#ae89fe" + cyan: "#708387" + white: "#d5d5d0" + brightBlack: "#626566" + brightRed: "#ff7fac" + brightGreen: "#c8ed71" + brightYellow: "#ebdf86" + brightBlue: "#75dff2" + brightMagenta: "#ae89fe" + brightCyan: "#b1c6ca" + brightWhite: "#f9f9f4" + +# Records, feel free to edit them +records: + - delay: 121 + content: "\e[01;34m/home/workspace/my-app-deployment\e[00m$ " + - delay: 876 + content: b + - delay: 208 + content: a + - delay: 144 + content: t + - delay: 112 + content: s + - delay: 144 + content: ' ' + - delay: 146 + content: e + - delay: 295 + content: 2e/ + - delay: 1239 + content: "\r\n" + - delay: 23 + content: "\e[1G\e[31m ✗ verify the deployment\e[K\r\n\e[0m\r\n\e[31m (in test file e2e/scenario-1.bats, line 14)\r\n\e[0m\e[31;22m `[ \"$status\" -eq 0 ]' failed\r\n\e[0m\e[1G\r\n ✓ verify the undeployment\e[K\r\n\e[0m\r\n2 tests, 1 failure\r\n\r\n\e]" + - delay: 12800 + content: "\r\n" diff --git a/doc/success.gif b/doc/success.gif new file mode 100644 index 0000000000000000000000000000000000000000..9cac65277f7a1de1d61de33ec14314ed9eb03146 GIT binary patch literal 98126 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 z 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 Txl?xTl$|?e=S~^XDO37CMn$YW literal 0 HcmV?d00001 diff --git a/doc/success.terminalizer.yml b/doc/success.terminalizer.yml new file mode 100644 index 0000000..4713b66 --- /dev/null +++ b/doc/success.terminalizer.yml @@ -0,0 +1,148 @@ +# The configurations that used for the recording, feel free to edit them +config: + + # Specify a command to be executed + # like `/bin/bash -l`, `ls`, or any other commands + # the default is bash for Linux + # or powershell.exe for Windows + command: bash -l + + # Specify the current working directory path + # the default is the current working directory path + cwd: /home/workspace/my-app-deployment + + # Export additional ENV variables + env: + recording: true + + # Explicitly set the number of columns + # or use `auto` to take the current + # number of columns of your shell + cols: 80 + + # Explicitly set the number of rows + # or use `auto` to take the current + # number of rows of your shell + rows: 16 + + # Amount of times to repeat GIF + # If value is -1, play once + # If value is 0, loop indefinitely + # If value is a positive number, loop n times + repeat: 0 + + # Quality + # 1 - 100 + quality: 100 + + # Delay between frames in ms + # If the value is `auto` use the actual recording delays + frameDelay: auto + + # Maximum delay between frames in ms + # Ignored if the `frameDelay` isn't set to `auto` + # Set to `auto` to prevent limiting the max idle time + maxIdleTime: 2000 + + # The surrounding frame box + # The `type` can be null, window, floating, or solid` + # To hide the title use the value null + # Don't forget to add a backgroundColor style with a null as type + frameBox: + type: null + title: null + style: + background-color: black + border: 0px black solid + # boxShadow: none + # margin: 0px + + # Add a watermark image to the rendered gif + # You need to specify an absolute path for + # the image on your machine or a URL, and you can also + # add your own CSS styles + watermark: + imagePath: null + style: + position: absolute + right: 15px + bottom: 15px + width: 100px + opacity: 0.9 + + # Cursor style can be one of + # `block`, `underline`, or `bar` + cursorStyle: block + + # Font family + # You can use any font that is installed on your machine + # in CSS-like syntax + fontFamily: "Monaco, Lucida Console, Ubuntu Mono, Monospace" + + # The size of the font + fontSize: 20 + + # The height of lines + lineHeight: 1 + + # The spacing between letters + letterSpacing: 0 + + # Theme + theme: + background: "transparent" + foreground: "#afafaf" + cursor: "#c7c7c7" + black: "#232628" + red: "#fc4384" + green: "#b3e33b" + yellow: "#ffa727" + blue: "#75dff2" + magenta: "#ae89fe" + cyan: "#708387" + white: "#d5d5d0" + brightBlack: "#626566" + brightRed: "#ff7fac" + brightGreen: "#c8ed71" + brightYellow: "#ebdf86" + brightBlue: "#75dff2" + brightMagenta: "#ae89fe" + brightCyan: "#b1c6ca" + brightWhite: "#f9f9f4" + +# Records, feel free to edit them +records: + - delay: 317 + content: "\e[01;32m$\e[00m:\e[01;34m/home/workspace/my-app-deployment\e[00m$ " + - delay: 944 + content: l + - delay: 161 + content: s + - delay: 175 + content: ' ' + - delay: 112 + content: e + - delay: 295 + content: 2e/ + - delay: 601 + content: "\r\nscenario-1.bats\r\n\e]0;$:/home/workspace/my-app-deployment\e\\\e]7;file://Buzz/home/workspace/my-app-deployment\e\\\e]0;$: /home/workspace/my-app-deployment\a\e[01;32m$\e[00m:\e[01;34m/home/workspace/my-app-deployment\e[00m$ " + - delay: 1030 + content: b + - delay: 128 + content: a + - delay: 113 + content: t + - delay: 112 + content: s + - delay: 79 + content: ' ' + - delay: 144 + content: e + - delay: 279 + content: 2e/ + - delay: 697 + content: "\r\n" + - delay: 30 + content: "\e[1G ✓ verify the deployment\e[K\r\n\e[0m\e[1G ✓ verify the undeployment\e[K\r\n\e[0m\r\n2 tests, 0 failures\r\n\r\n\e]0;" + - delay: 2800 + content: "\r\n" From c8e40b99b1ab94b07c7f29d6af726ec94494c3cf Mon Sep 17 00:00:00 2001 From: Vincent Zurczak Date: Mon, 30 Aug 2021 13:54:46 +0200 Subject: [PATCH 2/2] Show output as text (but keep GIF images as links) --- README.md | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b9c13e3..abd787d 100644 --- a/README.md +++ b/README.md @@ -94,13 +94,30 @@ DETIK_CLIENT_NAME="kubectl" } ``` -Running the command **bats my-tests.bats** would result in the following output... +Executing **bats my-tests.bats** would result in the [following output](doc/success.gif)... -Animation created with Terminalizer (successful tests) +```ada +bats my-tests.bats +1..2 +✓ 1 verify the deployment +✓ 2 verify the undeployment -In case of error, it would show... +The command "bats my-tests.bats" exited with 0. +``` + +In case of error, [it would show](doc/failure.gif)... -Animation created with Terminalizer (tests with failures) +```ada +bats my-tests.bats +1..2 +✗ 1 verify the deployment + (in test file my-tests.bats, line 14) + `[ "$status" -eq 0 ]' failed + +✓ 2 verify the undeployment + +The command "bats my-tests.bats" exited with 1. +``` Since this project works with BATS, you can use **setup** and **teardown** functions to prepare and clean after every test in a file.