engineyard-serverside 2.7.0.pre → 2.7.8pre2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (252) hide show
  1. data/bin/engineyard-serverside +1 -1
  2. data/lib/engineyard-serverside/about.rb +8 -7
  3. data/lib/engineyard-serverside/cli.rb +225 -4
  4. data/lib/engineyard-serverside/cli_helpers.rb +53 -0
  5. data/lib/engineyard-serverside/configuration.rb +0 -1
  6. data/lib/engineyard-serverside/dependency_manager/bundler.rb +18 -46
  7. data/lib/engineyard-serverside/dependency_manager/npm.rb +1 -12
  8. data/lib/engineyard-serverside/deploy.rb +45 -7
  9. data/lib/engineyard-serverside/deploy_hook.rb +83 -20
  10. data/lib/engineyard-serverside/maintenance.rb +9 -1
  11. data/lib/engineyard-serverside/paths.rb +0 -11
  12. data/lib/engineyard-serverside/rails_assets.rb +1 -2
  13. data/lib/engineyard-serverside/version.rb +1 -1
  14. data/spec/archive_deploy_spec.rb +53 -0
  15. data/spec/basic_deploy_spec.rb +26 -0
  16. data/spec/bundler_deploy_spec.rb +139 -0
  17. data/spec/configuration_spec.rb +205 -0
  18. data/spec/custom_deploy_spec.rb +128 -0
  19. data/spec/deploy_hook_spec.rb +362 -0
  20. data/spec/deprecation_spec.rb +23 -0
  21. data/spec/ey_yml_customized_deploy_spec.rb +99 -0
  22. data/spec/fixtures/gitrepo.tar.gz +0 -0
  23. data/{lib/engineyard-serverside/callbacks/hooks.rb → spec/fixtures/gitrepo/bar} +0 -0
  24. data/spec/fixtures/gitrepo/foo +0 -0
  25. data/spec/fixtures/invalid_hook.rb +1 -0
  26. data/spec/fixtures/lockfiles/0.9-no-bundler +111 -0
  27. data/spec/fixtures/lockfiles/0.9-with-bundler +117 -0
  28. data/spec/fixtures/lockfiles/1.0-no-bundler +54 -0
  29. data/spec/fixtures/lockfiles/1.0.0.rc.1-with-bundler +162 -0
  30. data/spec/fixtures/lockfiles/1.0.18-do_mysql +88 -0
  31. data/spec/fixtures/lockfiles/1.0.18-do_postgres +79 -0
  32. data/spec/fixtures/lockfiles/1.0.18-mysql +43 -0
  33. data/spec/fixtures/lockfiles/1.0.18-mysql2 +43 -0
  34. data/spec/fixtures/lockfiles/1.0.18-pg +43 -0
  35. data/spec/fixtures/lockfiles/1.0.6-no-bundler +51 -0
  36. data/spec/fixtures/lockfiles/1.0.6-with-any-bundler +52 -0
  37. data/spec/fixtures/lockfiles/1.0.6-with-bundler +52 -0
  38. data/spec/fixtures/lockfiles/1.3.1-rails-3.2.13 +112 -0
  39. data/spec/fixtures/lockfiles/not-a-lockfile +1 -0
  40. data/spec/fixtures/repos/assets_detected/Gemfile +5 -0
  41. data/spec/fixtures/repos/assets_detected/Gemfile.lock +88 -0
  42. data/spec/fixtures/repos/assets_detected/README +1 -0
  43. data/spec/fixtures/repos/assets_detected/Rakefile +5 -0
  44. data/spec/fixtures/repos/assets_detected/app/assets/empty +0 -0
  45. data/spec/fixtures/repos/assets_detected/config/application.rb +5 -0
  46. data/spec/fixtures/repos/assets_detected/config/ey.yml +3 -0
  47. data/spec/fixtures/repos/assets_disabled/Gemfile +5 -0
  48. data/spec/fixtures/repos/assets_disabled/Gemfile.lock +88 -0
  49. data/spec/fixtures/repos/assets_disabled/README +1 -0
  50. data/spec/fixtures/repos/assets_disabled/Rakefile +6 -0
  51. data/spec/fixtures/repos/assets_disabled/app/assets/empty +0 -0
  52. data/spec/fixtures/repos/assets_disabled/config/application.rb +5 -0
  53. data/spec/fixtures/repos/assets_disabled/config/ey.yml +3 -0
  54. data/spec/fixtures/repos/assets_disabled_in_ey_yml/Gemfile +5 -0
  55. data/spec/fixtures/repos/assets_disabled_in_ey_yml/Gemfile.lock +88 -0
  56. data/spec/fixtures/repos/assets_disabled_in_ey_yml/README +1 -0
  57. data/spec/fixtures/repos/assets_disabled_in_ey_yml/Rakefile +6 -0
  58. data/spec/fixtures/repos/assets_disabled_in_ey_yml/app/assets/empty +0 -0
  59. data/spec/fixtures/repos/assets_disabled_in_ey_yml/config/application.rb +5 -0
  60. data/spec/fixtures/repos/assets_disabled_in_ey_yml/config/ey.yml +5 -0
  61. data/spec/fixtures/repos/assets_disabled_utf8/Gemfile +5 -0
  62. data/spec/fixtures/repos/assets_disabled_utf8/Gemfile.lock +88 -0
  63. data/spec/fixtures/repos/assets_disabled_utf8/README +3 -0
  64. data/spec/fixtures/repos/assets_disabled_utf8/Rakefile +5 -0
  65. data/spec/fixtures/repos/assets_disabled_utf8/app/assets/empty +0 -0
  66. data/spec/fixtures/repos/assets_disabled_utf8/config/application.rb +7 -0
  67. data/spec/fixtures/repos/assets_disabled_utf8/config/ey.yml +3 -0
  68. data/spec/fixtures/repos/assets_enabled_all/Gemfile +5 -0
  69. data/spec/fixtures/repos/assets_enabled_all/Gemfile.lock +88 -0
  70. data/spec/fixtures/repos/assets_enabled_all/README +1 -0
  71. data/spec/fixtures/repos/assets_enabled_all/app/assets/empty +0 -0
  72. data/spec/fixtures/repos/assets_enabled_all/config/application.rb +5 -0
  73. data/spec/fixtures/repos/assets_enabled_all/config/ey.yml +6 -0
  74. data/spec/fixtures/repos/assets_enabled_all/script/assets +5 -0
  75. data/spec/fixtures/repos/assets_enabled_all/tmp/obstruction +1 -0
  76. data/spec/fixtures/repos/assets_enabled_in_ey_yml/Gemfile +3 -0
  77. data/spec/fixtures/repos/assets_enabled_in_ey_yml/Gemfile.lock +10 -0
  78. data/spec/fixtures/repos/assets_enabled_in_ey_yml/README +1 -0
  79. data/spec/fixtures/repos/assets_enabled_in_ey_yml/Rakefile +8 -0
  80. data/spec/fixtures/repos/assets_enabled_in_ey_yml/config/ey.yml +4 -0
  81. data/spec/fixtures/repos/assets_enabled_util_only/Gemfile +5 -0
  82. data/spec/fixtures/repos/assets_enabled_util_only/Gemfile.lock +88 -0
  83. data/spec/fixtures/repos/assets_enabled_util_only/README +1 -0
  84. data/spec/fixtures/repos/assets_enabled_util_only/Rakefile +6 -0
  85. data/spec/fixtures/repos/assets_enabled_util_only/app/assets/empty +0 -0
  86. data/spec/fixtures/repos/assets_enabled_util_only/config/application.rb +5 -0
  87. data/spec/fixtures/repos/assets_enabled_util_only/config/ey.yml +6 -0
  88. data/spec/fixtures/repos/assets_in_hook/Gemfile +5 -0
  89. data/spec/fixtures/repos/assets_in_hook/Gemfile.lock +88 -0
  90. data/spec/fixtures/repos/assets_in_hook/README +2 -0
  91. data/spec/fixtures/repos/assets_in_hook/Rakefile +5 -0
  92. data/spec/fixtures/repos/assets_in_hook/app/assets/empty +0 -0
  93. data/spec/fixtures/repos/assets_in_hook/config/application.rb +5 -0
  94. data/spec/fixtures/repos/assets_in_hook/config/ey.yml +3 -0
  95. data/spec/fixtures/repos/assets_in_hook/deploy/before_compile_assets.rb +2 -0
  96. data/spec/fixtures/repos/bundle_fails/Gemfile +1 -0
  97. data/spec/fixtures/repos/bundle_fails/README +1 -0
  98. data/spec/fixtures/repos/bundle_fails/deploy/after_bundle.rb +1 -0
  99. data/spec/fixtures/repos/bundler_disabled/Gemfile +4 -0
  100. data/spec/fixtures/repos/bundler_disabled/Gemfile.lock +12 -0
  101. data/spec/fixtures/repos/bundler_disabled/README +1 -0
  102. data/spec/fixtures/repos/bundler_disabled/config/ey.yml +2 -0
  103. data/spec/fixtures/repos/bundler_disabled/deploy/after_bundle.rb +1 -0
  104. data/spec/fixtures/repos/bundler_disabled/deploy/before_bundle.rb +1 -0
  105. data/spec/fixtures/repos/default/Gemfile +4 -0
  106. data/spec/fixtures/repos/default/Gemfile.lock +12 -0
  107. data/spec/fixtures/repos/default/README +5 -0
  108. data/spec/fixtures/repos/default/ey.yml +3 -0
  109. data/spec/fixtures/repos/executable_hooks/README +1 -0
  110. data/spec/fixtures/repos/executable_hooks/deploy/before_restart +72 -0
  111. data/spec/fixtures/repos/executable_hooks_not_executable/README +3 -0
  112. data/spec/fixtures/repos/executable_hooks_not_executable/deploy/before_restart +3 -0
  113. data/spec/fixtures/repos/ey_yml/Gemfile +4 -0
  114. data/spec/fixtures/repos/ey_yml/Gemfile.lock +12 -0
  115. data/spec/fixtures/repos/ey_yml/README +1 -0
  116. data/spec/fixtures/repos/ey_yml/config/ey.yml +18 -0
  117. data/spec/fixtures/repos/ey_yml/deploy/before_migrate.rb +6 -0
  118. data/spec/fixtures/repos/ey_yml_alt/Gemfile +4 -0
  119. data/spec/fixtures/repos/ey_yml_alt/Gemfile.lock +12 -0
  120. data/spec/fixtures/repos/ey_yml_alt/README +1 -0
  121. data/spec/fixtures/repos/ey_yml_alt/deploy/before_migrate.rb +6 -0
  122. data/spec/fixtures/repos/ey_yml_alt/ey.yml +12 -0
  123. data/spec/fixtures/repos/hook_fails/README +1 -0
  124. data/spec/fixtures/repos/hook_fails/deploy/before_deploy.rb +1 -0
  125. data/spec/fixtures/repos/hooks/README +1 -0
  126. data/spec/fixtures/repos/hooks/deploy/after_bundle.rb +1 -0
  127. data/spec/fixtures/repos/hooks/deploy/after_compile_assets.rb +1 -0
  128. data/spec/fixtures/repos/hooks/deploy/after_deploy.rb +1 -0
  129. data/spec/fixtures/repos/hooks/deploy/after_migrate.rb +1 -0
  130. data/spec/fixtures/repos/hooks/deploy/after_restart.rb +1 -0
  131. data/spec/fixtures/repos/hooks/deploy/after_symlink.rb +1 -0
  132. data/spec/fixtures/repos/hooks/deploy/before_bundle.rb +1 -0
  133. data/spec/fixtures/repos/hooks/deploy/before_compile_assets.rb +1 -0
  134. data/spec/fixtures/repos/hooks/deploy/before_deploy.rb +1 -0
  135. data/spec/fixtures/repos/hooks/deploy/before_migrate.rb +1 -0
  136. data/spec/fixtures/repos/hooks/deploy/before_restart.rb +1 -0
  137. data/spec/fixtures/repos/hooks/deploy/before_symlink.rb +1 -0
  138. data/spec/fixtures/repos/multi_dep_manager/README +1 -0
  139. data/spec/fixtures/repos/multi_dep_manager/composer.json +5 -0
  140. data/spec/fixtures/repos/multi_dep_manager/composer.lock +462 -0
  141. data/spec/fixtures/repos/multi_dep_manager/package.json +7 -0
  142. data/spec/fixtures/repos/multi_dep_manager/public/index.php +4 -0
  143. data/spec/fixtures/repos/no_ey_config/Gemfile +3 -0
  144. data/spec/fixtures/repos/no_ey_config/Gemfile.lock +10 -0
  145. data/spec/fixtures/repos/no_ey_config/README +1 -0
  146. data/spec/fixtures/repos/no_ey_config/ey.yml +3 -0
  147. data/spec/fixtures/repos/no_gemfile_lock/Gemfile +4 -0
  148. data/spec/fixtures/repos/no_gemfile_lock/README +1 -0
  149. data/spec/fixtures/repos/no_gemfile_lock/ey.yml +3 -0
  150. data/spec/fixtures/repos/nodejs/README +1 -0
  151. data/spec/fixtures/repos/nodejs/package.json +7 -0
  152. data/spec/fixtures/repos/not_bundled/README +1 -0
  153. data/spec/fixtures/repos/npm_disabled/README +1 -0
  154. data/spec/fixtures/repos/npm_disabled/config/ey.yml +2 -0
  155. data/spec/fixtures/repos/npm_disabled/package.json +7 -0
  156. data/spec/fixtures/repos/php_composer_disabled/README +1 -0
  157. data/spec/fixtures/repos/php_composer_disabled/composer.json +5 -0
  158. data/spec/fixtures/repos/php_composer_disabled/composer.lock +462 -0
  159. data/spec/fixtures/repos/php_composer_disabled/config/ey.yml +2 -0
  160. data/spec/fixtures/repos/php_composer_disabled/public/index.php +4 -0
  161. data/spec/fixtures/repos/php_composer_lock/README +1 -0
  162. data/spec/fixtures/repos/php_composer_lock/composer.json +5 -0
  163. data/spec/fixtures/repos/php_composer_lock/composer.lock +462 -0
  164. data/spec/fixtures/repos/php_composer_lock/public/index.php +4 -0
  165. data/spec/fixtures/repos/php_no_composer_lock/README +1 -0
  166. data/spec/fixtures/repos/php_no_composer_lock/composer.json +21 -0
  167. data/spec/fixtures/repos/php_no_composer_lock/public/index.php +4 -0
  168. data/spec/fixtures/repos/public_system/Gemfile +4 -0
  169. data/spec/fixtures/repos/public_system/Gemfile.lock +12 -0
  170. data/spec/fixtures/repos/public_system/README +5 -0
  171. data/spec/fixtures/repos/public_system/ey.yml +3 -0
  172. data/spec/fixtures/repos/public_system/public/system/cant_touch_this.txt +3 -0
  173. data/spec/fixtures/repos/sqlite3/Gemfile +4 -0
  174. data/spec/fixtures/repos/sqlite3/Gemfile.lock +89 -0
  175. data/spec/fixtures/repos/sqlite3/README +1 -0
  176. data/spec/fixtures/retwisj.war +0 -0
  177. data/spec/fixtures/valid_hook.rb +1 -0
  178. data/spec/git_strategy_spec.rb +34 -0
  179. data/spec/lockfile_parser_spec.rb +122 -0
  180. data/spec/maintenance_spec.rb +44 -0
  181. data/spec/multi_dependency_manager_spec.rb +25 -0
  182. data/spec/nodejs_deploy_spec.rb +30 -0
  183. data/spec/php_deploy_spec.rb +81 -0
  184. data/spec/platform_configure_spec.rb +61 -0
  185. data/spec/rails31_deploy_spec.rb +164 -0
  186. data/spec/restart_spec.rb +43 -0
  187. data/spec/rollback_spec.rb +87 -0
  188. data/spec/server_spec.rb +70 -0
  189. data/spec/services_deploy_spec.rb +153 -0
  190. data/spec/shell_spec.rb +57 -0
  191. data/spec/source/archive_spec.rb +33 -0
  192. data/spec/source/git_spec.rb +44 -0
  193. data/spec/spec_helper.rb +355 -0
  194. data/spec/sqlite3_deploy_spec.rb +38 -0
  195. data/spec/support/integration.rb +103 -0
  196. data/spec/support/source_doubles.rb +28 -0
  197. data/spec/support/timecop.rb +5 -0
  198. data/spec/symlink_spec.rb +15 -0
  199. metadata +522 -184
  200. data/lib/engineyard-serverside/callbacks.rb +0 -11
  201. data/lib/engineyard-serverside/callbacks/collection.rb +0 -17
  202. data/lib/engineyard-serverside/callbacks/collection/base.rb +0 -94
  203. data/lib/engineyard-serverside/callbacks/collection/combined.rb +0 -45
  204. data/lib/engineyard-serverside/callbacks/collection/deploy_hooks.rb +0 -21
  205. data/lib/engineyard-serverside/callbacks/collection/service_hooks.rb +0 -17
  206. data/lib/engineyard-serverside/callbacks/collection/service_hooks/collection.rb +0 -24
  207. data/lib/engineyard-serverside/callbacks/collection/service_hooks/combined.rb +0 -40
  208. data/lib/engineyard-serverside/callbacks/distributor.rb +0 -23
  209. data/lib/engineyard-serverside/callbacks/distributor/base.rb +0 -38
  210. data/lib/engineyard-serverside/callbacks/distributor/executable.rb +0 -19
  211. data/lib/engineyard-serverside/callbacks/distributor/executable/runnable.rb +0 -41
  212. data/lib/engineyard-serverside/callbacks/distributor/executable/unrunnable.rb +0 -19
  213. data/lib/engineyard-serverside/callbacks/distributor/ruby.rb +0 -59
  214. data/lib/engineyard-serverside/callbacks/distributor/ruby/distributor.rb +0 -57
  215. data/lib/engineyard-serverside/callbacks/hooks/app.rb +0 -17
  216. data/lib/engineyard-serverside/callbacks/hooks/base.rb +0 -39
  217. data/lib/engineyard-serverside/callbacks/hooks/service.rb +0 -24
  218. data/lib/engineyard-serverside/callbacks/service_hook.rb +0 -20
  219. data/lib/engineyard-serverside/cli/app.rb +0 -136
  220. data/lib/engineyard-serverside/cli/helpers.rb +0 -58
  221. data/lib/engineyard-serverside/cli/server_hash_extractor.rb +0 -49
  222. data/lib/engineyard-serverside/cli/workflows.rb +0 -45
  223. data/lib/engineyard-serverside/cli/workflows/base.rb +0 -78
  224. data/lib/engineyard-serverside/cli/workflows/calling_deploy_hooks.rb +0 -31
  225. data/lib/engineyard-serverside/cli/workflows/deploying_applications.rb +0 -28
  226. data/lib/engineyard-serverside/cli/workflows/disabling_maintenance.rb +0 -29
  227. data/lib/engineyard-serverside/cli/workflows/enabling_maintenance.rb +0 -29
  228. data/lib/engineyard-serverside/cli/workflows/errors.rb +0 -13
  229. data/lib/engineyard-serverside/cli/workflows/helpers.rb +0 -21
  230. data/lib/engineyard-serverside/cli/workflows/integrating_servers.rb +0 -71
  231. data/lib/engineyard-serverside/cli/workflows/restarting_applications.rb +0 -36
  232. data/lib/engineyard-serverside/cli/workflows/rolling_back_applications.rb +0 -28
  233. data/lib/engineyard-serverside/cli/workflows/showing_maintenance_status.rb +0 -28
  234. data/lib/engineyard-serverside/deploy_hook/callback_context.rb +0 -77
  235. data/lib/engineyard-serverside/propagator.rb +0 -59
  236. data/lib/engineyard-serverside/slug.rb +0 -7
  237. data/lib/engineyard-serverside/slug/distributor.rb +0 -58
  238. data/lib/engineyard-serverside/slug/enabler.rb +0 -100
  239. data/lib/engineyard-serverside/slug/failure_handler.rb +0 -24
  240. data/lib/engineyard-serverside/slug/finalizer.rb +0 -86
  241. data/lib/engineyard-serverside/slug/generator.rb +0 -29
  242. data/lib/engineyard-serverside/slug/migrator.rb +0 -41
  243. data/lib/engineyard-serverside/slug/restarter.rb +0 -103
  244. data/lib/engineyard-serverside/slug/source.rb +0 -16
  245. data/lib/engineyard-serverside/slug/source/updater.rb +0 -194
  246. data/lib/railway.rb +0 -43
  247. data/lib/result.rb +0 -7
  248. data/lib/result/base.rb +0 -41
  249. data/lib/result/dsl.rb +0 -16
  250. data/lib/result/failure.rb +0 -29
  251. data/lib/result/success.rb +0 -24
  252. data/lib/runner.rb +0 -34
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+ require 'stringio'
3
+
4
+ describe EY::Serverside do
5
+ before do
6
+ @original_stderr = $stderr
7
+ @warnings = StringIO.new
8
+ $stderr = @warnings
9
+ end
10
+
11
+ after do
12
+ $stderr = @original_stderr
13
+ end
14
+
15
+ it "deprecates EY::Serverside::LoggedOutput for EY::Serverside::Shell::Helpers" do
16
+ expect(EY::Serverside::LoggedOutput).to eq(EY::Serverside::Shell::Helpers)
17
+ expect(@warnings.string).to include("EY::Serverside::LoggedOutput")
18
+ end
19
+
20
+ it "doesn't interfere with unrelated constants" do
21
+ expect{ EY::Serverside::WTFNotDefined }.to raise_error(NameError, /uninitialized constant.*WTFNotDefined/)
22
+ end
23
+ end
@@ -0,0 +1,99 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Deploying an app with ey.yml" do
4
+ context "--no-migrate" do
5
+ before(:all) do
6
+ deploy_test_application('ey_yml', 'migrate' => nil)
7
+ end
8
+
9
+ it "does not migrate even though ey.yml says migrate: true" do
10
+ expect(read_output).not_to match(/Migrating/)
11
+ end
12
+
13
+ it "does not enable the maintenance page at all" do
14
+ expect(deploy_dir.join('current','maintenance_disabled')).to exist
15
+ end
16
+ end
17
+
18
+
19
+ context "with migration" do
20
+ before(:all) do
21
+ deploy_test_application('ey_yml')
22
+ end
23
+
24
+ it "excludes copy_excludes from releases" do
25
+ cmd = @deployer.commands.grep(/rsync -aq/).first
26
+ expect(cmd).to include('rsync -aq --exclude=".git" --exclude="README"')
27
+ expect(deploy_dir.join('current', '.git')).not_to exist
28
+ expect(deploy_dir.join('current', 'README')).not_to exist
29
+ end
30
+
31
+ it "loads ey.yml at lower priority than command line options" do
32
+ expect(deploy_dir.join('current', 'REVISION').read).to eq("somebranch\n")
33
+ end
34
+
35
+ it "loads bundle_without from the config, which overrides the default (and 'defaults:' in ey.yml)" do
36
+ cmd = @deployer.commands.grep(/bundle _\S*_ install/).first
37
+ expect(cmd).to include('--without only test')
38
+ end
39
+
40
+ it "does not enable the maintenance page during migrations" do
41
+ expect(deploy_dir.join('current','maintenance_disabled')).to exist
42
+ expect(deploy_dir.join('current','maintenance_enabled')).not_to exist
43
+ end
44
+
45
+ it "does not remove an existing maintenance page" do
46
+ maintenance = EY::Serverside::Maintenance.new(test_servers, @config, test_shell)
47
+ deploy_dir.join('current','maintenance_disabled').delete
48
+ maintenance.manually_enable
49
+ expect(deploy_dir.join('shared','system','maintenance.html')).to exist
50
+ redeploy_test_application
51
+ expect(read_output).to match(/Maintenance page is still up./)
52
+ expect(deploy_dir.join('shared','system','maintenance.html')).to exist
53
+ expect(deploy_dir.join('current','maintenance_disabled')).not_to exist
54
+ expect(deploy_dir.join('current','maintenance_enabled')).to exist
55
+ maintenance.manually_disable
56
+ expect(deploy_dir.join('shared','system','maintenance.html')).not_to exist
57
+ end
58
+
59
+ it "makes custom variables available to hooks" do
60
+ expect(deploy_dir.join('current', 'custom_hook').read).to include("custom_from_ey_yml")
61
+ end
62
+
63
+ it "doesn't display the database adapter warning with ignore_database_adapter_warning: true" do
64
+ expect(read_output).not_to match(/WARNING/)
65
+ end
66
+ end
67
+
68
+ context "with a different ey.yml" do
69
+ before(:all) do
70
+ deploy_test_application('ey_yml_alt') do
71
+ deploy_dir.join('shared','config').mkpath
72
+ deploy_dir.join('shared','config','database.yml').open('w') { |f| f << 'something' }
73
+ end
74
+ end
75
+
76
+ it "always installs maintenance pages" do
77
+ expect(deploy_dir.join('current','maintenance_enabled')).to exist
78
+ expect(deploy_dir.join('current','maintenance_disabled')).not_to exist
79
+ end
80
+
81
+ it "displays the database adapter warning without ignore_database_adapter_warning" do
82
+ expect(read_output).to match(/WARNING: Gemfile.lock does not contain a recognized database adapter./)
83
+ end
84
+ end
85
+
86
+ context "with nodatabase.yml" do
87
+ before(:all) do
88
+ deploy_test_application('ey_yml_alt') do
89
+ deploy_dir.join('shared','config').mkpath
90
+ deploy_dir.join('shared','config','nodatabase.yml').open('w') { |f| f << 'something' }
91
+ end
92
+
93
+ end
94
+
95
+ it "doesn't display the database adapter warning" do
96
+ expect(read_output).not_to match(/WARNING: Gemfile.lock does not contain a recognized database adapter./)
97
+ end
98
+ end
99
+ end
File without changes
@@ -0,0 +1 @@
1
+ ^^^invalid ruby^^^
@@ -0,0 +1,111 @@
1
+ ---
2
+ dependencies:
3
+ ruby-debug:
4
+ group:
5
+ - :test
6
+ version: ">= 0"
7
+ fakeweb:
8
+ group:
9
+ - :test
10
+ version: ">= 0"
11
+ termios:
12
+ group:
13
+ - :default
14
+ version: ">= 0"
15
+ fakefs:
16
+ group:
17
+ - :test
18
+ version: ">= 0"
19
+ highline:
20
+ group:
21
+ - :default
22
+ version: ~> 1.5.2
23
+ rake:
24
+ group:
25
+ - :test
26
+ version: ">= 0"
27
+ realweb:
28
+ group:
29
+ - :test
30
+ version: ~> 0.1.6
31
+ escape:
32
+ group:
33
+ - :default
34
+ version: ~> 0.0.4
35
+ thor:
36
+ group:
37
+ - :default
38
+ version: ~> 0.13.6
39
+ rspec:
40
+ group:
41
+ - :test
42
+ version: ">= 0"
43
+ require:
44
+ - spec
45
+ sinatra:
46
+ group:
47
+ - :test
48
+ version: ">= 0"
49
+ json:
50
+ group:
51
+ - :default
52
+ version: ~> 1.4.0
53
+ rest-client:
54
+ group:
55
+ - :default
56
+ version: ~> 1.4
57
+ require:
58
+ - rest_client
59
+ fakeweb-matcher:
60
+ group:
61
+ - :test
62
+ version: ">= 0"
63
+ open4:
64
+ group:
65
+ - :test
66
+ version: ">= 0"
67
+ specs:
68
+ - rake:
69
+ version: 0.8.7
70
+ - columnize:
71
+ version: 0.3.1
72
+ - escape:
73
+ version: 0.0.4
74
+ - fakefs:
75
+ version: 0.2.1
76
+ - fakeweb:
77
+ version: 1.2.8
78
+ - rspec:
79
+ version: 1.3.0
80
+ - fakeweb-matcher:
81
+ version: 1.1.0
82
+ - highline:
83
+ version: 1.5.2
84
+ - json:
85
+ version: 1.4.3
86
+ - linecache:
87
+ version: "0.43"
88
+ - mime-types:
89
+ version: "1.16"
90
+ - open4:
91
+ version: 1.0.1
92
+ - rack:
93
+ version: 1.2.1
94
+ - realweb:
95
+ version: 0.1.6
96
+ - rest-client:
97
+ version: 1.5.1
98
+ - ruby-debug-base:
99
+ version: 0.10.3
100
+ - ruby-debug:
101
+ version: 0.10.3
102
+ - sinatra:
103
+ version: "1.0"
104
+ - termios:
105
+ version: 0.9.4
106
+ - thor:
107
+ version: 0.13.6
108
+ hash: fbfa26af5a1ec9a59367fdd0ea866373166d06f0
109
+ sources:
110
+ - Rubygems:
111
+ uri: http://gemcutter.org
@@ -0,0 +1,117 @@
1
+ ---
2
+ dependencies:
3
+ ruby-debug:
4
+ group:
5
+ - :test
6
+ version: ">= 0"
7
+ fakeweb:
8
+ group:
9
+ - :test
10
+ version: ">= 0"
11
+ termios:
12
+ group:
13
+ - :default
14
+ version: ">= 0"
15
+ fakefs:
16
+ group:
17
+ - :test
18
+ version: ">= 0"
19
+ highline:
20
+ group:
21
+ - :default
22
+ version: ~> 1.5.2
23
+ rake:
24
+ group:
25
+ - :test
26
+ version: ">= 0"
27
+ realweb:
28
+ group:
29
+ - :test
30
+ version: ~> 0.1.6
31
+ escape:
32
+ group:
33
+ - :default
34
+ version: ~> 0.0.4
35
+ thor:
36
+ group:
37
+ - :default
38
+ version: ~> 0.13.6
39
+ rspec:
40
+ group:
41
+ - :test
42
+ version: ">= 0"
43
+ require:
44
+ - spec
45
+ sinatra:
46
+ group:
47
+ - :test
48
+ version: ">= 0"
49
+ json:
50
+ group:
51
+ - :default
52
+ version: ~> 1.4.0
53
+ rest-client:
54
+ group:
55
+ - :default
56
+ version: ~> 1.4
57
+ require:
58
+ - rest_client
59
+ bundler:
60
+ group:
61
+ - :test
62
+ version: ">= 0"
63
+ fakeweb-matcher:
64
+ group:
65
+ - :test
66
+ version: ">= 0"
67
+ open4:
68
+ group:
69
+ - :test
70
+ version: ">= 0"
71
+ specs:
72
+ - rake:
73
+ version: 0.8.7
74
+ - bundler:
75
+ version: 0.9.24
76
+ - columnize:
77
+ version: 0.3.1
78
+ - escape:
79
+ version: 0.0.4
80
+ - fakefs:
81
+ version: 0.2.1
82
+ - fakeweb:
83
+ version: 1.2.8
84
+ - rspec:
85
+ version: 1.3.0
86
+ - fakeweb-matcher:
87
+ version: 1.1.0
88
+ - highline:
89
+ version: 1.5.2
90
+ - json:
91
+ version: 1.4.3
92
+ - linecache:
93
+ version: "0.43"
94
+ - mime-types:
95
+ version: "1.16"
96
+ - open4:
97
+ version: 1.0.1
98
+ - rack:
99
+ version: 1.2.1
100
+ - realweb:
101
+ version: 0.1.6
102
+ - rest-client:
103
+ version: 1.5.1
104
+ - ruby-debug-base:
105
+ version: 0.10.3
106
+ - ruby-debug:
107
+ version: 0.10.3
108
+ - sinatra:
109
+ version: "1.0"
110
+ - termios:
111
+ version: 0.9.4
112
+ - thor:
113
+ version: 0.13.6
114
+ hash: fbfa26af5a1ec9a59367fdd0ea866373166d06f0
115
+ sources:
116
+ - Rubygems:
117
+ uri: http://gemcutter.org
@@ -0,0 +1,54 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ columnize (0.3.1)
5
+ escape (0.0.4)
6
+ fakefs (0.2.1)
7
+ fakeweb (1.2.8)
8
+ fakeweb-matcher (1.1.0)
9
+ fakeweb (>= 1.2.5)
10
+ rspec (>= 1.2.0)
11
+ highline (1.5.2)
12
+ json (1.4.3)
13
+ json (1.4.3-x86-mingw32)
14
+ json (1.4.3-x86-mswin32)
15
+ linecache (0.43)
16
+ linecache (0.43-mswin32)
17
+ mime-types (1.16)
18
+ open4 (1.0.1)
19
+ rack (1.2.1)
20
+ rake (0.8.7)
21
+ realweb (0.1.6)
22
+ rack (>= 1.1.0)
23
+ rest-client (1.5.1)
24
+ mime-types (>= 1.16)
25
+ rspec (1.3.0)
26
+ ruby-debug (0.10.3)
27
+ columnize (>= 0.1)
28
+ ruby-debug-base (~> 0.10.3.0)
29
+ ruby-debug-base (0.10.3)
30
+ linecache (>= 0.3)
31
+ sinatra (1.0)
32
+ rack (>= 1.0)
33
+ termios (0.9.4)
34
+ thor (0.13.6)
35
+
36
+ PLATFORMS
37
+ ruby
38
+
39
+ DEPENDENCIES
40
+ escape (~> 0.0.4)
41
+ fakefs
42
+ fakeweb
43
+ fakeweb-matcher
44
+ highline (~> 1.5.2)
45
+ json (~> 1.4.0)
46
+ open4
47
+ rake
48
+ realweb (~> 0.1.6)
49
+ rest-client (~> 1.4)
50
+ rspec
51
+ ruby-debug
52
+ sinatra
53
+ termios
54
+ thor (~> 0.13.6)
@@ -0,0 +1,162 @@
1
+ GIT
2
+ remote: git://github.com/bensie/aws-s3.git
3
+ revision: 00831fe
4
+ specs:
5
+ aws-s3 (0.6.2)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ abstract (1.0.0)
11
+ actionmailer (3.0.0.rc)
12
+ actionpack (= 3.0.0.rc)
13
+ mail (~> 2.2.5)
14
+ actionpack (3.0.0.rc)
15
+ activemodel (= 3.0.0.rc)
16
+ activesupport (= 3.0.0.rc)
17
+ builder (~> 2.1.2)
18
+ erubis (~> 2.6.6)
19
+ i18n (~> 0.4.1)
20
+ rack (~> 1.2.1)
21
+ rack-mount (~> 0.6.9)
22
+ rack-test (~> 0.5.4)
23
+ tzinfo (~> 0.3.22)
24
+ activemodel (3.0.0.rc)
25
+ activesupport (= 3.0.0.rc)
26
+ builder (~> 2.1.2)
27
+ i18n (~> 0.4.1)
28
+ activerecord (3.0.0.rc)
29
+ activemodel (= 3.0.0.rc)
30
+ activesupport (= 3.0.0.rc)
31
+ arel (~> 0.4.0)
32
+ tzinfo (~> 0.3.22)
33
+ activeresource (3.0.0.rc)
34
+ activemodel (= 3.0.0.rc)
35
+ activesupport (= 3.0.0.rc)
36
+ activesupport (3.0.0.rc)
37
+ acts_as_list (0.1.2)
38
+ acts_as_tree (0.1.1)
39
+ arel (0.4.0)
40
+ activesupport (>= 3.0.0.beta)
41
+ bcrypt-ruby (2.1.2)
42
+ builder (2.1.2)
43
+ configuration (1.1.0)
44
+ daemons (1.1.0)
45
+ delayed_job (2.0.3)
46
+ daemons
47
+ devise (1.1.1)
48
+ bcrypt-ruby (~> 2.1.2)
49
+ warden (~> 0.10.7)
50
+ erubis (2.6.6)
51
+ abstract (>= 1.0.0)
52
+ escape (0.0.4)
53
+ exifr (1.0.1)
54
+ factory_girl (1.3.1)
55
+ factory_girl_rails (1.0)
56
+ factory_girl (~> 1.3)
57
+ rails (>= 3.0.0.beta4)
58
+ haml (3.0.14)
59
+ heroku (1.9.11)
60
+ json_pure (>= 1.2.0, < 1.5.0)
61
+ launchy (~> 0.3.2)
62
+ rest-client (~> 1.4.0)
63
+ hoptoad_notifier (2.3.2)
64
+ activesupport
65
+ i18n (0.4.1)
66
+ json_pure (1.4.3)
67
+ launchy (0.3.7)
68
+ configuration (>= 0.0.5)
69
+ rake (>= 0.8.1)
70
+ less (1.2.21)
71
+ mutter (>= 0.4.2)
72
+ treetop (>= 1.4.2)
73
+ liquid (2.1.2)
74
+ mail (2.2.5)
75
+ activesupport (>= 2.3.6)
76
+ mime-types
77
+ treetop (>= 1.4.5)
78
+ mime-types (1.16)
79
+ mutter (0.5.3)
80
+ mysql (2.8.1)
81
+ paperclip (2.3.3)
82
+ activerecord
83
+ activesupport
84
+ permalink_fu (1.0.0)
85
+ polyglot (0.3.1)
86
+ rack (1.2.1)
87
+ rack-mount (0.6.9)
88
+ rack (>= 1.0.0)
89
+ rack-test (0.5.4)
90
+ rack (>= 1.0)
91
+ rails (3.0.0.rc)
92
+ actionmailer (= 3.0.0.rc)
93
+ actionpack (= 3.0.0.rc)
94
+ activerecord (= 3.0.0.rc)
95
+ activeresource (= 3.0.0.rc)
96
+ activesupport (= 3.0.0.rc)
97
+ bundler (>= 1.0.0.rc.1)
98
+ railties (= 3.0.0.rc)
99
+ railties (3.0.0.rc)
100
+ actionpack (= 3.0.0.rc)
101
+ activesupport (= 3.0.0.rc)
102
+ rake (>= 0.8.3)
103
+ thor (~> 0.14.0)
104
+ rake (0.8.7)
105
+ redis (2.0.3)
106
+ refraction (0.2.0)
107
+ rest-client (1.4.2)
108
+ mime-types (>= 1.16)
109
+ rsolr (0.12.1)
110
+ builder (>= 2.1.2)
111
+ shoulda (2.11.1)
112
+ sinatra (1.0)
113
+ rack (>= 1.0)
114
+ sunspot (1.1.0)
115
+ escape (= 0.0.4)
116
+ rsolr (= 0.12.1)
117
+ sunspot_rails (1.1.0)
118
+ sunspot (= 1.1.0)
119
+ thor (0.14.0)
120
+ treetop (1.4.8)
121
+ polyglot (>= 0.3.1)
122
+ tzinfo (0.3.22)
123
+ vestal_versions (1.0.2)
124
+ activerecord (>= 2.1.0)
125
+ warden (0.10.7)
126
+ rack (>= 1.0.0)
127
+ will_paginate (3.0.pre2)
128
+ xml-simple (1.0.12)
129
+
130
+ PLATFORMS
131
+ ruby
132
+
133
+ DEPENDENCIES
134
+ acts_as_list (= 0.1.2)
135
+ acts_as_tree (= 0.1.1)
136
+ aws-s3 (= 0.6.2)!
137
+ builder
138
+ bundler (= 1.0.0.rc.1)
139
+ delayed_job (= 2.0.3)
140
+ devise (= 1.1.1)
141
+ exifr (= 1.0.1)
142
+ factory_girl_rails (= 1.0)
143
+ haml (= 3.0.14)
144
+ heroku (= 1.9.11)
145
+ hoptoad_notifier (= 2.3.2)
146
+ less (= 1.2.21)
147
+ liquid (= 2.1.2)
148
+ mime-types (= 1.16)
149
+ mysql (= 2.8.1)
150
+ paperclip (= 2.3.3)
151
+ permalink_fu (= 1.0.0)
152
+ rails (= 3.0.0.rc)
153
+ redis (= 2.0.3)
154
+ refraction (= 0.2.0)
155
+ rsolr (= 0.12.1)
156
+ shoulda (= 2.11.1)
157
+ sinatra (= 1.0)
158
+ sunspot (= 1.1.0)
159
+ sunspot_rails (= 1.1.0)
160
+ vestal_versions (= 1.0.2)
161
+ will_paginate (= 3.0.pre2)
162
+ xml-simple