minitest-capistrano 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.travis.yml +8 -0
- data/CHANGELOG.md +8 -1
- data/README.md +9 -6
- data/lib/minitest/assertions.rb +18 -0
- data/lib/minitest/capistrano/configuration_extension.rb +13 -0
- data/lib/minitest/capistrano/version.rb +1 -1
- data/lib/minitest/expectations.rb +18 -0
- data/spec/minitest_assertions_spec.rb +9 -0
- data/spec/minitest_capistrano_extension_spec.rb +23 -0
- data/spec/minitest_expectations_spec.rb +10 -0
- metadata +30 -9
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -20,10 +20,13 @@ Or install it yourself as:
|
|
20
20
|
|
21
21
|
TODO: Write usage instructions here
|
22
22
|
|
23
|
-
##
|
23
|
+
## <a name="development"></a> Development
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
25
|
+
* Source hosted at [GitHub][repo]
|
26
|
+
* Report issues/Questions/Feature requests on [GitHub Issues][issues]
|
27
|
+
|
28
|
+
Pull requests are very welcome! Make sure your patches are well tested.
|
29
|
+
Ideally create a topic branch for every separate change you make.
|
30
|
+
|
31
|
+
[repo]: https://github.com/fnichol/minitest-capistrano
|
32
|
+
[issues]: https://github.com/fnichol/minitest-capistrano/issues
|
data/lib/minitest/assertions.rb
CHANGED
@@ -62,6 +62,24 @@ module MiniTest
|
|
62
62
|
assert_nil configuration.captures[cmd], msg
|
63
63
|
end
|
64
64
|
|
65
|
+
##
|
66
|
+
# Fails unless +configuration+ has streamed +cmd+.
|
67
|
+
#
|
68
|
+
# assert_have_streamed "tail -f /hi", configuration
|
69
|
+
|
70
|
+
def assert_have_streamed(cmd, configuration, msg = nil)
|
71
|
+
msg ||= "Expected configuration to stream #{cmd}, but did not"
|
72
|
+
refute_nil configuration.streams[cmd], msg
|
73
|
+
end
|
74
|
+
|
75
|
+
##
|
76
|
+
# Fails if +configuration+ has streamed +cmd+.
|
77
|
+
|
78
|
+
def refute_have_streamed(cmd, configuration, msg = nil)
|
79
|
+
msg ||= "Expected configuration to not stream #{cmd}, but did"
|
80
|
+
assert_nil configuration.streams[cmd], msg
|
81
|
+
end
|
82
|
+
|
65
83
|
##
|
66
84
|
# Fails unless +configuration+ has put +cmd+.
|
67
85
|
#
|
@@ -50,6 +50,19 @@ module MiniTest::Capistrano
|
|
50
50
|
@captures_responses ||= {}
|
51
51
|
end
|
52
52
|
|
53
|
+
def stream(command, options={})
|
54
|
+
streams[command] = {:options => options}
|
55
|
+
streams_responses[command]
|
56
|
+
end
|
57
|
+
|
58
|
+
def streams
|
59
|
+
@streams ||= {}
|
60
|
+
end
|
61
|
+
|
62
|
+
def streams_responses
|
63
|
+
@streams_responses ||= {}
|
64
|
+
end
|
65
|
+
|
53
66
|
def find_callback(on, task)
|
54
67
|
task = find_task(task) if task.kind_of?(String)
|
55
68
|
|
@@ -59,6 +59,24 @@ module MiniTest
|
|
59
59
|
|
60
60
|
infect_an_assertion :refute_have_captured, :wont_have_captured
|
61
61
|
|
62
|
+
##
|
63
|
+
# See MiniTest::Assertions#assert_have_streamd
|
64
|
+
#
|
65
|
+
# config.must_have_streamed cmd
|
66
|
+
#
|
67
|
+
# :method: must_have_streamed
|
68
|
+
|
69
|
+
infect_an_assertion :assert_have_streamed, :must_have_streamed
|
70
|
+
|
71
|
+
##
|
72
|
+
# See MiniTest::Assertions#refute_have_streamed
|
73
|
+
#
|
74
|
+
# config.wont_have_streamed cmd
|
75
|
+
#
|
76
|
+
# :method: wont_have_streamed
|
77
|
+
|
78
|
+
infect_an_assertion :refute_have_streamed, :wont_have_streamed
|
79
|
+
|
62
80
|
##
|
63
81
|
# See MiniTest::Assertions#assert_have_put
|
64
82
|
#
|
@@ -38,6 +38,15 @@ describe MiniTest::Assertions do
|
|
38
38
|
subject.refute_have_captured "cat /tmp/anything", @config
|
39
39
|
end
|
40
40
|
|
41
|
+
it "assert a command has been streamed" do
|
42
|
+
@config.stream "tail -f /tmp/surprise.txt"
|
43
|
+
subject.assert_have_streamed "tail -f /tmp/surprise.txt", @config
|
44
|
+
end
|
45
|
+
|
46
|
+
it "refutes a command has been streamed" do
|
47
|
+
subject.refute_have_streamed "tail -f /tmp/anything", @config
|
48
|
+
end
|
49
|
+
|
41
50
|
it "assert a file has been put" do
|
42
51
|
@config.put "#!/usr/bin/env ruby", "/tmp/server.rb"
|
43
52
|
subject.assert_have_put "/tmp/server.rb", @config, "#!/usr/bin/env ruby"
|
@@ -83,6 +83,29 @@ describe MiniTest::Capistrano::ConfigurationExtension do
|
|
83
83
|
end
|
84
84
|
end
|
85
85
|
|
86
|
+
describe "#stream" do
|
87
|
+
it "starts with an empty hash" do
|
88
|
+
@config.streams.must_be_empty
|
89
|
+
end
|
90
|
+
|
91
|
+
it "adds an entry to the hash when called" do
|
92
|
+
@config.streams.must_be_empty
|
93
|
+
@config.stream "tail -f /tmp/output"
|
94
|
+
@config.streams.wont_be_empty
|
95
|
+
@config.streams["tail -f /tmp/output"].wont_be_nil
|
96
|
+
end
|
97
|
+
|
98
|
+
it "retuns a nil response if one is not pre-set" do
|
99
|
+
@config.stream("cat /nope").must_be_nil
|
100
|
+
end
|
101
|
+
|
102
|
+
it "returns a response if one is pre-set" do
|
103
|
+
@config.streams_responses["tail -f /tmp/file"] = "blah bleh"
|
104
|
+
|
105
|
+
@config.stream("tail -f /tmp/file").must_equal "blah bleh"
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
86
109
|
describe "#find_callback" do
|
87
110
|
it "returns an empty array when no callbacks are found" do
|
88
111
|
@config.find_callback(:before, @config.find_task("startup")).must_equal []
|
@@ -37,6 +37,16 @@ describe MiniTest::Expectations do
|
|
37
37
|
@config.wont_have_captured "yabba dabba"
|
38
38
|
end
|
39
39
|
|
40
|
+
it "needs to verify a command has streamed" do
|
41
|
+
@config.stream "boop"
|
42
|
+
@config.must_have_streamed "boop"
|
43
|
+
end
|
44
|
+
|
45
|
+
it "needs to verify a command has not been streamed" do
|
46
|
+
@config.stream "wot?"
|
47
|
+
@config.wont_have_streamed "boop"
|
48
|
+
end
|
49
|
+
|
40
50
|
it "needs to verify a file has been put" do
|
41
51
|
@config.put "thedata", "thepath"
|
42
52
|
@config.must_have_put "thepath", "thedata"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minitest-capistrano
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-08-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: minitest
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: capistrano
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ~>
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '2.9'
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '2.9'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: guard-minitest
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ~>
|
@@ -43,7 +53,12 @@ dependencies:
|
|
43
53
|
version: 0.5.0
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.5.0
|
47
62
|
description: MiniTest assertions and expectations for testing Capistrano recipes
|
48
63
|
email:
|
49
64
|
- fnichol@nichol.ca
|
@@ -85,15 +100,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
85
100
|
- - ! '>='
|
86
101
|
- !ruby/object:Gem::Version
|
87
102
|
version: '0'
|
103
|
+
segments:
|
104
|
+
- 0
|
105
|
+
hash: -4475172573281583995
|
88
106
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
89
107
|
none: false
|
90
108
|
requirements:
|
91
109
|
- - ! '>='
|
92
110
|
- !ruby/object:Gem::Version
|
93
111
|
version: '0'
|
112
|
+
segments:
|
113
|
+
- 0
|
114
|
+
hash: -4475172573281583995
|
94
115
|
requirements: []
|
95
116
|
rubyforge_project:
|
96
|
-
rubygems_version: 1.8.
|
117
|
+
rubygems_version: 1.8.24
|
97
118
|
signing_key:
|
98
119
|
specification_version: 3
|
99
120
|
summary: MiniTest assertions and expectations for testing Capistrano recipes
|