From 115cf2f47b922abfdf28e73d3a706bdca1d738b8 Mon Sep 17 00:00:00 2001 From: Alexey Melezhik Date: Fri, 28 Jul 2017 18:05:11 +0300 Subject: [PATCH] Outthentic interactive tests for bash-snippets tools (#89) --- .travis.yml | 7 ++- bash-snippets-interactive-test/README.md | 21 +++++++++ bash-snippets-interactive-test/cpanfile | 1 + bash-snippets-interactive-test/hook.bash | 4 ++ .../modules/currency/example1/story.check | 15 ++++++ .../modules/currency/example1/story.pl | 44 ++++++++++++++++++ .../modules/currency/example2/story.check | 15 ++++++ .../modules/currency/example2/story.pl | 44 ++++++++++++++++++ bash-snippets-interactive-test/report.png | Bin 0 -> 70994 bytes bash-snippets-interactive-test/sparrow.json | 9 ++++ bash-snippets-interactive-test/suite.yaml | 1 + 11 files changed, 160 insertions(+), 1 deletion(-) create mode 100644 bash-snippets-interactive-test/README.md create mode 100644 bash-snippets-interactive-test/cpanfile create mode 100644 bash-snippets-interactive-test/hook.bash create mode 100644 bash-snippets-interactive-test/modules/currency/example1/story.check create mode 100644 bash-snippets-interactive-test/modules/currency/example1/story.pl create mode 100644 bash-snippets-interactive-test/modules/currency/example2/story.check create mode 100644 bash-snippets-interactive-test/modules/currency/example2/story.pl create mode 100644 bash-snippets-interactive-test/report.png create mode 100644 bash-snippets-interactive-test/sparrow.json create mode 100644 bash-snippets-interactive-test/suite.yaml diff --git a/.travis.yml b/.travis.yml index 2895a95..b915fbf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,5 +6,10 @@ before_install: - sudo apt-get install -qq bats - sudo apt-get install -qq vlc - sudo apt-get install -qq openssl + - cpanm Sparrow --sudo --notest -q + - sparrow index update + - sparrow plg install bash-snippets-interactive-test + script: -- bats tests + - sparrow plg run bash-snippets-interactive-test --param dir=$PWD + - bats tests diff --git a/bash-snippets-interactive-test/README.md b/bash-snippets-interactive-test/README.md new file mode 100644 index 0000000..6e02eb5 --- /dev/null +++ b/bash-snippets-interactive-test/README.md @@ -0,0 +1,21 @@ +# SYNOPSIS + +Run tests against BashSnippets tools with interactive prompt. + +# INSTALL + + $ sparrow plg install bash-snippets-interactive-test + +# USAGE + + $ sparrow plg run bash-snippets-interactive-test --param dir=/path/to/bash-snippets/tools/directory + + +![report](https://raw.githubusercontent.com/melezhik/images/master/report.png) + +# Authors + +* The plugin maintainer is [Alexey Melezhik](https://github.com/melezhik/) + + + diff --git a/bash-snippets-interactive-test/cpanfile b/bash-snippets-interactive-test/cpanfile new file mode 100644 index 0000000..e8a089f --- /dev/null +++ b/bash-snippets-interactive-test/cpanfile @@ -0,0 +1 @@ +requires "Expect"; diff --git a/bash-snippets-interactive-test/hook.bash b/bash-snippets-interactive-test/hook.bash new file mode 100644 index 0000000..841982e --- /dev/null +++ b/bash-snippets-interactive-test/hook.bash @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +run_story 'currency/example1' +run_story 'currency/example2' diff --git a/bash-snippets-interactive-test/modules/currency/example1/story.check b/bash-snippets-interactive-test/modules/currency/example1/story.check new file mode 100644 index 0000000..3bdcf3f --- /dev/null +++ b/bash-snippets-interactive-test/modules/currency/example1/story.check @@ -0,0 +1,15 @@ +begin: +What is the base currency: USD +What currency to exchange to: RUB +What is the amount being exchanged: 0 +end: + +begin: +========================= +| USD to RUB +regexp: ^\|\s+Rate:\s+\d+\.\d+\s*$ +| USD: 0 +| RUB: 0 +========================= +end: + diff --git a/bash-snippets-interactive-test/modules/currency/example1/story.pl b/bash-snippets-interactive-test/modules/currency/example1/story.pl new file mode 100644 index 0000000..f4fd5c4 --- /dev/null +++ b/bash-snippets-interactive-test/modules/currency/example1/story.pl @@ -0,0 +1,44 @@ +#!/usr/bin/env perl + +use Expect; + +use strict; + +my $tools_dir = config()->{dir}; + + + +my $exp = Expect->new; + +$exp->spawn("$tools_dir/currency/currency") + or die "Cannot spawn command: bash $tools_dir/currency/currency: $!\n"; + + +$exp->expect(120, + [ + qr/What is the base currency/ => sub { + my $exp = shift; + $exp->send("USD\n"); + exp_continue; + } + ], + [ + qr/What currency to exchange to/ => sub { + my $exp = shift; + $exp->send("RUB\n"); + exp_continue; + } + ], + [ + qr/What is the amount being exchanged/ => sub { + my $exp = shift; + $exp->send("0\n"); + exp_continue; + } + ], + ); + + +$exp->hard_close(); + + diff --git a/bash-snippets-interactive-test/modules/currency/example2/story.check b/bash-snippets-interactive-test/modules/currency/example2/story.check new file mode 100644 index 0000000..d62051f --- /dev/null +++ b/bash-snippets-interactive-test/modules/currency/example2/story.check @@ -0,0 +1,15 @@ +begin: +What is the base currency: USD +What currency to exchange to: RUB +What is the amount being exchanged: 100 +end: + +begin: +========================= +| USD to RUB +regexp: ^\|\s+Rate:\s+\d+\.\d+\s*$ +| USD: 100 +regexp: ^\|\s+RUB:\s+\d+\.\d+\s*$ +========================= +end: + diff --git a/bash-snippets-interactive-test/modules/currency/example2/story.pl b/bash-snippets-interactive-test/modules/currency/example2/story.pl new file mode 100644 index 0000000..e1179d7 --- /dev/null +++ b/bash-snippets-interactive-test/modules/currency/example2/story.pl @@ -0,0 +1,44 @@ +#!/usr/bin/env perl + +use Expect; + +use strict; + +my $tools_dir = config()->{dir}; + + + +my $exp = Expect->new; + +$exp->spawn("$tools_dir/currency/currency") + or die "Cannot spawn command: bash $tools_dir/currency/currency: $!\n"; + + +$exp->expect(120, + [ + qr/What is the base currency/ => sub { + my $exp = shift; + $exp->send("USD\n"); + exp_continue; + } + ], + [ + qr/What currency to exchange to/ => sub { + my $exp = shift; + $exp->send("RUB\n"); + exp_continue; + } + ], + [ + qr/What is the amount being exchanged/ => sub { + my $exp = shift; + $exp->send("100\n"); + exp_continue; + } + ], + ); + + +$exp->hard_close(); + + diff --git a/bash-snippets-interactive-test/report.png b/bash-snippets-interactive-test/report.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb91b0d6ef01792118854b727779197d0d649fc GIT binary patch literal 70994 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 z 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