engineyard-serverside 2.8.0.pre → 2.8.0.pre2

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.
Files changed (202) hide show
  1. checksums.yaml +7 -0
  2. data/bin/engineyard-serverside-execute-service-hook +1 -1
  3. data/lib/engineyard-serverside/version.rb +1 -1
  4. metadata +208 -577
  5. data/spec/archive_deploy_spec.rb +0 -53
  6. data/spec/basic_deploy_spec.rb +0 -26
  7. data/spec/bundler_deploy_spec.rb +0 -160
  8. data/spec/configuration_spec.rb +0 -206
  9. data/spec/custom_deploy_spec.rb +0 -128
  10. data/spec/deploy_hook_spec.rb +0 -378
  11. data/spec/deprecation_spec.rb +0 -23
  12. data/spec/ey_yml_customized_deploy_spec.rb +0 -99
  13. data/spec/fixtures/gitrepo.tar.gz +0 -0
  14. data/spec/fixtures/invalid_hook.rb +0 -1
  15. data/spec/fixtures/lockfiles/0.9-no-bundler +0 -111
  16. data/spec/fixtures/lockfiles/0.9-with-bundler +0 -117
  17. data/spec/fixtures/lockfiles/1.0-no-bundler +0 -54
  18. data/spec/fixtures/lockfiles/1.0.0.rc.1-with-bundler +0 -162
  19. data/spec/fixtures/lockfiles/1.0.18-do_mysql +0 -88
  20. data/spec/fixtures/lockfiles/1.0.18-do_postgres +0 -79
  21. data/spec/fixtures/lockfiles/1.0.18-mysql +0 -43
  22. data/spec/fixtures/lockfiles/1.0.18-mysql2 +0 -43
  23. data/spec/fixtures/lockfiles/1.0.18-pg +0 -43
  24. data/spec/fixtures/lockfiles/1.0.6-no-bundler +0 -51
  25. data/spec/fixtures/lockfiles/1.0.6-with-any-bundler +0 -52
  26. data/spec/fixtures/lockfiles/1.0.6-with-bundler +0 -52
  27. data/spec/fixtures/lockfiles/1.15.1-no-bundler +0 -51
  28. data/spec/fixtures/lockfiles/1.3.1-rails-3.2.13 +0 -112
  29. data/spec/fixtures/lockfiles/not-a-lockfile +0 -1
  30. data/spec/fixtures/repos/assets_detected/Gemfile +0 -5
  31. data/spec/fixtures/repos/assets_detected/Gemfile.lock +0 -88
  32. data/spec/fixtures/repos/assets_detected/README +0 -1
  33. data/spec/fixtures/repos/assets_detected/Rakefile +0 -5
  34. data/spec/fixtures/repos/assets_detected/app/assets/empty +0 -0
  35. data/spec/fixtures/repos/assets_detected/config/application.rb +0 -5
  36. data/spec/fixtures/repos/assets_detected/config/ey.yml +0 -3
  37. data/spec/fixtures/repos/assets_disabled/Gemfile +0 -5
  38. data/spec/fixtures/repos/assets_disabled/Gemfile.lock +0 -88
  39. data/spec/fixtures/repos/assets_disabled/README +0 -1
  40. data/spec/fixtures/repos/assets_disabled/Rakefile +0 -6
  41. data/spec/fixtures/repos/assets_disabled/app/assets/empty +0 -0
  42. data/spec/fixtures/repos/assets_disabled/config/application.rb +0 -5
  43. data/spec/fixtures/repos/assets_disabled/config/ey.yml +0 -3
  44. data/spec/fixtures/repos/assets_disabled_in_ey_yml/Gemfile +0 -5
  45. data/spec/fixtures/repos/assets_disabled_in_ey_yml/Gemfile.lock +0 -88
  46. data/spec/fixtures/repos/assets_disabled_in_ey_yml/README +0 -1
  47. data/spec/fixtures/repos/assets_disabled_in_ey_yml/Rakefile +0 -6
  48. data/spec/fixtures/repos/assets_disabled_in_ey_yml/app/assets/empty +0 -0
  49. data/spec/fixtures/repos/assets_disabled_in_ey_yml/config/application.rb +0 -5
  50. data/spec/fixtures/repos/assets_disabled_in_ey_yml/config/ey.yml +0 -5
  51. data/spec/fixtures/repos/assets_disabled_utf8/Gemfile +0 -5
  52. data/spec/fixtures/repos/assets_disabled_utf8/Gemfile.lock +0 -88
  53. data/spec/fixtures/repos/assets_disabled_utf8/README +0 -3
  54. data/spec/fixtures/repos/assets_disabled_utf8/Rakefile +0 -5
  55. data/spec/fixtures/repos/assets_disabled_utf8/app/assets/empty +0 -0
  56. data/spec/fixtures/repos/assets_disabled_utf8/config/application.rb +0 -7
  57. data/spec/fixtures/repos/assets_disabled_utf8/config/ey.yml +0 -3
  58. data/spec/fixtures/repos/assets_enabled_all/Gemfile +0 -5
  59. data/spec/fixtures/repos/assets_enabled_all/Gemfile.lock +0 -88
  60. data/spec/fixtures/repos/assets_enabled_all/README +0 -1
  61. data/spec/fixtures/repos/assets_enabled_all/app/assets/empty +0 -0
  62. data/spec/fixtures/repos/assets_enabled_all/config/application.rb +0 -5
  63. data/spec/fixtures/repos/assets_enabled_all/config/ey.yml +0 -6
  64. data/spec/fixtures/repos/assets_enabled_all/script/assets +0 -5
  65. data/spec/fixtures/repos/assets_enabled_all/tmp/obstruction +0 -1
  66. data/spec/fixtures/repos/assets_enabled_in_ey_yml/Gemfile +0 -3
  67. data/spec/fixtures/repos/assets_enabled_in_ey_yml/Gemfile.lock +0 -10
  68. data/spec/fixtures/repos/assets_enabled_in_ey_yml/README +0 -1
  69. data/spec/fixtures/repos/assets_enabled_in_ey_yml/Rakefile +0 -8
  70. data/spec/fixtures/repos/assets_enabled_in_ey_yml/config/ey.yml +0 -4
  71. data/spec/fixtures/repos/assets_enabled_util_only/Gemfile +0 -5
  72. data/spec/fixtures/repos/assets_enabled_util_only/Gemfile.lock +0 -88
  73. data/spec/fixtures/repos/assets_enabled_util_only/README +0 -1
  74. data/spec/fixtures/repos/assets_enabled_util_only/Rakefile +0 -6
  75. data/spec/fixtures/repos/assets_enabled_util_only/app/assets/empty +0 -0
  76. data/spec/fixtures/repos/assets_enabled_util_only/config/application.rb +0 -5
  77. data/spec/fixtures/repos/assets_enabled_util_only/config/ey.yml +0 -6
  78. data/spec/fixtures/repos/assets_error/Gemfile +0 -5
  79. data/spec/fixtures/repos/assets_error/Gemfile.lock +0 -88
  80. data/spec/fixtures/repos/assets_error/README +0 -1
  81. data/spec/fixtures/repos/assets_error/Rakefile +0 -4
  82. data/spec/fixtures/repos/assets_error/app/assets/empty +0 -0
  83. data/spec/fixtures/repos/assets_error/config/application.rb +0 -5
  84. data/spec/fixtures/repos/assets_error/config/ey.yml +0 -4
  85. data/spec/fixtures/repos/assets_in_hook/Gemfile +0 -5
  86. data/spec/fixtures/repos/assets_in_hook/Gemfile.lock +0 -88
  87. data/spec/fixtures/repos/assets_in_hook/README +0 -2
  88. data/spec/fixtures/repos/assets_in_hook/Rakefile +0 -5
  89. data/spec/fixtures/repos/assets_in_hook/app/assets/empty +0 -0
  90. data/spec/fixtures/repos/assets_in_hook/config/application.rb +0 -5
  91. data/spec/fixtures/repos/assets_in_hook/config/ey.yml +0 -3
  92. data/spec/fixtures/repos/assets_in_hook/deploy/before_compile_assets.rb +0 -2
  93. data/spec/fixtures/repos/bundle_fails/Gemfile +0 -1
  94. data/spec/fixtures/repos/bundle_fails/README +0 -1
  95. data/spec/fixtures/repos/bundle_fails/deploy/after_bundle.rb +0 -1
  96. data/spec/fixtures/repos/bundler_disabled/Gemfile +0 -4
  97. data/spec/fixtures/repos/bundler_disabled/Gemfile.lock +0 -12
  98. data/spec/fixtures/repos/bundler_disabled/README +0 -1
  99. data/spec/fixtures/repos/bundler_disabled/config/ey.yml +0 -2
  100. data/spec/fixtures/repos/bundler_disabled/deploy/after_bundle.rb +0 -1
  101. data/spec/fixtures/repos/bundler_disabled/deploy/before_bundle.rb +0 -1
  102. data/spec/fixtures/repos/bundler_old/Gemfile +0 -5
  103. data/spec/fixtures/repos/bundler_old/Gemfile.lock +0 -15
  104. data/spec/fixtures/repos/bundler_old/README +0 -1
  105. data/spec/fixtures/repos/default/Gemfile +0 -4
  106. data/spec/fixtures/repos/default/Gemfile.lock +0 -12
  107. data/spec/fixtures/repos/default/README +0 -5
  108. data/spec/fixtures/repos/default/ey.yml +0 -3
  109. data/spec/fixtures/repos/executable_hooks/README +0 -1
  110. data/spec/fixtures/repos/executable_hooks/deploy/before_restart +0 -72
  111. data/spec/fixtures/repos/executable_hooks_not_executable/README +0 -3
  112. data/spec/fixtures/repos/executable_hooks_not_executable/deploy/before_restart +0 -3
  113. data/spec/fixtures/repos/ey_yml/Gemfile +0 -4
  114. data/spec/fixtures/repos/ey_yml/Gemfile.lock +0 -12
  115. data/spec/fixtures/repos/ey_yml/README +0 -1
  116. data/spec/fixtures/repos/ey_yml/config/ey.yml +0 -18
  117. data/spec/fixtures/repos/ey_yml/deploy/before_migrate.rb +0 -6
  118. data/spec/fixtures/repos/ey_yml_alt/Gemfile +0 -4
  119. data/spec/fixtures/repos/ey_yml_alt/Gemfile.lock +0 -12
  120. data/spec/fixtures/repos/ey_yml_alt/README +0 -1
  121. data/spec/fixtures/repos/ey_yml_alt/deploy/before_migrate.rb +0 -6
  122. data/spec/fixtures/repos/ey_yml_alt/ey.yml +0 -12
  123. data/spec/fixtures/repos/hook_fails/README +0 -1
  124. data/spec/fixtures/repos/hook_fails/deploy/before_deploy.rb +0 -1
  125. data/spec/fixtures/repos/hooks/README +0 -1
  126. data/spec/fixtures/repos/hooks/deploy/after_bundle.rb +0 -1
  127. data/spec/fixtures/repos/hooks/deploy/after_compile_assets.rb +0 -1
  128. data/spec/fixtures/repos/hooks/deploy/after_deploy.rb +0 -1
  129. data/spec/fixtures/repos/hooks/deploy/after_migrate.rb +0 -1
  130. data/spec/fixtures/repos/hooks/deploy/after_restart.rb +0 -1
  131. data/spec/fixtures/repos/hooks/deploy/after_symlink.rb +0 -1
  132. data/spec/fixtures/repos/hooks/deploy/before_bundle.rb +0 -1
  133. data/spec/fixtures/repos/hooks/deploy/before_compile_assets.rb +0 -1
  134. data/spec/fixtures/repos/hooks/deploy/before_deploy.rb +0 -1
  135. data/spec/fixtures/repos/hooks/deploy/before_migrate.rb +0 -1
  136. data/spec/fixtures/repos/hooks/deploy/before_restart.rb +0 -1
  137. data/spec/fixtures/repos/hooks/deploy/before_symlink.rb +0 -1
  138. data/spec/fixtures/repos/multi_dep_manager/README +0 -1
  139. data/spec/fixtures/repos/multi_dep_manager/composer.json +0 -5
  140. data/spec/fixtures/repos/multi_dep_manager/composer.lock +0 -462
  141. data/spec/fixtures/repos/multi_dep_manager/package.json +0 -7
  142. data/spec/fixtures/repos/multi_dep_manager/public/index.php +0 -4
  143. data/spec/fixtures/repos/no_ey_config/Gemfile +0 -3
  144. data/spec/fixtures/repos/no_ey_config/Gemfile.lock +0 -10
  145. data/spec/fixtures/repos/no_ey_config/README +0 -1
  146. data/spec/fixtures/repos/no_ey_config/ey.yml +0 -3
  147. data/spec/fixtures/repos/no_ey_config_no_warning/Gemfile +0 -3
  148. data/spec/fixtures/repos/no_ey_config_no_warning/Gemfile.lock +0 -10
  149. data/spec/fixtures/repos/no_ey_config_no_warning/README +0 -1
  150. data/spec/fixtures/repos/no_ey_config_no_warning/ey.yml +0 -5
  151. data/spec/fixtures/repos/no_gemfile_lock/Gemfile +0 -4
  152. data/spec/fixtures/repos/no_gemfile_lock/README +0 -1
  153. data/spec/fixtures/repos/no_gemfile_lock/ey.yml +0 -3
  154. data/spec/fixtures/repos/nodejs/README +0 -1
  155. data/spec/fixtures/repos/nodejs/package.json +0 -7
  156. data/spec/fixtures/repos/not_bundled/README +0 -1
  157. data/spec/fixtures/repos/npm_disabled/README +0 -1
  158. data/spec/fixtures/repos/npm_disabled/config/ey.yml +0 -2
  159. data/spec/fixtures/repos/npm_disabled/package.json +0 -7
  160. data/spec/fixtures/repos/php_composer_disabled/README +0 -1
  161. data/spec/fixtures/repos/php_composer_disabled/composer.json +0 -5
  162. data/spec/fixtures/repos/php_composer_disabled/composer.lock +0 -462
  163. data/spec/fixtures/repos/php_composer_disabled/config/ey.yml +0 -2
  164. data/spec/fixtures/repos/php_composer_disabled/public/index.php +0 -4
  165. data/spec/fixtures/repos/php_composer_lock/README +0 -1
  166. data/spec/fixtures/repos/php_composer_lock/composer.json +0 -5
  167. data/spec/fixtures/repos/php_composer_lock/composer.lock +0 -462
  168. data/spec/fixtures/repos/php_composer_lock/public/index.php +0 -4
  169. data/spec/fixtures/repos/php_no_composer_lock/README +0 -1
  170. data/spec/fixtures/repos/php_no_composer_lock/composer.json +0 -21
  171. data/spec/fixtures/repos/php_no_composer_lock/public/index.php +0 -4
  172. data/spec/fixtures/repos/public_system/Gemfile +0 -4
  173. data/spec/fixtures/repos/public_system/Gemfile.lock +0 -12
  174. data/spec/fixtures/repos/public_system/README +0 -5
  175. data/spec/fixtures/repos/public_system/ey.yml +0 -3
  176. data/spec/fixtures/repos/public_system/public/system/cant_touch_this.txt +0 -3
  177. data/spec/fixtures/repos/sqlite3/Gemfile +0 -4
  178. data/spec/fixtures/repos/sqlite3/Gemfile.lock +0 -89
  179. data/spec/fixtures/repos/sqlite3/README +0 -1
  180. data/spec/fixtures/retwisj.war +0 -0
  181. data/spec/fixtures/valid_hook.rb +0 -1
  182. data/spec/git_strategy_spec.rb +0 -34
  183. data/spec/lockfile_parser_spec.rb +0 -126
  184. data/spec/maintenance_spec.rb +0 -44
  185. data/spec/multi_dependency_manager_spec.rb +0 -25
  186. data/spec/nodejs_deploy_spec.rb +0 -30
  187. data/spec/php_deploy_spec.rb +0 -81
  188. data/spec/platform_configure_spec.rb +0 -61
  189. data/spec/rails31_deploy_spec.rb +0 -172
  190. data/spec/restart_spec.rb +0 -43
  191. data/spec/rollback_spec.rb +0 -87
  192. data/spec/server_spec.rb +0 -70
  193. data/spec/services_deploy_spec.rb +0 -165
  194. data/spec/shell_spec.rb +0 -57
  195. data/spec/source/archive_spec.rb +0 -33
  196. data/spec/source/git_spec.rb +0 -44
  197. data/spec/spec_helper.rb +0 -361
  198. data/spec/sqlite3_deploy_spec.rb +0 -38
  199. data/spec/support/integration.rb +0 -103
  200. data/spec/support/source_doubles.rb +0 -28
  201. data/spec/support/timecop.rb +0 -5
  202. data/spec/symlink_spec.rb +0 -15
@@ -1,4 +0,0 @@
1
- <?php
2
-
3
- echo "Hello, world!";
4
-
@@ -1 +0,0 @@
1
- Simple PHP Composer app.
@@ -1,21 +0,0 @@
1
- {
2
- "repositories": [
3
- {
4
- "type": "vcs",
5
- "url": "https://github.com/zendframework/ZendDeveloperTools"
6
- },
7
- {
8
- "type": "vcs",
9
- "url": "https://github.com/dshafik/roleuserbridge"
10
- }
11
- ],
12
- "require": {
13
- "php": ">=5.4.0",
14
- "zendframework/zendframework": "2.1.*",
15
- "bjyoungblood/bjy-authorize": "1.2.*",
16
- "zf-commons/zfc-user": "0.1.*",
17
- "zendframework/zend-developer-tools": "dev-master",
18
- "bjyoungblood/bjy-profiler": "dev-master",
19
- "darkmatus/roleuserbridge": "dev-master"
20
- }
21
- }
@@ -1,4 +0,0 @@
1
- <?php
2
-
3
- echo "Hello, world!";
4
-
@@ -1,4 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rake'
4
- gem 'ey_config'
@@ -1,12 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- ey_config (0.0.5)
5
- rake (0.9.2.2)
6
-
7
- PLATFORMS
8
- ruby
9
-
10
- DEPENDENCIES
11
- ey_config
12
- rake
@@ -1,5 +0,0 @@
1
- This is a simple bundled fake app for specs.
2
-
3
- All the files in this directory are copied into a temporary git repository
4
- during spec runs. The rest of the "git repository" stuff comes from
5
- gitrepo.tar.gz which is copied first to create the repo.
@@ -1,3 +0,0 @@
1
- environments:
2
- env:
3
- ignore_database_adapter_warning: true
@@ -1,3 +0,0 @@
1
- This file should not be removed by serverside during a deploy.
2
-
3
- If public/system exists in the repository, leave it alone and warn.
@@ -1,4 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rails', '3.1.3'
4
- gem 'sqlite3'
@@ -1,89 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- actionmailer (3.1.3)
5
- actionpack (= 3.1.3)
6
- mail (~> 2.3.0)
7
- actionpack (3.1.3)
8
- activemodel (= 3.1.3)
9
- activesupport (= 3.1.3)
10
- builder (~> 3.0.0)
11
- erubis (~> 2.7.0)
12
- i18n (~> 0.6)
13
- rack (~> 1.3.5)
14
- rack-cache (~> 1.1)
15
- rack-mount (~> 0.8.2)
16
- rack-test (~> 0.6.1)
17
- sprockets (~> 2.0.3)
18
- activemodel (3.1.3)
19
- activesupport (= 3.1.3)
20
- builder (~> 3.0.0)
21
- i18n (~> 0.6)
22
- activerecord (3.1.3)
23
- activemodel (= 3.1.3)
24
- activesupport (= 3.1.3)
25
- arel (~> 2.2.1)
26
- tzinfo (~> 0.3.29)
27
- activeresource (3.1.3)
28
- activemodel (= 3.1.3)
29
- activesupport (= 3.1.3)
30
- activesupport (3.1.3)
31
- multi_json (~> 1.0)
32
- arel (2.2.1)
33
- builder (3.0.0)
34
- erubis (2.7.0)
35
- hike (1.2.1)
36
- i18n (0.6.0)
37
- json (1.6.5)
38
- mail (2.3.0)
39
- i18n (>= 0.4.0)
40
- mime-types (~> 1.16)
41
- treetop (~> 1.4.8)
42
- mime-types (1.17.2)
43
- multi_json (1.0.4)
44
- polyglot (0.3.3)
45
- rack (1.3.6)
46
- rack-cache (1.1)
47
- rack (>= 0.4)
48
- rack-mount (0.8.3)
49
- rack (>= 1.0.0)
50
- rack-ssl (1.3.2)
51
- rack
52
- rack-test (0.6.1)
53
- rack (>= 1.0)
54
- rails (3.1.3)
55
- actionmailer (= 3.1.3)
56
- actionpack (= 3.1.3)
57
- activerecord (= 3.1.3)
58
- activeresource (= 3.1.3)
59
- activesupport (= 3.1.3)
60
- bundler (~> 1.0)
61
- railties (= 3.1.3)
62
- railties (3.1.3)
63
- actionpack (= 3.1.3)
64
- activesupport (= 3.1.3)
65
- rack-ssl (~> 1.3.2)
66
- rake (>= 0.8.7)
67
- rdoc (~> 3.4)
68
- thor (~> 0.14.6)
69
- rake (0.9.2.2)
70
- rdoc (3.12)
71
- json (~> 1.4)
72
- sprockets (2.0.3)
73
- hike (~> 1.2)
74
- rack (~> 1.0)
75
- tilt (~> 1.1, != 1.3.0)
76
- sqlite3 (1.3.5)
77
- thor (0.14.6)
78
- tilt (1.3.3)
79
- treetop (1.4.10)
80
- polyglot
81
- polyglot (>= 0.3.1)
82
- tzinfo (0.3.31)
83
-
84
- PLATFORMS
85
- ruby
86
-
87
- DEPENDENCIES
88
- rails (= 3.1.3)
89
- sqlite3
@@ -1 +0,0 @@
1
- This repo uses sqlite3 gem instead of the usual database adapters.
Binary file
@@ -1 +0,0 @@
1
- run("true")
@@ -1,34 +0,0 @@
1
- require 'spec_helper'
2
-
3
- class EY::Serverside::Source::Git
4
- def fetch_command
5
- "mkdir -p #{source_cache} && tar xzf #{FIXTURES_DIR.join('gitrepo.tar.gz')} --strip-components 1 -C #{source_cache}"
6
- end
7
- end
8
-
9
- describe EY::Serverside::Source::Git do
10
- before do
11
- @source_cache = tmpdir.join("gitrepo-#{Time.now.utc.strftime("%Y%m%d%H%M%S")}-#{$$}")
12
- end
13
-
14
-
15
- it "#update_repository_cache returns true for branches that exist" do
16
- git = EY::Serverside::Source::Git.new(
17
- test_shell,
18
- :uri => FIXTURES_DIR.join('repos','default'),
19
- :repository_cache => @source_cache,
20
- :ref => "somebranch"
21
- )
22
- git.update_repository_cache
23
- end
24
-
25
- it "#update_repository_cache returns false for branches that do not exist" do
26
- git = EY::Serverside::Source::Git.new(
27
- test_shell,
28
- :uri => FIXTURES_DIR.join('repos','default'),
29
- :repository_cache => @source_cache,
30
- :ref => "notabranch"
31
- )
32
- expect { git.update_repository_cache }.to raise_error
33
- end
34
- end
@@ -1,126 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe "the bundler version retrieved from the lockfile" do
4
- def load_lockfile(file)
5
- File.read(File.expand_path("../fixtures/lockfiles/#{file}", __FILE__))
6
- end
7
-
8
- def get_parser(file)
9
- EY::Serverside::DependencyManager::Bundler::Lockfile.new(load_lockfile(file))
10
- end
11
-
12
- def get_version(file)
13
- get_parser(file).bundler_version
14
- end
15
-
16
- it "raises an error with pre 0.9 bundler lockfiles" do
17
- expect { get_version('0.9-no-bundler') }.to raise_error(RuntimeError, /Malformed or pre bundler-1.0.0 Gemfile.lock/)
18
- expect { get_version('0.9-with-bundler') }.to raise_error(RuntimeError, /Malformed or pre bundler-1.0.0 Gemfile.lock/)
19
- end
20
-
21
- it "has a default version" do
22
- expect(EY::Serverside::DependencyManager::Bundler.default_version).not_to be_nil
23
- expect(EY::Serverside::DependencyManager::Bundler::DEFAULT_VERSION).not_to be_nil
24
- end
25
-
26
- it "returns the default version for a 1.0 lockfile without a bundler dependency" do
27
- expect(get_version('1.0-no-bundler')).to eq(EY::Serverside::DependencyManager::Bundler.default_version)
28
- end
29
-
30
- it "gets the version from a 1.0.0.rc.1 lockfile w/dependency on 1.0.0.rc.1" do
31
- expect(get_version('1.0.0.rc.1-with-bundler')).to eq('1.0.0.rc.1')
32
- end
33
-
34
- it "gets the version from a 1.0.6 lockfile w/dependency on 1.0.6" do
35
- expect(get_version('1.0.6-with-bundler')).to eq('1.0.6')
36
- end
37
-
38
- it "gets the version from a 1.0.6 lockfile w/dependency on 1.0.6 (bundled ~> 1.0.0)" do
39
- expect(get_version('1.0.6-with-any-bundler')).to eq('1.0.6')
40
- end
41
-
42
- it "gets the version from a 1.0.6 lockfile w/o dependency" do
43
- expect(get_version('1.0.6-no-bundler')).to eq('1.0.6')
44
- end
45
-
46
- it "gets the version from a 1.15.1 lockfile w/o dependency" do
47
- expect(get_version('1.15.1-no-bundler')).to eq('1.15.1')
48
- end
49
-
50
- it "raises an error if it can't parse the file" do
51
- expect { get_version('not-a-lockfile') }.to raise_error(RuntimeError, /Malformed or pre bundler-1.0.0 Gemfile.lock/)
52
- end
53
-
54
- context "rails version" do
55
- it "retrieves rails version" do
56
- expect(get_parser('1.3.1-rails-3.2.13').rails_version).to eq("3.2.13")
57
- end
58
-
59
- it "finds no rails version" do
60
- expect(get_parser('1.0.18-mysql2').rails_version).to eq(nil)
61
- end
62
- end
63
-
64
- context "checking for gems in the dependencies" do
65
- it "does not have any database adapters in a gemfile lock without them" do
66
- expect(get_parser('1.0.6-no-bundler').any_database_adapter?).to be_falsey
67
- end
68
-
69
- it "has a database adapter in a Gemfile.lock with do_mysql" do
70
- expect(get_parser('1.0.18-do_mysql').any_database_adapter?).to be_truthy
71
- end
72
-
73
- it "has a database adapter in a Gemfile.lock with mysql" do
74
- expect(get_parser('1.0.18-mysql').any_database_adapter?).to be_truthy
75
- end
76
-
77
- it "has a database adapter in a Gemfile.lock with mysql2" do
78
- expect(get_parser('1.0.18-mysql2').any_database_adapter?).to be_truthy
79
- end
80
-
81
- it "has a database adapter in a Gemfile.lock with pg" do
82
- expect(get_parser('1.0.18-pg').any_database_adapter?).to be_truthy
83
- end
84
-
85
- it "has a database adapter in a Gemfile.lock with do_postgres" do
86
- expect(get_parser('1.0.18-do_postgres').any_database_adapter?).to be_truthy
87
- end
88
- end
89
-
90
- context "fetching the right version number" do
91
- subject { get_parser('1.0.6-no-bundler') }
92
-
93
- it "uses the default version when there is no bundler version" do
94
- expect(subject.fetch_version(nil, nil)).to eq(EY::Serverside::DependencyManager::Bundler.default_version)
95
- end
96
-
97
- it "uses the given version when there is no operator" do
98
- expect(subject.fetch_version(nil, '1.0.1')).to eq('1.0.1')
99
- end
100
-
101
- it "uses the given version when the qualifier is `='" do
102
- expect(subject.fetch_version('=', '1.0.1')).to eq('1.0.1')
103
- end
104
-
105
- it "uses the default version when we get a pessimistic qualifier and is lower than the default version" do
106
- expect(subject.fetch_version('~>', '1.14.1')).to eq(EY::Serverside::DependencyManager::Bundler.default_version)
107
- end
108
-
109
- it "uses the given version when we get a pessimistic qualifier that doesn't match the default version" do
110
- expect(subject.fetch_version('~>', '1.0.0')).to eq('1.0.0')
111
- end
112
-
113
- it "uses the given version when it's geater of equal than the default version" do
114
- expect(subject.fetch_version('>=', '1.100.0')).to eq('1.100.0')
115
- end
116
-
117
- it "uses the default version when the given version is lower" do
118
- expect(subject.fetch_version('>=', '1.0.1')).to eq(EY::Serverside::DependencyManager::Bundler.default_version)
119
- end
120
-
121
- it "selects only the first version expression" do
122
- scan = subject.scan_gem('bundler', 'bundler (>=1.0.1, <2.0.0)')
123
- expect(scan.last).to eq('1.0.1')
124
- end
125
- end
126
- end
@@ -1,44 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe EY::Serverside::Maintenance do
4
- let(:maintenance_path) { deploy_dir.join('shared', 'system', 'maintenance.html') }
5
-
6
- context "deployed application" do
7
- before do
8
- deploy_test_application
9
- end
10
-
11
- it "enables the maintenance page" do
12
- enable_maintenance
13
- expect(maintenance_path).to exist
14
- end
15
-
16
- it "disables an enabled maintenance page" do
17
- enable_maintenance
18
- expect(maintenance_path).to exist
19
- disable_maintenance
20
- expect(maintenance_path).to_not exist
21
- end
22
-
23
- it "lets you know if the app is in maintenance mode" do
24
- maintenance_status
25
- maintenance_output = read_output.split("\n").select{|l| l.match("Maintenance")}
26
- expect(maintenance_output.count).to eq(1)
27
- expect(maintenance_output.first).to match(/Maintenance page: down$/)
28
-
29
- enable_maintenance
30
-
31
- maintenance_status
32
- maintenance_output = read_output.split("\n").select{|l| l.match("Maintenance")}
33
- expect(maintenance_output.count).to eq(1)
34
- expect(maintenance_output.first).to match(/Maintenance page: up$/)
35
-
36
- disable_maintenance
37
-
38
- maintenance_status
39
- maintenance_output = read_output.split("\n").select{|l| l.match("Maintenance")}
40
- expect(maintenance_output.count).to eq(1)
41
- expect(maintenance_output.first).to match(/Maintenance page: down$/)
42
- end
43
- end
44
- end
@@ -1,25 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe "Deploying an application that uses Node.js and NPM" do
4
- with_composer_mocked do |composer_mocked|
5
- with_npm_mocked do |npm_mocked|
6
-
7
- before(:all) do
8
- mock_composer if composer_mocked
9
- mock_npm if npm_mocked
10
- deploy_test_application('multi_dep_manager')
11
- end
12
-
13
- it "runs 'npm install' and 'composer install'" do
14
- npm_cmd = @deployer.commands.grep(/npm install/).first
15
- expect(npm_cmd).not_to be_nil
16
-
17
- update_cmd = @deployer.commands.grep(/composer.*self-update/).first
18
- expect(update_cmd).not_to be_nil
19
-
20
- composer_cmd = @deployer.commands.grep(/composer install/).first
21
- expect(composer_cmd).not_to be_nil
22
- end
23
- end
24
- end
25
- end
@@ -1,30 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe "Deploying an application that uses Node.js and NPM" do
4
- with_npm_mocked do |mocked|
5
- before(:all) do
6
- mock_npm if mocked
7
- end
8
-
9
- context "npm in detect mode" do
10
- before do
11
- deploy_test_application('nodejs')
12
- end
13
-
14
- it "runs 'npm install'" do
15
- install_cmd = @deployer.commands.grep(/npm install/).first
16
- expect(install_cmd).not_to be_nil
17
- end
18
- end
19
-
20
- context "npm disabled" do
21
- before do
22
- deploy_test_application('npm_disabled')
23
- end
24
-
25
- it "does not run 'npm install'" do
26
- expect(@deployer.commands.grep(/npm/)).to be_empty
27
- end
28
- end
29
- end
30
- end
@@ -1,81 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe "Deploying an application that uses PHP and Composer" do
4
-
5
- with_composer_mocked do |mocked|
6
- context "with composer available" do
7
- before(:all) { mock_composer if mocked }
8
-
9
- context "with a composer.lock" do
10
- before(:all) do
11
- deploy_test_application('php_composer_lock')
12
- end
13
-
14
- it "runs 'composer install'" do
15
- install_cmd = @deployer.commands.grep(/composer install/).first
16
- expect(install_cmd).not_to be_nil
17
- end
18
-
19
- it "attempts to run 'composer self-update' before 'composer install'" do
20
- update_cmd = nil
21
- @deployer.commands.each do |cmd|
22
- update_cmd ||= /composer.*self-update/.match(cmd)
23
- if /composer install/.match(cmd)
24
- expect(update_cmd).not_to be nil
25
- end
26
- end
27
- end
28
- end
29
-
30
- context "with composer disabled in ey.yml" do
31
- before(:all) do
32
- deploy_test_application('php_composer_disabled')
33
- end
34
-
35
- it "does not run composer" do
36
- expect(@deployer.commands.grep(/composer/)).to be_empty
37
- end
38
- end
39
-
40
- context "WITHOUT a composer.lock but with composer.json" do
41
- before(:all) do
42
- deploy_test_application('php_no_composer_lock')
43
- end
44
-
45
- it "outputs a warning about deploying without a .lock" do
46
- warning_out = expect(read_output).to include("WARNING: composer.json found but composer.lock missing!")
47
- expect(warning_out).not_to be_nil
48
- end
49
-
50
- it "runs 'composer install'" do
51
- install_cmd = @deployer.commands.grep(/composer install/).first
52
- expect(install_cmd).not_to be_nil
53
- end
54
-
55
- it "attempts to run 'composer self-update' before 'composer install'" do
56
- update_cmd = nil
57
- @deployer.commands.each do |cmd|
58
- update_cmd ||= /composer.*self-update/.match(cmd)
59
- if /composer install/.match(cmd)
60
- expect(update_cmd).not_to be nil
61
- end
62
- end
63
- end
64
-
65
- end
66
-
67
- end
68
-
69
- unless $COMPOSER_INSTALLED
70
- context "without composer available" do
71
-
72
- it "fails to deploy" do
73
- expect {deploy_test_application('php_composer_lock')}.to raise_error EY::Serverside::RemoteFailure
74
- expect {deploy_test_application('php_no_composer_lock')}.to raise_error EY::Serverside::RemoteFailure
75
- end
76
-
77
- end
78
- end
79
- end
80
- end
81
-