132 Commits

Author SHA1 Message Date
Thibault Jouan
3c46c5bc61 Implement `test_macro' recipe keyword 2014-06-03 16:27:59 +00:00
Thibault Jouan
18b835b10e Improve test suite performance with aruba wrapper:
* Implement ArubaProgramWrapper in cucumber env;
* Tag a few features to not use the wrapper as aruba doesn't support yet
  interactive testing with in process mode, and reported program name
  will not be the correct one;
* Assign required standard streams to CLI and Env classes.
2014-05-30 23:14:00 +00:00
Thibault Jouan
55f18d30bf Increase default aruba timeout 2014-05-30 23:09:42 +00:00
Thibault Jouan
17ad00a81a Refactor registry feature 2014-05-30 19:16:51 +00:00
Thibault Jouan
2fecb4bde4 Refactor and fix features 2014-05-30 19:16:51 +00:00
Thibault Jouan
237e6db740 Remove features checking ruby evaluation 2014-05-30 19:16:51 +00:00
Thibault Jouan
bff6b85e8e Flatten features directory tree 2014-05-30 19:16:39 +00:00
Thibault Jouan
0db2d90b72 Show command when remote execution fail 2014-05-25 15:51:33 +00:00
Thibault Jouan
87a3ead082 Implement dry run mode 2014-05-25 13:38:47 +00:00
Thibault Jouan
332bb1a416 Improve verbose mode output formatting 2014-05-25 12:14:25 +00:00
Thibault Jouan
8291f1bcfd Implement verbose mode 2014-05-25 12:14:22 +00:00
Thibault Jouan
94f6bbb4aa Accept mode as argument in `mkdir' action 2014-04-25 00:33:27 +00:00
Thibault Jouan
5cb6296057 Accept mode as argument in `file_write' action 2014-04-25 00:33:24 +00:00
Thibault Jouan
0485105e28 Support (key, value) form in env? condition keyword 2014-04-24 21:41:30 +00:00
Thibault Jouan
44343d121b Fix cucumber support file naming 2014-04-24 20:24:44 +00:00
Thibault Jouan
947df56d6b Expose fake home dir usage with a cucumber tag 2014-04-23 22:45:39 +00:00
Thibault Jouan
9323391161 Remove cucumber monkey patch translating steps:
It was initially added to allow reuse of aruba cucumber steps, using
`must' instead of `should'. This is creating more harm than good, hence
we remove it and implements all missing steps, using aruba API.
2014-04-23 22:44:27 +00:00
Thibault Jouan
b995ef2680 Rename all `has_*' test keywords 2014-04-23 20:22:22 +00:00
Thibault Jouan
2d360d97dd Extract @sshd cucumber hooks as cucumber-sshd gem 2014-04-01 02:51:27 +00:00
Thibault Jouan
6f563803df Alias sh' as ` condition keyword 2014-03-08 21:10:21 +00:00
Thibault Jouan
7c6ac4c9d8 Implement `` condition keyword (shell cmd status) 2014-03-08 19:43:41 +00:00
Thibault Jouan
eeab386216 Implement `has_executable' condition keyword 2014-03-05 07:19:15 +00:00
Thibault Jouan
bf25b05adb Remote extra record separator from `sh' task action 2014-03-05 06:45:56 +00:00
Thibault Jouan
b92dfcc9b7 Refactor some cucumber scenarios 2014-03-05 03:04:57 +00:00
Thibault Jouan
387f37f3f5 Implement `file_append' task action 2014-03-05 02:41:28 +00:00
Thibault Jouan
b1c7ff27b4 Fix wording in `file_replace_content' scenarios 2014-03-05 02:21:09 +00:00
Thibault Jouan
d22b023ff4 Implement `file_replace_content' task action 2014-03-05 02:02:52 +00:00
Thibault Jouan
a0482d175c Implement `file_contains' condition keyword 2014-01-23 16:37:19 +00:00
Thibault Jouan
456ed17724 Implement `get' task keyword, fetch from registry 2014-01-21 17:31:32 +00:00
Thibault Jouan
f92ad8128d Implement set' and get' recipe keywords:
`set' registers a value at given index in env registry, `get'
retrieves a value at given index.
2014-01-21 17:11:17 +00:00
Thibault Jouan
7f5d1a4085 Implement `mkdir' task action 2014-01-21 15:50:07 +00:00
Thibault Jouan
0b4df20f55 Implement `has_dir' condition keyword 2014-01-21 15:02:07 +00:00
Thibault Jouan
dba8a7aeee Remove feature exposing env object in recipe DSL 2014-01-21 01:22:00 +00:00
Thibault Jouan
0d0ed541c8 Allow `ask' action to customize choices prompt 2014-01-21 01:19:17 +00:00
Thibault Jouan
7e062e06a1 Implement `ask' recipe keyword 2014-01-21 00:52:44 +00:00
Thibault Jouan
e8b0900721 Improve `echo' action cucumber feature wording 2013-12-23 23:31:15 +00:00
Thibault Jouan
e8be44d1f0 Implement `macro' recipe keyword 2013-12-20 23:19:16 +00:00
Thibault Jouan
892a9862fc Implement `file_write' action 2013-12-20 06:26:21 +00:00
Thibault Jouan
35621e1f5f Implement condition DSL negated test prefix (no_*)
* Allow no_* to be used for every tests in condition DSL:
  condition { no_has_env :shell, '/bin/sh' };
* Modify Test constructor to accept negated: named argument, implement
  #negated? and #pass?;
* Rename #success? to #verify in all test classes.
2013-12-19 20:22:44 +00:00
Thibault Jouan
85a47df547 Use SSH user name configured for a given target:
When a user is configured for the targeted host name, use it for SSH
authentification instead of the name of current user logged in.

* Modify Remote#user_name to use configured user name.
2013-09-28 20:07:36 +00:00
Thibault Jouan
2cbe1726f7 Implement `has_file' condition keyword 2013-09-26 00:28:40 +00:00
Thibault Jouan
c01e143c86 Enable sftp subsystem in cucumber sshd config 2013-09-26 00:28:39 +00:00
Thibault Jouan
36cf2e041f Improve wording in sh cucumber feature 2013-09-07 21:40:59 +00:00
Thibault Jouan
85109afd46 Fix missing Then keywords in cucumber features 2013-09-07 21:40:25 +00:00
Thibault Jouan
33a2b9de5a Refactor producer invocation in cucumber features:
Use "When I successfully execute" instead of "When I execute", and
assert that exit status code was successful in this new step.
2013-09-06 20:10:28 +00:00
Thibault Jouan
7a1c01a299 Remove empty cucumber support file 2013-08-22 00:11:09 +00:00
Thibault Jouan
04afc82a29 Implement `has_env' condition keyword 2013-08-20 03:03:17 +00:00
Thibault Jouan
639bdc1c73 Implement basic condition DSL framework for tests:
Instead of interrupting task evaluation when condition is not met,
allow the whole task to be evaluated (including condition and
evaluation) so that the interpreter will get all tasks actions (whether
condition is met or not) and be able to query the condition.

* Modify Interpreter#process_task: test if task condition is met before
  applying the actions;
* Implement condition handling in Task and Task::DSL;
* Implement Condition and Condition::DSL (useless as they are, but
  needed to implement later test keywords as part of the condition DSL.
2013-08-18 00:29:14 +00:00
Thibault Jouan
a675c9c910 Implement `echo' task action 2013-08-14 23:43:36 +00:00
Thibault Jouan
53db841b2d Remove Env#current_recipe attribute 2013-08-13 01:36:33 +00:00