dnapi 1.1.74.jruby192.c
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/lib/dnapi.rb +54 -0
- data/lib/dnapi/app.rb +130 -0
- data/lib/dnapi/component.rb +50 -0
- data/lib/dnapi/component_possessor.rb +49 -0
- data/lib/dnapi/components/addons.rb +26 -0
- data/lib/dnapi/components/apache.rb +13 -0
- data/lib/dnapi/components/cloudkick.rb +13 -0
- data/lib/dnapi/components/encrypted_backup.rb +12 -0
- data/lib/dnapi/components/exim.rb +10 -0
- data/lib/dnapi/components/monitor.rb +12 -0
- data/lib/dnapi/components/nagios.rb +28 -0
- data/lib/dnapi/components/newrelic.rb +12 -0
- data/lib/dnapi/components/passenger3.rb +13 -0
- data/lib/dnapi/components/ruby.rb +234 -0
- data/lib/dnapi/components/ssmtp.rb +10 -0
- data/lib/dnapi/components/stunneled.rb +13 -0
- data/lib/dnapi/components/volume.rb +32 -0
- data/lib/dnapi/cron.rb +5 -0
- data/lib/dnapi/db_stack.rb +92 -0
- data/lib/dnapi/ebuild_dep.rb +5 -0
- data/lib/dnapi/environment.rb +327 -0
- data/lib/dnapi/extensions.rb +32 -0
- data/lib/dnapi/gem_dep.rb +9 -0
- data/lib/dnapi/instance.rb +69 -0
- data/lib/dnapi/monitoring.rb +22 -0
- data/lib/dnapi/recipe.rb +27 -0
- data/lib/dnapi/ssl_cert.rb +13 -0
- data/lib/dnapi/stack.rb +111 -0
- data/lib/dnapi/struct.rb +149 -0
- data/lib/dnapi/test.rb +114 -0
- data/lib/dnapi/test/ext.rb +32 -0
- data/lib/dnapi/test/sweatshop.rb +148 -0
- data/lib/dnapi/version.rb +3 -0
- data/lib/dnapi/vhost.rb +24 -0
- data/spec/app_spec.rb +68 -0
- data/spec/component_spec.rb +66 -0
- data/spec/components/addons_spec.rb +33 -0
- data/spec/components/cloudkick_spec.rb +17 -0
- data/spec/components/nagios_spec.rb +42 -0
- data/spec/components/nodejs_spec.rb +27 -0
- data/spec/components/passenger3_spec.rb +12 -0
- data/spec/components/ruby_spec.rb +321 -0
- data/spec/components/stunneled.rb +15 -0
- data/spec/components/volume_spec.rb +21 -0
- data/spec/db_stack_spec.rb +111 -0
- data/spec/environment_spec.rb +227 -0
- data/spec/instance_spec.rb +52 -0
- data/spec/proxies.rb +143 -0
- data/spec/proxies_spec.rb +76 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/stack_spec.rb +105 -0
- data/spec/struct_spec.rb +100 -0
- metadata +181 -0
data/spec/spec_helper.rb
ADDED
data/spec/stack_spec.rb
ADDED
@@ -0,0 +1,105 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
describe DNApi::Stack do
|
4
|
+
describe "Nginxtcp" do
|
5
|
+
it 'has node & nginxtcp for recipes' do
|
6
|
+
DNApi::Stack::Nginxtcp.recipes.should == [DNApi::Recipe::Nginxtcp, DNApi::Recipe::Node]
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
describe "NginxMongrel" do
|
11
|
+
it 'has nginx & mongrel for recipes' do
|
12
|
+
DNApi::Stack::NginxMongrel.recipes.should == [DNApi::Recipe::Nginx, DNApi::Recipe::Mongrel]
|
13
|
+
end
|
14
|
+
|
15
|
+
it "does not support Ruby 1.9.2" do
|
16
|
+
DNApi::Stack::NginxMongrel.ruby_versions.should_not include(DNApi::Components::Ruby192)
|
17
|
+
end
|
18
|
+
|
19
|
+
it "does not support JRuby" do
|
20
|
+
DNApi::Stack::NginxMongrel.ruby_versions.should_not include(DNApi::Components::JRuby187)
|
21
|
+
DNApi::Stack::NginxMongrel.ruby_versions.should_not include(DNApi::Components::JRuby192)
|
22
|
+
end
|
23
|
+
|
24
|
+
it "does not support Rubinius" do
|
25
|
+
DNApi::Stack::NginxMongrel.ruby_versions.should_not include(DNApi::Components::Rubinius)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe "Trinidad" do
|
30
|
+
it 'only supports JRuby' do
|
31
|
+
DNApi::Stack::Trinidad.ruby_versions.should == [DNApi::Components::JRuby187, DNApi::Components::JRuby192]
|
32
|
+
end
|
33
|
+
|
34
|
+
it "has Nginx & Trinidad as recipes" do
|
35
|
+
DNApi::Stack::Trinidad.recipes.should == [DNApi::Recipe::Nginx, DNApi::Recipe::Trinidad]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe "NginxPassenger" do
|
40
|
+
it 'has nginx & nginx-passenger for recipes' do
|
41
|
+
DNApi::Stack::NginxPassenger.recipes.should == [DNApi::Recipe::Nginx, DNApi::Recipe::NginxPassenger]
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'does not support JRuby' do
|
45
|
+
DNApi::Stack::NginxMongrel.ruby_versions.should_not include(DNApi::Components::JRuby187)
|
46
|
+
DNApi::Stack::NginxMongrel.ruby_versions.should_not include(DNApi::Components::JRuby192)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
describe "NginxPassenger3" do
|
51
|
+
it "is the ONLY stack that supports Rubinius" do
|
52
|
+
DNApi::Stack.all.select {|stack| stack.ruby_versions.include?(DNApi::Components::Rubinius) }.should == [DNApi::Stack::NginxPassenger3]
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'does not support Ruby 1.8.6' do
|
56
|
+
DNApi::Stack::NginxPassenger3.ruby_versions.should_not include(DNApi::Components::Ruby186)
|
57
|
+
end
|
58
|
+
|
59
|
+
it 'has nginx & nginx-passenger for recipes' do
|
60
|
+
DNApi::Stack::NginxPassenger.recipes.should == [DNApi::Recipe::Nginx, DNApi::Recipe::NginxPassenger]
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
describe "ApachePassenger" do
|
65
|
+
it 'has only ApachePassenger for recipes' do
|
66
|
+
DNApi::Stack::ApachePassenger.recipes.should == [DNApi::Recipe::Passenger, DNApi::Recipe::ApachePassenger]
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
describe "NginxUnicorn" do
|
71
|
+
it 'has nginx & nginx-passenger for recipes' do
|
72
|
+
DNApi::Stack::NginxUnicorn.recipes.should == [DNApi::Recipe::Nginx, DNApi::Recipe::Unicorn]
|
73
|
+
end
|
74
|
+
|
75
|
+
it 'does not support JRuby' do
|
76
|
+
DNApi::Stack::NginxMongrel.ruby_versions.should_not include(DNApi::Components::JRuby187)
|
77
|
+
DNApi::Stack::NginxMongrel.ruby_versions.should_not include(DNApi::Components::JRuby192)
|
78
|
+
end
|
79
|
+
|
80
|
+
it "does not support Rubinius" do
|
81
|
+
DNApi::Stack::NginxUnicorn.ruby_versions.should_not include(DNApi::Components::Rubinius)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
context "responds to legacy helper methods" do
|
86
|
+
it { should respond_to(:apache?)}
|
87
|
+
it { should respond_to(:nginx?)}
|
88
|
+
it { should respond_to(:passenger?)}
|
89
|
+
it { should respond_to(:unicorn?)}
|
90
|
+
it { should respond_to(:mongrel?)}
|
91
|
+
it { should respond_to(:trinidad?)}
|
92
|
+
it { should respond_to(:thin?)}
|
93
|
+
|
94
|
+
it do
|
95
|
+
DNApi::Stack::NginxMongrel.should be_mongrel
|
96
|
+
DNApi::Stack::NginxMongrel.should be_nginx
|
97
|
+
DNApi::Stack::NginxPassenger.should be_passenger
|
98
|
+
DNApi::Stack::NginxPassenger3.should be_passenger
|
99
|
+
DNApi::Stack::ApachePassenger.should be_apache
|
100
|
+
DNApi::Stack::NginxUnicorn.should be_unicorn
|
101
|
+
DNApi::Stack::Trinidad.should be_trinidad
|
102
|
+
DNApi::Stack::NginxThin.should be_thin
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
data/spec/struct_spec.rb
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
describe DNApi::Struct do
|
4
|
+
describe "#initialize" do
|
5
|
+
it 'correctly maps attributes to members' do
|
6
|
+
klass = DNApi::Struct.new(:foo, :bar, :baz)
|
7
|
+
|
8
|
+
instance = klass.new(:bar => :x, :baz => :y, :foo => :z)
|
9
|
+
instance.foo.should == :z
|
10
|
+
instance.bar.should == :x
|
11
|
+
instance.baz.should == :y
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'sets the value for any parameters' do
|
15
|
+
klass = Class.new(DNApi::Struct.new(:baz)) do
|
16
|
+
attr_accessor :foo
|
17
|
+
end
|
18
|
+
|
19
|
+
klass.new.baz.should be_nil
|
20
|
+
klass.new(:foo => 'bar').foo.should eql('bar')
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'expects a hash argument' do
|
24
|
+
lambda { Class.new(DNApi::Struct.new(:foo)).new("blam!") }.should raise_error(ArgumentError)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe ".many" do
|
29
|
+
before(:each) do
|
30
|
+
@klass_in_context = Class.new(DNApi::Struct.new(:foo, :bar)) do
|
31
|
+
many :apples
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'adds an attr_accessor for the association' do
|
36
|
+
instance = @klass_in_context.new
|
37
|
+
instance.apples.should be_empty
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'accepts an empty array as a create parameter' do
|
41
|
+
instance = @klass_in_context.new(:apples => [])
|
42
|
+
instance.apples.should be_empty
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'accepts input to the association as a create parameter' do
|
46
|
+
instance = @klass_in_context.new(:apples => [:a, :b, :c])
|
47
|
+
instance.apples.should eql([:a, :b, :c])
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe ".unserialized_member" do
|
52
|
+
it 'adds an attr_accessor for member' do
|
53
|
+
@klass = DNApi::Struct.new(:foo, :bar) do
|
54
|
+
unserialized_member :baz
|
55
|
+
end
|
56
|
+
|
57
|
+
instance = @klass.new
|
58
|
+
instance.baz = 123
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
describe "#to_hash" do
|
63
|
+
it 'rejects any nil members' do
|
64
|
+
#DNApi::Struct.new(:a, :b).new(:a => nil, :b => :c).to_hash.should == {'b' => :c}
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
describe "#to_jexp" do
|
69
|
+
it 'is a hash with valid JSON types' do
|
70
|
+
DNApi::Struct.new(:alpha).new(:alpha => :beta).to_jexp.should == {'alpha' => 'beta'}
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
describe "#==" do
|
75
|
+
it 'includes unserialized members in the comparison' do
|
76
|
+
klass = DNApi::Struct.new(:alpha) do
|
77
|
+
unserialized_member :beta
|
78
|
+
end
|
79
|
+
|
80
|
+
base_case = klass.new(:alpha => 1, :beta => 2)
|
81
|
+
equal_case = klass.new(:alpha => 1, :beta => 2)
|
82
|
+
unequal_case = klass.new(:alpha => 1, :beta => 3)
|
83
|
+
|
84
|
+
equal_case.should == base_case
|
85
|
+
unequal_case.should_not == base_case
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
describe "#inspect" do
|
90
|
+
it 'includes unserialized members' do
|
91
|
+
klass = DNApi::Struct.new(:alpha) do
|
92
|
+
unserialized_member :beta
|
93
|
+
end
|
94
|
+
|
95
|
+
instance = klass.new(:alpha => :si, :beta => :omega)
|
96
|
+
|
97
|
+
instance.inspect.should include("beta=:omega")
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
metadata
ADDED
@@ -0,0 +1,181 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: dnapi
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 1239077196
|
5
|
+
prerelease: 7
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 1
|
9
|
+
- 74
|
10
|
+
- jruby
|
11
|
+
- 192
|
12
|
+
- c
|
13
|
+
version: 1.1.74.jruby192.c
|
14
|
+
platform: ruby
|
15
|
+
authors:
|
16
|
+
- Engine Yard
|
17
|
+
autorequire:
|
18
|
+
bindir: bin
|
19
|
+
cert_chain: []
|
20
|
+
|
21
|
+
date: 2011-07-26 00:00:00 Z
|
22
|
+
dependencies:
|
23
|
+
- !ruby/object:Gem::Dependency
|
24
|
+
name: json
|
25
|
+
prerelease: false
|
26
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
27
|
+
none: false
|
28
|
+
requirements:
|
29
|
+
- - ">="
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
hash: 3
|
32
|
+
segments:
|
33
|
+
- 0
|
34
|
+
version: "0"
|
35
|
+
type: :runtime
|
36
|
+
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: extlib
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
hash: 3
|
46
|
+
segments:
|
47
|
+
- 0
|
48
|
+
version: "0"
|
49
|
+
type: :runtime
|
50
|
+
version_requirements: *id002
|
51
|
+
- !ruby/object:Gem::Dependency
|
52
|
+
name: sexp_processor
|
53
|
+
prerelease: false
|
54
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
hash: 3
|
60
|
+
segments:
|
61
|
+
- 0
|
62
|
+
version: "0"
|
63
|
+
type: :runtime
|
64
|
+
version_requirements: *id003
|
65
|
+
description: API for chef DNA.
|
66
|
+
email:
|
67
|
+
- gems@engineyard.com
|
68
|
+
executables: []
|
69
|
+
|
70
|
+
extensions: []
|
71
|
+
|
72
|
+
extra_rdoc_files: []
|
73
|
+
|
74
|
+
files:
|
75
|
+
- lib/dnapi/app.rb
|
76
|
+
- lib/dnapi/component.rb
|
77
|
+
- lib/dnapi/component_possessor.rb
|
78
|
+
- lib/dnapi/components/addons.rb
|
79
|
+
- lib/dnapi/components/apache.rb
|
80
|
+
- lib/dnapi/components/cloudkick.rb
|
81
|
+
- lib/dnapi/components/encrypted_backup.rb
|
82
|
+
- lib/dnapi/components/exim.rb
|
83
|
+
- lib/dnapi/components/monitor.rb
|
84
|
+
- lib/dnapi/components/nagios.rb
|
85
|
+
- lib/dnapi/components/newrelic.rb
|
86
|
+
- lib/dnapi/components/passenger3.rb
|
87
|
+
- lib/dnapi/components/ruby.rb
|
88
|
+
- lib/dnapi/components/ssmtp.rb
|
89
|
+
- lib/dnapi/components/stunneled.rb
|
90
|
+
- lib/dnapi/components/volume.rb
|
91
|
+
- lib/dnapi/cron.rb
|
92
|
+
- lib/dnapi/db_stack.rb
|
93
|
+
- lib/dnapi/ebuild_dep.rb
|
94
|
+
- lib/dnapi/environment.rb
|
95
|
+
- lib/dnapi/extensions.rb
|
96
|
+
- lib/dnapi/gem_dep.rb
|
97
|
+
- lib/dnapi/instance.rb
|
98
|
+
- lib/dnapi/monitoring.rb
|
99
|
+
- lib/dnapi/recipe.rb
|
100
|
+
- lib/dnapi/ssl_cert.rb
|
101
|
+
- lib/dnapi/stack.rb
|
102
|
+
- lib/dnapi/struct.rb
|
103
|
+
- lib/dnapi/test/ext.rb
|
104
|
+
- lib/dnapi/test/sweatshop.rb
|
105
|
+
- lib/dnapi/test.rb
|
106
|
+
- lib/dnapi/version.rb
|
107
|
+
- lib/dnapi/vhost.rb
|
108
|
+
- lib/dnapi.rb
|
109
|
+
- spec/app_spec.rb
|
110
|
+
- spec/component_spec.rb
|
111
|
+
- spec/components/addons_spec.rb
|
112
|
+
- spec/components/cloudkick_spec.rb
|
113
|
+
- spec/components/nagios_spec.rb
|
114
|
+
- spec/components/nodejs_spec.rb
|
115
|
+
- spec/components/passenger3_spec.rb
|
116
|
+
- spec/components/ruby_spec.rb
|
117
|
+
- spec/components/stunneled.rb
|
118
|
+
- spec/components/volume_spec.rb
|
119
|
+
- spec/db_stack_spec.rb
|
120
|
+
- spec/environment_spec.rb
|
121
|
+
- spec/instance_spec.rb
|
122
|
+
- spec/proxies.rb
|
123
|
+
- spec/proxies_spec.rb
|
124
|
+
- spec/spec_helper.rb
|
125
|
+
- spec/stack_spec.rb
|
126
|
+
- spec/struct_spec.rb
|
127
|
+
homepage: http://github.com/engineyard/dnapi
|
128
|
+
licenses: []
|
129
|
+
|
130
|
+
post_install_message:
|
131
|
+
rdoc_options: []
|
132
|
+
|
133
|
+
require_paths:
|
134
|
+
- lib
|
135
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
136
|
+
none: false
|
137
|
+
requirements:
|
138
|
+
- - ">="
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
hash: 3
|
141
|
+
segments:
|
142
|
+
- 0
|
143
|
+
version: "0"
|
144
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ">"
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
hash: 25
|
150
|
+
segments:
|
151
|
+
- 1
|
152
|
+
- 3
|
153
|
+
- 1
|
154
|
+
version: 1.3.1
|
155
|
+
requirements: []
|
156
|
+
|
157
|
+
rubyforge_project:
|
158
|
+
rubygems_version: 1.8.6
|
159
|
+
signing_key:
|
160
|
+
specification_version: 3
|
161
|
+
summary: API for chef DNA.
|
162
|
+
test_files:
|
163
|
+
- spec/app_spec.rb
|
164
|
+
- spec/component_spec.rb
|
165
|
+
- spec/components/addons_spec.rb
|
166
|
+
- spec/components/cloudkick_spec.rb
|
167
|
+
- spec/components/nagios_spec.rb
|
168
|
+
- spec/components/nodejs_spec.rb
|
169
|
+
- spec/components/passenger3_spec.rb
|
170
|
+
- spec/components/ruby_spec.rb
|
171
|
+
- spec/components/stunneled.rb
|
172
|
+
- spec/components/volume_spec.rb
|
173
|
+
- spec/db_stack_spec.rb
|
174
|
+
- spec/environment_spec.rb
|
175
|
+
- spec/instance_spec.rb
|
176
|
+
- spec/proxies.rb
|
177
|
+
- spec/proxies_spec.rb
|
178
|
+
- spec/spec_helper.rb
|
179
|
+
- spec/stack_spec.rb
|
180
|
+
- spec/struct_spec.rb
|
181
|
+
has_rdoc:
|