Commit Graph
100 Commits
Author SHA1 Message Date
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 47412d8bce Bump patch version 2014-04-24 21:42:14 +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 5623d19c51 Merge branch 'spec-cleanup'
Fix and improve some Test::* specs.
2014-04-24 18:42:48 +00:00
Thibault Jouan 25b1394178 Improve HasEnv specs:
* Use a more classic style, and rely on a simple Hash instead of
  stubbing a double;
* Improve examples to show the intent more clearly (like the use of a
  symbol when querying).
2014-04-24 18:38:58 +00:00
Thibault Jouan fc5d35ceb5 Fix subject name in HasExecutable specs 2014-04-24 15:52:25 +00:00
Thibault Jouan 601e330c04 Merge branch 'features-clean-up'
Clean up our cucumber features, remove usage of an ugly monkey patch,
expose with a tag the usage of a fake home directory in a scenario.
2014-04-23 22:45:52 +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 974e0aca73 Bump patch version 2014-04-23 20:41:05 +00:00
Thibault Jouan 3610427c74 Improve `file_append' when file doesn't exist 2014-04-23 20:39:19 +00:00
Thibault Jouan b995ef2680 Rename all `has_*' test keywords 2014-04-23 20:22:22 +00:00
Thibault Jouan 66e3dfd186 Bump minor version 2014-04-23 20:22:21 +00:00
Thibault Jouan 2d360d97dd Extract @sshd cucumber hooks as cucumber-sshd gem 2014-04-01 02:51:27 +00:00
Thibault Jouan fdbe19617f Improve Guardfile:
* Prevent cucumber run on start;
* Force rspec to be executed by bundler.
2014-03-31 23:32:26 +00:00
Thibault Jouan 4d7e11ceeb Patch net-ssh story helpers for 2.8.0 2014-03-31 23:31:54 +00:00
Thibault Jouan 4a9a936d50 Bump version to 0.1.17 2014-03-08 21:11:16 +00:00
Thibault Jouan 6f563803df Alias sh' as ` condition keyword 2014-03-08 21:10:21 +00:00
Thibault Jouan 475b019dd7 Bump version to 0.1.16 2014-03-08 19:44:31 +00:00
Thibault Jouan 7c6ac4c9d8 Implement `` condition keyword (shell cmd status) 2014-03-08 19:43:41 +00:00
Thibault Jouan a2ca62e7f8 Bump version to 0.1.15 2014-03-05 08:55:17 +00:00
Thibault Jouan cc6102674e Fix how gem versions dependency is specified 2014-03-05 08:54:00 +00:00
Thibault Jouan eeab386216 Implement `has_executable' condition keyword 2014-03-05 07:19:15 +00:00
Thibault Jouan aa3694b58c Add support for `type' command in MockRemote 2014-03-05 07:18:50 +00:00
Thibault Jouan b9976464a4 Remove Net::SSH story helpers usage in FS specs 2014-03-05 06:47:55 +00:00
Thibault Jouan bf25b05adb Remote extra record separator from `sh' task action 2014-03-05 06:45:56 +00:00
Thibault Jouan 347e6f80c7 Bump version to 0.1.14 2014-03-05 06:10:29 +00:00
Thibault Jouan db3644a3e6 Write output from `sh' task action directly:
* Accept output as argument in Remote#execute;
* Modify ShellCommand so that env output is directly handled.
2014-03-05 06:06:42 +00:00
Thibault Jouan 400fa1ee3f Fix unexpected blocking in Remote::execute:
Wait for inactivity on the specific channel we open for the execution
instead of looping the global session.
2014-03-05 05:23:08 +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 c858972eee Bump version to 0.1.13 2014-03-05 02:05:03 +00:00
Thibault Jouan d22b023ff4 Implement `file_replace_content' task action 2014-03-05 02:02:52 +00:00
Thibault Jouan a7f6d7034b Merge branch 'remote-fs-di'
Move SFTP session building responsability from Remote::FS class to
Remote class, to decrease coupling in Remote::FS.
2014-03-05 00:13:08 +00:00
Thibault Jouan 64a6ed678a Refactor Remote::FS specs 2014-03-05 00:10:07 +00:00
Thibault Jouan f45d0b5a20 Modify Remote::FS interface:
* Accept SFTP session in FS constructor;
* Modify Remote to build the session required by FS;
* Change TestEnvHelpers#build_remote in order to provided a test double
  as the remote FS.
2014-03-05 00:07:59 +00:00
Thibault Jouan 65c727d5da Merge branch 'testing-testenv'
Integrate a test environment, helping to reduce or isolate code
dealing with net-ssh or net-sftp dependencies setup.
2014-03-04 23:42:15 +00:00
Thibault Jouan fcba1a5c0b Implement rspec TestEnvHelpers:
Allow use of our test environment, with a mocked remote and convenient
methods to write more concise expectations.

  #env, builds and returns a memoized test environment (with mocked
  remote)

  #output, returns env output as a string

  #remote_fs, returns env remote fs

  #expect_execution, setup a remote command execution expectation
2014-03-04 23:24:05 +00:00
Thibault Jouan 85e3bf2eac Implement Testing::MockRemote#execute 2014-03-04 05:54:19 +00:00
Thibault Jouan b576604498 Implement basic Testing::MockRemote object 2014-03-04 05:54:19 +00:00
Thibault Jouan 88036f0389 Allow Env constructor to accept a remote instance 2014-03-04 04:58:26 +00:00
Thibault Jouan 00d9b074cd Fix Env spec, verify identity instead of equality 2014-02-14 18:33:58 +00:00
Thibault Jouan 09f624744b Fix assignations order in Env#initialize 2014-02-14 18:25:44 +00:00
Thibault Jouan a22a504685 Change guard-rspec config for support files 2014-02-14 00:53:41 +00:00
Thibault Jouan ddba3eee45 Change guard-rspec config, don't run all after pass 2014-02-14 00:53:30 +00:00
Thibault Jouan dbb4bed4e8 Remove uneeded let() in Prompter spec 2014-02-10 19:06:28 +00:00
Thibault Jouan 9a71beefff Merge branch 'spec-refactor-shared_examples'
Refactor specs with shared examples.
2014-02-10 17:36:28 +00:00
Thibault Jouan 91637ca631 Refactor tests specs with shared examples 2014-02-10 17:33:48 +00:00
Thibault Jouan 4624a81100 Refactor actions specs with shared examples 2014-02-10 16:49:17 +00:00
Thibault Jouan 23d5d8a1df Refactor spec/support/**/*.rb require calls 2014-02-10 16:46:14 +00:00
Thibault Jouan 850bad2ba8 Fix typo in Remote::FS spec 2014-02-10 15:28:51 +00:00
Thibault Jouan 48a9da9365 Fix coding standards (module nesting) in specs 2014-02-08 17:59:33 +00:00
Thibault Jouan 115561ee88 Add explicit versions for runtime dependencies 2014-02-08 17:36:51 +00:00
Thibault Jouan bdd09b6ea9 Regroup all require calls in lib source files 2014-02-08 01:24:34 +00:00
Thibault Jouan 130d84aa6c Simplify Action#output spec 2014-01-23 18:22:21 +00:00
Thibault Jouan 7a75db3583 Remove extra empty line in specs 2014-01-23 16:49:32 +00:00
Thibault Jouan a0482d175c Implement `file_contains' condition keyword 2014-01-23 16:37:19 +00:00
Thibault Jouan 05331d334d Implement Remote::FS#file_read 2014-01-23 16:37:02 +00:00
Thibault Jouan 39b3796aa0 Fix Remote::FS#file_write spec:
* Fix file double name;
* Remove uneeded .as_null_object calls on doubles.
2014-01-23 16:36:04 +00:00
Thibault Jouan 65ceb9e741 Refactor forwardable require calls 2014-01-22 21:33:05 +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 154ee8d534 Implement a key/value registry at env level 2014-01-21 17:10:42 +00:00
Thibault Jouan d845af60a3 Bump version to 0.1.12 2014-01-21 15:51:17 +00:00
Thibault Jouan 7f5d1a4085 Implement `mkdir' task action 2014-01-21 15:50:07 +00:00
Thibault Jouan f147ce7d65 Fix some indentation in FileWriter spec 2014-01-21 15:49:36 +00:00
Thibault Jouan 0b4df20f55 Implement `has_dir' condition keyword 2014-01-21 15:02:07 +00:00
Thibault Jouan 9d7af04d28 Implement Remote::FS#dir? 2014-01-21 15:01:27 +00:00
Thibault Jouan dba8a7aeee Remove feature exposing env object in recipe DSL 2014-01-21 01:22:00 +00:00
Thibault Jouan 6db71caea9 Bump version to 0.1.11 2014-01-21 01:20:15 +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 70109615c8 Implement Action#input, delegating to env input 2014-01-20 22:27:55 +00:00
Thibault Jouan a871bb4009 Implement input handling in Env 2014-01-20 22:27:55 +00:00
Thibault Jouan d347b8d6f5 Remove last instance_eval usage in spec 2014-01-20 02:05:30 +00:00
Thibault Jouan 82f8eac319 Improve Test spec:
* Use attributes readers instead of instance_eval;
* Refactor.
2014-01-20 02:00:24 +00:00
Thibault Jouan 780bb9041d Remove accessor tests in Task spec 2014-01-20 01:52:50 +00:00
Thibault Jouan 658a5903fa Improve Task spec, remove instance_eval usage 2014-01-20 01:51:10 +00:00
Thibault Jouan 656c456706 Change Task#evaluate spec, more classic test style 2014-01-20 01:48:31 +00:00
Thibault Jouan dae7d5d79e Fix Task::DSL attributes:
* Remove condition attribute accessor, implemented as a method;
* Make all other read-only.
2014-01-20 01:47:20 +00:00
Thibault Jouan b0b6b0f39a Refactor and clean up Task::DSL spec 2014-01-20 01:47:20 +00:00
Thibault Jouan 6b46fac76f Change an expectation in Condition::DSL specs 2014-01-20 01:47:20 +00:00
Thibault Jouan 5455955fd2 Add Task::DSL#block attribute reader 2014-01-20 01:47:20 +00:00
Thibault Jouan db1c452f96 Remove Task::DSL#actions uneeded spec 2014-01-20 01:47:20 +00:00
Thibault Jouan f44fd56158 Simplify Remote#environment spec 2014-01-20 01:47:20 +00:00
Thibault Jouan b6ec8ed468 Implement Remote::Environment#[] 2014-01-20 01:47:19 +00:00
Thibault Jouan 4603ce777f Make Remote#hostname attribute read-only 2014-01-20 01:47:19 +00:00
Thibault Jouan b1e182cc93 Add Remote::FS#remote attribute reader 2014-01-20 01:47:19 +00:00
Thibault Jouan 5662bb723e Simplify Remote::Environment.new_from_string spec 2014-01-20 01:47:19 +00:00
Thibault Jouan 705774f8ef Add Remote::Environment#variables attribute reader 2014-01-20 01:47:19 +00:00
Thibault Jouan 22dd5fbdf9 Refactor Remote::Environment spec with described_class 2014-01-20 01:47:19 +00:00
Thibault Jouan 161c784cbe Make Recipe::DSL methods public 2014-01-20 01:47:19 +00:00
Thibault Jouan 42a82c9c80 Add Recipe::DSL#{code,block} attribute readers 2014-01-20 01:47:19 +00:00
Thibault Jouan 2d9c84d04e Refactor Recipe::DSL spec with described_class 2014-01-20 01:47:19 +00:00
Thibault Jouan 3360356e49 Simplify Env spec:
* Remove #ouput examples;
* Use described_class where useful.
2014-01-20 01:47:19 +00:00
Thibault Jouan dd5866c04e Refactor Condition spec:
* Use more "classic" testing style for .evaluate;
* Use described_class where useful.
2014-01-20 01:47:08 +00:00
Thibault Jouan 88d5ab68b7 Remove TestsHelpers module (was used in specs) 2014-01-19 17:39:14 +00:00