wordpress-deploy 1.0.0.alpha2 → 1.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +7 -1
- data/Guardfile +1 -16
- data/README.md +56 -0
- data/lib/wordpress_deploy.rb +43 -9
- data/lib/wordpress_deploy/cli/helpers.rb +6 -3
- data/lib/wordpress_deploy/cli/utility.rb +56 -33
- data/lib/wordpress_deploy/config.rb +77 -0
- data/lib/wordpress_deploy/database/mysql.rb +281 -20
- data/lib/wordpress_deploy/environment.rb +85 -43
- data/lib/wordpress_deploy/environments.rb +89 -0
- data/lib/wordpress_deploy/logger.rb +3 -3
- data/lib/wordpress_deploy/{transfer_protocols → storage}/ftp.rb +52 -116
- data/lib/wordpress_deploy/storage/local.rb +12 -0
- data/lib/wordpress_deploy/version.rb +1 -1
- data/lib/wordpress_deploy/wordpress/salts.rb +68 -0
- data/spec/data/blue.rb +52 -0
- data/spec/data/development.rb +49 -0
- data/spec/data/green.rb +52 -0
- data/spec/data/production.rb +52 -0
- data/spec/data/red.rb +52 -0
- data/spec/data/wp-config.php +90 -0
- data/spec/spec_helper.rb +16 -5
- data/spec/wordpress_deploy/cli/utility_spec.rb +48 -0
- data/spec/{environment_spec.rb → wordpress_deploy/config_spec.rb} +9 -7
- data/spec/wordpress_deploy/database/mysql_spec.rb +147 -0
- data/spec/wordpress_deploy/environment_spec.rb +96 -0
- data/spec/wordpress_deploy/environments_spec.rb +65 -0
- data/spec/wordpress_deploy/storage/ftp_spec.rb +58 -0
- data/spec/wordpress_deploy/storage/local_spec.rb +0 -0
- data/spec/wordpress_deploy/wordpress/salts_spec.rb +70 -0
- data/{spec/data/wp-config-sample.php → templates/wp-config.erb} +17 -17
- data/wordpress_deploy.gemspec +7 -6
- metadata +64 -30
- data/Gemfile.lock +0 -83
- data/lib/wordpress_deploy/wordpress/configuration.rb +0 -196
- data/spec/data/ftp.yml +0 -4
- data/spec/data/wp-config.yml +0 -128
- data/spec/database/mysql_spec.rb +0 -93
- data/spec/transfer_protocols/ftp_spec.rb +0 -193
- data/spec/wordpress/configuration_spec.rb +0 -202
@@ -1,202 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe WordpressDeploy::Wordpress::Configuration do
|
4
|
-
it { should respond_to :name }
|
5
|
-
it { should respond_to :name= }
|
6
|
-
it { should respond_to :available_names }
|
7
|
-
it { should respond_to :names }
|
8
|
-
it { should respond_to :template }
|
9
|
-
it { should respond_to :output }
|
10
|
-
it { should respond_to :save! }
|
11
|
-
it { should respond_to :port }
|
12
|
-
it { should respond_to :port? }
|
13
|
-
it { should respond_to :host }
|
14
|
-
it { should respond_to :socket }
|
15
|
-
it { should respond_to :socket? }
|
16
|
-
|
17
|
-
it { should respond_to :DB_NAME }
|
18
|
-
it { should respond_to :DB_USER }
|
19
|
-
it { should respond_to :DB_PASSWORD }
|
20
|
-
it { should respond_to :DB_HOST }
|
21
|
-
it { should respond_to :DB_CHARSET }
|
22
|
-
it { should respond_to :DB_COLLATE }
|
23
|
-
it { should respond_to :WPLANG }
|
24
|
-
it { should respond_to :WP_DEBUG }
|
25
|
-
it { should respond_to :AUTH_KEY }
|
26
|
-
it { should respond_to :SECURE_AUTH_KEY }
|
27
|
-
it { should respond_to :LOGGED_IN_KEY }
|
28
|
-
it { should respond_to :NONCE_KEY }
|
29
|
-
it { should respond_to :AUTH_SALT }
|
30
|
-
it { should respond_to :SECURE_AUTH_SALT }
|
31
|
-
it { should respond_to :LOGGED_IN_SALT }
|
32
|
-
it { should respond_to :NONCE_SALT }
|
33
|
-
|
34
|
-
its(:template) { should =~ /wp-config-sample.php$/ }
|
35
|
-
its(:output) { should =~ /wp-config.php$/ }
|
36
|
-
|
37
|
-
its(:names) { should have(5).strings }
|
38
|
-
its(:names) { should include "development" }
|
39
|
-
its(:names) { should include "production" }
|
40
|
-
its(:names) { should include "red" }
|
41
|
-
its(:names) { should include "green" }
|
42
|
-
its(:names) { should include "blue" }
|
43
|
-
its(:available_names) { should have(5).strings }
|
44
|
-
its(:available_names) { should include "development" }
|
45
|
-
its(:available_names) { should include "production" }
|
46
|
-
its(:available_names) { should include "red" }
|
47
|
-
its(:available_names) { should include "green" }
|
48
|
-
its(:available_names) { should include "blue" }
|
49
|
-
|
50
|
-
it "should allow creation of new configuration by name" do
|
51
|
-
config = WordpressDeploy::Wordpress::Configuration.new "red"
|
52
|
-
config.name.should eq "red"
|
53
|
-
end
|
54
|
-
|
55
|
-
it "should only allow configuration names found in the yaml file" do
|
56
|
-
["production", "development", "red", "green", "blue"].each do |name|
|
57
|
-
subject.name = name
|
58
|
-
subject.name.should eq name
|
59
|
-
end
|
60
|
-
[:production, nil].each do |name|
|
61
|
-
subject.name = name
|
62
|
-
subject.name.should_not eq name
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
shared_examples "named configuration" do
|
67
|
-
before(:each) { subject.name = name }
|
68
|
-
its(:name) { should eq name }
|
69
|
-
its(:DB_NAME) { should eq db_name }
|
70
|
-
its(:DB_USER) { should eq db_user }
|
71
|
-
its(:DB_PASSWORD) { should eq db_password }
|
72
|
-
its(:DB_HOST) { should eq db_host }
|
73
|
-
its(:DB_CHARSET) { should eq db_charset }
|
74
|
-
its(:DB_COLLATE) { should eq db_collate }
|
75
|
-
its(:WPLANG) { should eq wplang }
|
76
|
-
its(:WP_DEBUG) { should be_true }
|
77
|
-
its(:AUTH_KEY) { should be_salt }
|
78
|
-
its(:SECURE_AUTH_KEY) { should be_salt }
|
79
|
-
its(:LOGGED_IN_KEY) { should be_salt }
|
80
|
-
its(:NONCE_KEY) { should be_salt }
|
81
|
-
its(:AUTH_SALT) { should be_salt }
|
82
|
-
its(:SECURE_AUTH_SALT) { should be_salt }
|
83
|
-
its(:LOGGED_IN_SALT) { should be_salt }
|
84
|
-
its(:NONCE_SALT) { should be_salt }
|
85
|
-
its(:port) { should eq port_num }
|
86
|
-
its(:port?) { should eq has_port }
|
87
|
-
its(:host) { should eq host }
|
88
|
-
its(:socket) { should eq socket }
|
89
|
-
its(:socket?) { should eq has_socket }
|
90
|
-
end
|
91
|
-
|
92
|
-
context "development" do
|
93
|
-
it_should_behave_like "named configuration" do
|
94
|
-
let(:name) { "development" }
|
95
|
-
let(:db_name) { "developer_database_name" }
|
96
|
-
let(:db_user) { "root" }
|
97
|
-
let(:db_password) { "q9&hu6Re_*dReWr_GAba_2wr89#2Ra8$" }
|
98
|
-
let(:db_host) { "localhost" }
|
99
|
-
let(:db_charset) { "utf8" }
|
100
|
-
let(:db_collate) { "" }
|
101
|
-
let(:wplang) { "" }
|
102
|
-
let(:port_num) { 3306 }
|
103
|
-
let(:has_port) { false }
|
104
|
-
let(:host) { "localhost" }
|
105
|
-
let(:socket) { "" }
|
106
|
-
let(:has_socket) { false }
|
107
|
-
end
|
108
|
-
end
|
109
|
-
|
110
|
-
context "production" do
|
111
|
-
it_should_behave_like "named configuration" do
|
112
|
-
let(:name) { 'production' }
|
113
|
-
let(:db_name) { "production_database_name" }
|
114
|
-
let(:db_user) { "some_user" }
|
115
|
-
let(:db_password) { "trecuwawraJaZe6P@kucraDrachustUq" }
|
116
|
-
let(:db_host) { "abbott.biz:6654" }
|
117
|
-
let(:db_charset) { "utf8" }
|
118
|
-
let(:db_collate) { "" }
|
119
|
-
let(:wplang) { "" }
|
120
|
-
let(:port_num) { 6654 }
|
121
|
-
let(:has_port) { true }
|
122
|
-
let(:host) { "abbott.biz" }
|
123
|
-
let(:socket) { "" }
|
124
|
-
let(:has_socket) { false }
|
125
|
-
end
|
126
|
-
end
|
127
|
-
|
128
|
-
context "red" do
|
129
|
-
it_should_behave_like "named configuration" do
|
130
|
-
let(:name) { 'red' }
|
131
|
-
let(:db_name) { "red" }
|
132
|
-
let(:db_user) { "red_user" }
|
133
|
-
let(:db_password) { "Bun__huPEMeBreM6tebRAp@eguzuQExe" }
|
134
|
-
let(:db_host) { "hanerutherford.biz" }
|
135
|
-
let(:db_charset) { "utf8" }
|
136
|
-
let(:db_collate) { "" }
|
137
|
-
let(:wplang) { "" }
|
138
|
-
let(:port_num) { 3306 }
|
139
|
-
let(:has_port) { false }
|
140
|
-
let(:host) { "hanerutherford.biz" }
|
141
|
-
let(:socket) { "" }
|
142
|
-
let(:has_socket) { false }
|
143
|
-
end
|
144
|
-
end
|
145
|
-
|
146
|
-
context "green" do
|
147
|
-
it_should_behave_like "named configuration" do
|
148
|
-
let(:name) { 'green' }
|
149
|
-
let(:db_name) { "green" }
|
150
|
-
let(:db_user) { "domenick.dare" }
|
151
|
-
let(:db_password) { "Daw&HEWuzaz6sa&epHech_spAKucHaTH" }
|
152
|
-
let(:db_host) { "yundt.org" }
|
153
|
-
let(:db_charset) { "utf8" }
|
154
|
-
let(:db_collate) { "" }
|
155
|
-
let(:wplang) { "" }
|
156
|
-
let(:port_num) { 3306 }
|
157
|
-
let(:has_port) { false }
|
158
|
-
let(:host) { "yundt.org" }
|
159
|
-
let(:socket) { "" }
|
160
|
-
let(:has_socket) { false }
|
161
|
-
end
|
162
|
-
end
|
163
|
-
|
164
|
-
context "blue" do
|
165
|
-
it_should_behave_like "named configuration" do
|
166
|
-
let(:name) { 'blue' }
|
167
|
-
let(:db_name) { "blue" }
|
168
|
-
let(:db_user) { "harrison" }
|
169
|
-
let(:db_password) { "w5@reba?9?pepuk7w9a#H86ustaGawE!" }
|
170
|
-
let(:db_host) { "torphagenes.com:/tmp/mysql5.sock" }
|
171
|
-
let(:db_charset) { "utf8" }
|
172
|
-
let(:db_collate) { "" }
|
173
|
-
let(:wplang) { "" }
|
174
|
-
let(:port_num) { 3306 }
|
175
|
-
let(:has_port) { false }
|
176
|
-
let(:host) { "torphagenes.com" }
|
177
|
-
let(:socket) { "/tmp/mysql5.sock" }
|
178
|
-
let(:has_socket) { true }
|
179
|
-
end
|
180
|
-
end
|
181
|
-
|
182
|
-
describe "saving configuration" do
|
183
|
-
it "should create a file if it does not exist" do
|
184
|
-
# Remove the file (even if it exists)
|
185
|
-
FileUtils.rm subject.output if File.exists? subject.output
|
186
|
-
|
187
|
-
# Try saving it
|
188
|
-
subject.save!
|
189
|
-
|
190
|
-
# Check that it now exists
|
191
|
-
File.exists?(subject.output).should be_true
|
192
|
-
end
|
193
|
-
|
194
|
-
it "should be calling all of the configuration properties" do
|
195
|
-
WordpressDeploy::Wordpress::Configuration::WP_CONFIGURATION_ALL.each do |attr|
|
196
|
-
subject.should_receive(attr).exactly(1).times
|
197
|
-
end
|
198
|
-
subject.should_receive(:define).exactly(WordpressDeploy::Wordpress::Configuration::WP_CONFIGURATION_ALL.count).times
|
199
|
-
subject.save!
|
200
|
-
end
|
201
|
-
end
|
202
|
-
end
|