289 Commits

Author SHA1 Message Date
Thibault Jouan
b67a32d27e Change CLI#recipe as read-only attribute 2014-01-09 01:16:13 +00:00
Thibault Jouan
4c0a7f0fc7 Rename Interpreter class as Worker 2014-01-09 01:08:49 +00:00
Thibault Jouan
cdc3128727 Implement Action#remote (delegates to remote.fs) 2014-01-09 00:51:16 +00:00
Thibault Jouan
29c26ab961 Implement Action#remote (delegates to env.remote) 2014-01-09 00:45:26 +00:00
Thibault Jouan
e567c61e4e Implement Action#output (delegates to env.output) 2014-01-09 00:43:01 +00:00
Thibault Jouan
103b9d1230 Rename Remote::FS#{has_,}file? 2014-01-08 22:30:52 +00:00
Thibault Jouan
19b091a15c Rename Remote::Environment#{has_,}key? 2014-01-08 22:28:23 +00:00
Thibault Jouan
56ea377e31 Fix coding standards (empty blocks) 2014-01-08 22:16:51 +00:00
Thibault Jouan
9971283841 Improve Recipe::DSL#initialize spec 2014-01-08 22:14:16 +00:00
Thibault Jouan
352fcd37f8 Modify recipe DSL API to take env on initialization 2014-01-08 22:13:14 +00:00
Thibault Jouan
1d6ae126ed Modify task DSL API to take env on initialization 2014-01-08 22:11:30 +00:00
Thibault Jouan
edca69ffad Refactor Recipe specs:
* Use more classic specs for .evaluate_from_file;
* Fix coding standards.
2014-01-08 02:28:24 +00:00
Thibault Jouan
7dfbc3905b Rewrite CLI#run:
* Rename #run! to #run;
* Add #load_recipe method;
* Remove most builder/accessor/memoizable methods.
2014-01-08 02:10:18 +00:00
Thibault Jouan
f7efd9c42f Refactor CLI usage into CLI.run!:
* Add Producer::Core::CLI::ArgumentError class;
* Raise ArgumentError in CLI.new when recipe is missing;
* Remove #check_arguments! and #print_usage_and_exit, move code into
  .run! method.
2014-01-07 21:06:14 +00:00
Thibault Jouan
dc9e7f1412 Improve CLI API related to standard output 2014-01-07 18:47:56 +00:00
Thibault Jouan
d670d5dbdd Replace env.output interface with an IO like object 2013-12-23 23:31:15 +00:00
Thibault Jouan
012c776880 Simplify Remote::Environment with factory method:
* Implement .new_from_string factory class method;
* Rename private method #parse_from_string as class method
  .string_to_hash;
* Remove argument kind detection logic in constructor.
2013-12-21 03:08:01 +00:00
Thibault Jouan
e8be44d1f0 Implement `macro' recipe keyword 2013-12-20 23:19:16 +00:00
Thibault Jouan
43a781dc78 Remove Task::DSL.evaluate method 2013-12-20 11:43:18 +00:00
Thibault Jouan
366c682152 Remove Recipe::DSL.evaluate method 2013-12-20 11:24:30 +00:00
Thibault Jouan
d83b11d07b Remove Condition::DSL.evaluate method 2013-12-20 11:24:30 +00:00
Thibault Jouan
892a9862fc Implement `file_write' action 2013-12-20 06:26:21 +00:00
Thibault Jouan
188ca2e08d Fix coding standards in Remote::FS specs 2013-12-20 00:11:05 +00:00
Thibault Jouan
653a630645 Improve Env#target spec 2013-12-19 23:25:34 +00:00
Thibault Jouan
1ed17e6064 Fix Condition#! specs 2013-12-19 23:17:03 +00:00
Thibault Jouan
5fd4f3b371 Move Task::DSL#condition specs to better location 2013-12-19 22:49:20 +00:00
Thibault Jouan
921fc8d3f9 Refactor Remote::Environment spec 2013-12-19 22:49:20 +00:00
Thibault Jouan
ef0307fbb5 Improve small details in specs:
* Fix coding standards;
* Simplify some expectations (eq instead of be matcher);
* Expect identity on block instead of calling;
* Change some before call as oneliners;
* Avoid shadowing variable names;
* Improve wording where needed.
2013-12-19 22:46:56 +00:00
Thibault Jouan
f5224c7569 Improve wording in Env#initialize specs 2013-12-19 21:00:11 +00:00
Thibault Jouan
a80843699e Improve Condition.evaluate specs 2013-12-19 20:57:05 +00:00
Thibault Jouan
fe1eb5bc1a Simplify actions specs 2013-12-19 20:37:49 +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
cfe9a009ae Revert "Remove deprecated rspec option"
This reverts commit 5e6f5f4861c50c4450095f271943674885476d5f.
2013-12-19 20:21:24 +00:00
Thibault Jouan
b9e48a9cc4 Fix some wording issues in Test specs 2013-12-19 19:52:07 +00:00
Thibault Jouan
5e6f5f4861 Remove deprecated rspec option 2013-12-19 19:47:29 +00:00
Thibault Jouan
a692efe96d Replace be_true' matchers with be true' in specs 2013-12-19 19:46:32 +00:00
Thibault Jouan
3b3542fc66 Fix an example in Task::DSL.evaluate specs 2013-12-19 19:45:37 +00:00
Thibault Jouan
217b8a203a Add missing empty line in test spec 2013-10-01 19:38:17 +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
768a6755de Implement Remote#config:
Load SSH configuration for targeted host name.
2013-09-26 19:22:07 +00:00
Thibault Jouan
9985fceb63 Extract logic for current target ssh user name:
Add Remote#user_name method, with code returning which user name
will be used for SSH authentication.
2013-09-26 18:34:19 +00:00
Thibault Jouan
868c502531 Remove multibyte char from Remote::FS spec 2013-09-26 01:00:06 +00:00
Thibault Jouan
2cbe1726f7 Implement `has_file' condition keyword 2013-09-26 00:28:40 +00:00
Thibault Jouan
3492382968 Implement Remote::FS#has_file? 2013-09-26 00:28:40 +00:00
Thibault Jouan
91f2bc3567 Implement Remote#fs 2013-09-26 00:28:40 +00:00
Thibault Jouan
99710b0df9 Implement Remote::FS#sftp 2013-09-26 00:28:40 +00:00
Thibault Jouan
d240df0281 Add Remote::FS class 2013-09-26 00:28:40 +00:00
Thibault Jouan
8531c49e6d Implement NetSSHStoryHelpers#sftp_story 2013-09-26 00:28:39 +00:00
Thibault Jouan
0529fab3c2 Import Net::SSH::Test::Channel code from net-sftp:
This class is included in net-ssh, but net-sftp adds some new methods
that we need for our tests. This code resides in net-sftp test helper,
and can't be required dynamicaly, this change adds a copy of the code we
need, hardcoded in NetSSHStoryHelpers.
2013-09-26 00:28:39 +00:00
Thibault Jouan
9040420360 Improve net-ssh mock connection usage in specs 2013-09-24 21:08:01 +00:00