Commit Graph

83 Commits

Author SHA1 Message Date
Thibault Jouan adca6dd9b2 Fix cucumber-sshd fast mode usage 2014-06-05 15:24:24 +00:00
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