heroku_config_vars 0.0.2.pre
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/MIT-LICENSE +20 -0
- data/README.md +1 -0
- data/Rakefile +30 -0
- data/app/assets/javascripts/heroku_config_vars/application.js +15 -0
- data/app/assets/javascripts/heroku_config_vars/var_form.js +28 -0
- data/app/assets/stylesheets/heroku_config_vars/application.css +31 -0
- data/app/assets/stylesheets/heroku_config_vars/button.css.scss +54 -0
- data/app/assets/stylesheets/heroku_config_vars/menu.css.scss +36 -0
- data/app/assets/stylesheets/heroku_config_vars/table.css.scss +28 -0
- data/app/controllers/heroku_config_vars/application_controller.rb +46 -0
- data/app/controllers/heroku_config_vars/heroku_apps_controller.rb +50 -0
- data/app/helpers/heroku_config_vars/application_helper.rb +8 -0
- data/app/models/heroku_config_vars/heroku_app.rb +138 -0
- data/app/views/heroku_config_vars/application/env.html.erb +14 -0
- data/app/views/heroku_config_vars/application/recommend_https.html.erb +6 -0
- data/app/views/heroku_config_vars/heroku_apps/_errors.html.erb +5 -0
- data/app/views/heroku_config_vars/heroku_apps/confirmation.html.erb +73 -0
- data/app/views/heroku_config_vars/heroku_apps/edit.html.erb +37 -0
- data/app/views/heroku_config_vars/heroku_apps/new.html.erb +21 -0
- data/app/views/heroku_config_vars/heroku_apps/show.html.erb +20 -0
- data/app/views/layouts/heroku_config_vars/application.html.erb +20 -0
- data/config/routes.rb +5 -0
- data/lib/heroku_config_vars/engine.rb +12 -0
- data/lib/heroku_config_vars/version.rb +3 -0
- data/lib/heroku_config_vars.rb +5 -0
- data/lib/tasks/heroku_config_vars_tasks.rake +4 -0
- data/spec/dummy/README.rdoc +261 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/assets/javascripts/application.js +15 -0
- data/spec/dummy/app/assets/stylesheets/application.css +13 -0
- data/spec/dummy/app/controllers/application_controller.rb +8 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/config/application.rb +49 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +29 -0
- data/spec/dummy/config/environments/test.rb +29 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/inflections.rb +15 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/routes.rb +4 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/log/test.log +6002 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +25 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/dummy/tmp/cache/assets/C20/540/sprockets%2F9f7052464a49612e023f9088fa442053 +0 -0
- data/spec/dummy/tmp/cache/assets/C97/2C0/sprockets%2F3945d527e8ea800568e77dd095c67391 +0 -0
- data/spec/dummy/tmp/cache/assets/C9B/060/sprockets%2Fa20484759fec963d3f51839934c3848f +0 -0
- data/spec/dummy/tmp/cache/assets/CAC/5E0/sprockets%2F425b0f4900e04b7736af6e64c4f46902 +0 -0
- data/spec/dummy/tmp/cache/assets/CBA/440/sprockets%2F8291695bea92c347d6a509dfa2379810 +0 -0
- data/spec/dummy/tmp/cache/assets/CBF/C20/sprockets%2Fdd57917c8268e99fe0a17332550ef632 +0 -0
- data/spec/dummy/tmp/cache/assets/CD9/8E0/sprockets%2F0681932233ab9af521f58c34cbf091f5 +0 -0
- data/spec/dummy/tmp/cache/assets/CF0/D20/sprockets%2F6997e8f2f3f34b07c51d6689d3ec5120 +0 -0
- data/spec/dummy/tmp/cache/assets/CFA/C10/sprockets%2Fca5852e7ebc212e12405091c0ca7a449 +0 -0
- data/spec/dummy/tmp/cache/assets/D0C/BD0/sprockets%2F7e5673b3d2e6c24b8a290ff222a4843d +0 -0
- data/spec/dummy/tmp/cache/assets/D0F/CF0/sprockets%2Fa54d897b366850d6aff2583dcd21141b +0 -0
- data/spec/dummy/tmp/cache/assets/D11/650/sprockets%2Fa79c1979284b6712e0a09bdde83c711b +0 -0
- data/spec/dummy/tmp/cache/assets/D2A/5E0/sprockets%2F8f9f3295a33983dafe83cbc75895a346 +0 -0
- data/spec/dummy/tmp/cache/assets/D2F/830/sprockets%2Fd6b510595130dc04df17a75eae623ee0 +0 -0
- data/spec/dummy/tmp/cache/assets/D3A/0E0/sprockets%2F12c0c4243a0757c81af09989ece2d4dc +0 -0
- data/spec/dummy/tmp/cache/assets/D3A/B10/sprockets%2Fa6033a4a85f3d8f4f5a68c3215bc64b6 +0 -0
- data/spec/dummy/tmp/cache/assets/D44/BB0/sprockets%2F6f8a1b369f3e20121751ff9356bebf8c +0 -0
- data/spec/dummy/tmp/cache/assets/D70/B70/sprockets%2Fa1415c8ffaef728e4e786c0e48061ac2 +0 -0
- data/spec/dummy/tmp/cache/assets/D94/CA0/sprockets%2Fb36822d80e1aee3257c5cf2f4ddeb043 +0 -0
- data/spec/dummy/tmp/cache/assets/DAA/850/sprockets%2F7e2ddb2b088e0c526941fef48af19ff5 +0 -0
- data/spec/dummy/tmp/cache/assets/DC3/970/sprockets%2Fd5d2e0cc86cec4e411aa31c549fcb870 +0 -0
- data/spec/dummy/tmp/capybara/capybara-201302162255389397158257.html +56 -0
- data/spec/dummy/tmp/capybara/capybara-201302162255545698499887.html +56 -0
- data/spec/dummy/tmp/capybara/capybara-201302162256212974676040.html +56 -0
- data/spec/dummy/tmp/capybara/capybara-201302162256278576954261.html +56 -0
- data/spec/dummy/tmp/capybara/capybara-201302200948319507521481.html +26 -0
- data/spec/dummy/tmp/capybara/capybara-20130220094839395273181.html +46 -0
- data/spec/dummy/tmp/pids/server.pid +1 -0
- data/spec/features/config_vars/edit_spec.rb +102 -0
- data/spec/features/config_vars/show_spec.rb +39 -0
- data/spec/features/env/show_spec.rb +16 -0
- data/spec/features/security/requires_admin_spec.rb +9 -0
- data/spec/features/security/suggests_ssl_spec.rb +28 -0
- data/spec/features/setup/new_app_spec.rb +42 -0
- data/spec/helpers/application_helper_spec.rb +15 -0
- data/spec/lib/heroku_config_vars_spec.rb +6 -0
- data/spec/models/heroku_config_vars/heroku_app_spec.rb +185 -0
- data/spec/spec_helper.rb +39 -0
- data/spec/support/heroku_responses.rb +35 -0
- data/spec/views/heroku_config_vars/application/recommend_https_spec.rb +14 -0
- metadata +336 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>The page you were looking for doesn't exist (404)</title>
|
|
5
|
+
<style type="text/css">
|
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
|
7
|
+
div.dialog {
|
|
8
|
+
width: 25em;
|
|
9
|
+
padding: 0 4em;
|
|
10
|
+
margin: 4em auto 0 auto;
|
|
11
|
+
border: 1px solid #ccc;
|
|
12
|
+
border-right-color: #999;
|
|
13
|
+
border-bottom-color: #999;
|
|
14
|
+
}
|
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<!-- This file lives in public/404.html -->
|
|
21
|
+
<div class="dialog">
|
|
22
|
+
<h1>The page you were looking for doesn't exist.</h1>
|
|
23
|
+
<p>You may have mistyped the address or the page may have moved.</p>
|
|
24
|
+
</div>
|
|
25
|
+
</body>
|
|
26
|
+
</html>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>The change you wanted was rejected (422)</title>
|
|
5
|
+
<style type="text/css">
|
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
|
7
|
+
div.dialog {
|
|
8
|
+
width: 25em;
|
|
9
|
+
padding: 0 4em;
|
|
10
|
+
margin: 4em auto 0 auto;
|
|
11
|
+
border: 1px solid #ccc;
|
|
12
|
+
border-right-color: #999;
|
|
13
|
+
border-bottom-color: #999;
|
|
14
|
+
}
|
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<!-- This file lives in public/422.html -->
|
|
21
|
+
<div class="dialog">
|
|
22
|
+
<h1>The change you wanted was rejected.</h1>
|
|
23
|
+
<p>Maybe you tried to change something you didn't have access to.</p>
|
|
24
|
+
</div>
|
|
25
|
+
</body>
|
|
26
|
+
</html>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>We're sorry, but something went wrong (500)</title>
|
|
5
|
+
<style type="text/css">
|
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
|
7
|
+
div.dialog {
|
|
8
|
+
width: 25em;
|
|
9
|
+
padding: 0 4em;
|
|
10
|
+
margin: 4em auto 0 auto;
|
|
11
|
+
border: 1px solid #ccc;
|
|
12
|
+
border-right-color: #999;
|
|
13
|
+
border-bottom-color: #999;
|
|
14
|
+
}
|
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<!-- This file lives in public/500.html -->
|
|
21
|
+
<div class="dialog">
|
|
22
|
+
<h1>We're sorry, but something went wrong.</h1>
|
|
23
|
+
</div>
|
|
24
|
+
</body>
|
|
25
|
+
</html>
|
|
File without changes
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
|
|
3
|
+
|
|
4
|
+
APP_PATH = File.expand_path('../../config/application', __FILE__)
|
|
5
|
+
require File.expand_path('../../config/boot', __FILE__)
|
|
6
|
+
require 'rails/commands'
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>HerokuConfigVars</title>
|
|
5
|
+
<link href="/assets/heroku_config_vars/application.css" media="all" rel="stylesheet" type="text/css" />
|
|
6
|
+
<script src="/assets/heroku_config_vars/application.js" type="text/javascript"></script>
|
|
7
|
+
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
|
|
11
|
+
<h2>
|
|
12
|
+
valid_app_name
|
|
13
|
+
</h2>
|
|
14
|
+
|
|
15
|
+
<table>
|
|
16
|
+
<tr>
|
|
17
|
+
<th>
|
|
18
|
+
VAR1
|
|
19
|
+
</th>
|
|
20
|
+
<td>
|
|
21
|
+
value 1
|
|
22
|
+
</td>
|
|
23
|
+
</tr>
|
|
24
|
+
<tr>
|
|
25
|
+
<th>
|
|
26
|
+
VAR2
|
|
27
|
+
</th>
|
|
28
|
+
<td>
|
|
29
|
+
value 2
|
|
30
|
+
</td>
|
|
31
|
+
</tr>
|
|
32
|
+
<tr>
|
|
33
|
+
<th>
|
|
34
|
+
VAR3
|
|
35
|
+
</th>
|
|
36
|
+
<td>
|
|
37
|
+
value 3
|
|
38
|
+
</td>
|
|
39
|
+
</tr>
|
|
40
|
+
<tr>
|
|
41
|
+
<th>
|
|
42
|
+
VAR4
|
|
43
|
+
</th>
|
|
44
|
+
<td>
|
|
45
|
+
value 4
|
|
46
|
+
</td>
|
|
47
|
+
</tr>
|
|
48
|
+
</table>
|
|
49
|
+
|
|
50
|
+
<p>
|
|
51
|
+
<a href="/heroku_config_vars/heroku_app/edit">Edit</a>
|
|
52
|
+
</p>
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
</body>
|
|
56
|
+
</html>
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>HerokuConfigVars</title>
|
|
5
|
+
<link href="/assets/heroku_config_vars/application.css" media="all" rel="stylesheet" type="text/css" />
|
|
6
|
+
<script src="/assets/heroku_config_vars/application.js" type="text/javascript"></script>
|
|
7
|
+
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
|
|
11
|
+
<h2>
|
|
12
|
+
valid_app_name
|
|
13
|
+
</h2>
|
|
14
|
+
|
|
15
|
+
<table>
|
|
16
|
+
<tr>
|
|
17
|
+
<th>
|
|
18
|
+
VAR3
|
|
19
|
+
</th>
|
|
20
|
+
<td>
|
|
21
|
+
value 3
|
|
22
|
+
</td>
|
|
23
|
+
</tr>
|
|
24
|
+
<tr>
|
|
25
|
+
<th>
|
|
26
|
+
VAR2
|
|
27
|
+
</th>
|
|
28
|
+
<td>
|
|
29
|
+
value 2
|
|
30
|
+
</td>
|
|
31
|
+
</tr>
|
|
32
|
+
<tr>
|
|
33
|
+
<th>
|
|
34
|
+
VAR1
|
|
35
|
+
</th>
|
|
36
|
+
<td>
|
|
37
|
+
value 1
|
|
38
|
+
</td>
|
|
39
|
+
</tr>
|
|
40
|
+
<tr>
|
|
41
|
+
<th>
|
|
42
|
+
VAR4
|
|
43
|
+
</th>
|
|
44
|
+
<td>
|
|
45
|
+
value 4
|
|
46
|
+
</td>
|
|
47
|
+
</tr>
|
|
48
|
+
</table>
|
|
49
|
+
|
|
50
|
+
<p>
|
|
51
|
+
<a href="/heroku_config_vars/heroku_app/edit">Edit</a>
|
|
52
|
+
</p>
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
</body>
|
|
56
|
+
</html>
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>HerokuConfigVars</title>
|
|
5
|
+
<link href="/assets/heroku_config_vars/application.css" media="all" rel="stylesheet" type="text/css" />
|
|
6
|
+
<script src="/assets/heroku_config_vars/application.js" type="text/javascript"></script>
|
|
7
|
+
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
|
|
11
|
+
<h2>
|
|
12
|
+
valid_app_name
|
|
13
|
+
</h2>
|
|
14
|
+
|
|
15
|
+
<table>
|
|
16
|
+
<tr>
|
|
17
|
+
<th>
|
|
18
|
+
VAR3
|
|
19
|
+
</th>
|
|
20
|
+
<td>
|
|
21
|
+
value 3
|
|
22
|
+
</td>
|
|
23
|
+
</tr>
|
|
24
|
+
<tr>
|
|
25
|
+
<th>
|
|
26
|
+
VAR2
|
|
27
|
+
</th>
|
|
28
|
+
<td>
|
|
29
|
+
value 2
|
|
30
|
+
</td>
|
|
31
|
+
</tr>
|
|
32
|
+
<tr>
|
|
33
|
+
<th>
|
|
34
|
+
VAR1
|
|
35
|
+
</th>
|
|
36
|
+
<td>
|
|
37
|
+
value 1
|
|
38
|
+
</td>
|
|
39
|
+
</tr>
|
|
40
|
+
<tr>
|
|
41
|
+
<th>
|
|
42
|
+
VAR4
|
|
43
|
+
</th>
|
|
44
|
+
<td>
|
|
45
|
+
value 4
|
|
46
|
+
</td>
|
|
47
|
+
</tr>
|
|
48
|
+
</table>
|
|
49
|
+
|
|
50
|
+
<p>
|
|
51
|
+
<a href="/heroku_config_vars/heroku_app/edit">Edit</a>
|
|
52
|
+
</p>
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
</body>
|
|
56
|
+
</html>
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>HerokuConfigVars</title>
|
|
5
|
+
<link href="/assets/heroku_config_vars/application.css" media="all" rel="stylesheet" type="text/css" />
|
|
6
|
+
<script src="/assets/heroku_config_vars/application.js" type="text/javascript"></script>
|
|
7
|
+
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
|
|
11
|
+
<h2>
|
|
12
|
+
valid_app_name
|
|
13
|
+
</h2>
|
|
14
|
+
|
|
15
|
+
<table>
|
|
16
|
+
<tr>
|
|
17
|
+
<th>
|
|
18
|
+
VAR3
|
|
19
|
+
</th>
|
|
20
|
+
<td>
|
|
21
|
+
value 3
|
|
22
|
+
</td>
|
|
23
|
+
</tr>
|
|
24
|
+
<tr>
|
|
25
|
+
<th>
|
|
26
|
+
VAR2
|
|
27
|
+
</th>
|
|
28
|
+
<td>
|
|
29
|
+
value 2
|
|
30
|
+
</td>
|
|
31
|
+
</tr>
|
|
32
|
+
<tr>
|
|
33
|
+
<th>
|
|
34
|
+
VAR1
|
|
35
|
+
</th>
|
|
36
|
+
<td>
|
|
37
|
+
value 1
|
|
38
|
+
</td>
|
|
39
|
+
</tr>
|
|
40
|
+
<tr>
|
|
41
|
+
<th>
|
|
42
|
+
VAR4
|
|
43
|
+
</th>
|
|
44
|
+
<td>
|
|
45
|
+
value 4
|
|
46
|
+
</td>
|
|
47
|
+
</tr>
|
|
48
|
+
</table>
|
|
49
|
+
|
|
50
|
+
<p>
|
|
51
|
+
<a href="/heroku_config_vars/heroku_app/edit">Edit</a>
|
|
52
|
+
</p>
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
</body>
|
|
56
|
+
</html>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>HerokuConfigVars</title>
|
|
5
|
+
<link href="/assets/heroku_config_vars/application.css" media="all" rel="stylesheet" type="text/css" />
|
|
6
|
+
<script src="/assets/heroku_config_vars/application.js" type="text/javascript"></script>
|
|
7
|
+
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<h1>Heroku Configurator</h1>
|
|
11
|
+
|
|
12
|
+
<ul class="submenu">
|
|
13
|
+
<li><span class="menu-option">Heroku Configuration Variables</span></li>
|
|
14
|
+
<li><a href="/heroku_config_vars/env"><span class="menu-option">Native Environment</span></a></li>
|
|
15
|
+
</ul>
|
|
16
|
+
|
|
17
|
+
<h2>WARNING</h2>
|
|
18
|
+
|
|
19
|
+
<p>You are trying to view sensitive application configuration over an <strong>insecure connection</strong>.</p>
|
|
20
|
+
<p>It is highly recommended that you view this over https.</p>
|
|
21
|
+
<a href="https://www.example.com/heroku_config_vars/heroku_app" class="happy button">Switch to secure connection</a>
|
|
22
|
+
<a href="/heroku_config_vars/heroku_app?insecure=ok" class="sad button">Continue insecurely</a>
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
</body>
|
|
26
|
+
</html>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>HerokuConfigVars</title>
|
|
5
|
+
<link href="/assets/heroku_config_vars/application.css" media="all" rel="stylesheet" type="text/css" />
|
|
6
|
+
<script src="/assets/heroku_config_vars/application.js" type="text/javascript"></script>
|
|
7
|
+
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<h1>Heroku Configurator</h1>
|
|
11
|
+
|
|
12
|
+
<ul class="submenu">
|
|
13
|
+
<li><span class="menu-option">Heroku Configuration Variables</span></li>
|
|
14
|
+
<li><a href="/heroku_config_vars/env"><span class="menu-option">Native Environment</span></a></li>
|
|
15
|
+
</ul>
|
|
16
|
+
|
|
17
|
+
<h2>
|
|
18
|
+
valid_app_name
|
|
19
|
+
</h2>
|
|
20
|
+
|
|
21
|
+
<table>
|
|
22
|
+
<tr>
|
|
23
|
+
<th>
|
|
24
|
+
HEROKU_API_KEY
|
|
25
|
+
</th>
|
|
26
|
+
<td>
|
|
27
|
+
valid_api_key
|
|
28
|
+
</td>
|
|
29
|
+
</tr>
|
|
30
|
+
<tr>
|
|
31
|
+
<th>
|
|
32
|
+
HEROKU_APP_NAME
|
|
33
|
+
</th>
|
|
34
|
+
<td>
|
|
35
|
+
valid_app_name
|
|
36
|
+
</td>
|
|
37
|
+
</tr>
|
|
38
|
+
</table>
|
|
39
|
+
|
|
40
|
+
<p>
|
|
41
|
+
<a href="/heroku_config_vars/heroku_app/edit">Edit</a>
|
|
42
|
+
</p>
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
</body>
|
|
46
|
+
</html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1956
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
feature 'Edit Herkou configuration' do
|
|
4
|
+
|
|
5
|
+
stub_heroku_responses
|
|
6
|
+
setup_app
|
|
7
|
+
|
|
8
|
+
let(:live_vars) do
|
|
9
|
+
{
|
|
10
|
+
'VAR3' => 'value 3',
|
|
11
|
+
'VAR2' => 'value 2',
|
|
12
|
+
'VAR1' => 'value 1',
|
|
13
|
+
'VAR4' => 'value 4'
|
|
14
|
+
}
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# TODO: move most of this into a view spec
|
|
18
|
+
scenario 'Vist the edit page' do
|
|
19
|
+
visit edit_heroku_app_url(protocol: 'https')
|
|
20
|
+
|
|
21
|
+
within 'h2' do
|
|
22
|
+
expect(page).to have_link valid_app_name, href: heroku_app_path
|
|
23
|
+
expect(page).to have_text "Edit Configuration"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
(1..4).each do |i|
|
|
27
|
+
within "tr:nth(#{i})" do
|
|
28
|
+
expect(page).to have_selector 'th', text: "VAR#{i}"
|
|
29
|
+
expect(page).to have_field "VAR#{i}", with: "value #{i}"
|
|
30
|
+
expect(page).to have_unchecked_field 'Delete'
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
within 'tr:last' do
|
|
35
|
+
expect(page).to have_field 'add[][key]'
|
|
36
|
+
expect(page).to have_field 'add[][value]'
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
expect(page).to have_button 'Prepare...'
|
|
40
|
+
expect(page).to have_link 'Cancel', href: heroku_app_path
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
## ----
|
|
44
|
+
|
|
45
|
+
let(:set_vars) do
|
|
46
|
+
{
|
|
47
|
+
"VAR2" => "value 2 updated",
|
|
48
|
+
"NEW_KEY" => "a new value"
|
|
49
|
+
}
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
let(:delete_var) { 'VAR1' }
|
|
53
|
+
|
|
54
|
+
def visit_form
|
|
55
|
+
visit heroku_app_url(protocol: 'https')
|
|
56
|
+
click_link 'Edit'
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def cancel
|
|
60
|
+
click_link 'Cancel'
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def fill_out_form
|
|
64
|
+
fill_in 'VAR2', with: 'value 2 updated'
|
|
65
|
+
within 'tr:first' do |variable|
|
|
66
|
+
check 'Delete'
|
|
67
|
+
end
|
|
68
|
+
fill_in 'add[][key]', with: 'NEW_KEY'
|
|
69
|
+
fill_in 'add[][value]', with: 'a new value'
|
|
70
|
+
click_button 'Prepare...'
|
|
71
|
+
# expect the changes to displayed
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def confirm
|
|
75
|
+
click_button 'Update and restart app'
|
|
76
|
+
# expect the vars to be updated
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
scenario 'Cancel update' do
|
|
80
|
+
visit_form
|
|
81
|
+
cancel
|
|
82
|
+
|
|
83
|
+
expect(current_path).to eq heroku_app_path
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
scenario 'Update vars and confirm' do
|
|
87
|
+
visit_form
|
|
88
|
+
fill_out_form
|
|
89
|
+
confirm
|
|
90
|
+
|
|
91
|
+
expect(current_path).to eq edit_heroku_app_path
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
scenario 'Update vars and cancel' do
|
|
95
|
+
visit_form
|
|
96
|
+
fill_out_form
|
|
97
|
+
cancel
|
|
98
|
+
|
|
99
|
+
expect(current_path).to eq edit_heroku_app_path
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
feature "Show heroku config vars" do
|
|
4
|
+
|
|
5
|
+
stub_heroku_responses
|
|
6
|
+
setup_app
|
|
7
|
+
|
|
8
|
+
let(:live_vars) do
|
|
9
|
+
{
|
|
10
|
+
'VAR3' => 'value 3',
|
|
11
|
+
'VAR2' => 'value 2',
|
|
12
|
+
'VAR1' => 'value 1',
|
|
13
|
+
'VAR4' => 'value 4'
|
|
14
|
+
}
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
scenario "Visit vars path" do
|
|
18
|
+
visit heroku_app_url(protocol: 'https')
|
|
19
|
+
|
|
20
|
+
expect(page).to have_selector 'h2', text: valid_app_name
|
|
21
|
+
|
|
22
|
+
expect(page).to have_selector 'tr:nth(1) th', text: 'VAR1'
|
|
23
|
+
expect(page).to have_selector 'tr:nth(1) td', text: 'value 1'
|
|
24
|
+
|
|
25
|
+
expect(page).to have_selector 'tr:nth(2) th', text: 'VAR2'
|
|
26
|
+
expect(page).to have_selector 'tr:nth(2) td', text: 'value 2'
|
|
27
|
+
|
|
28
|
+
expect(page).to have_selector 'tr:nth(3) th', text: 'VAR3'
|
|
29
|
+
expect(page).to have_selector 'tr:nth(3) td', text: 'value 3'
|
|
30
|
+
|
|
31
|
+
expect(page).to have_selector 'tr:nth(4) th', text: 'VAR4'
|
|
32
|
+
expect(page).to have_selector 'tr:nth(4) td', text: 'value 4'
|
|
33
|
+
|
|
34
|
+
expect(page).to have_link 'Edit', href: edit_heroku_app_path
|
|
35
|
+
|
|
36
|
+
# check for menu
|
|
37
|
+
expect(page).to have_selector 'li', text: 'Heroku Configuration Variables'
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
feature "Show ENV" do
|
|
4
|
+
|
|
5
|
+
before do
|
|
6
|
+
ENV['FOO'] = 'bar'
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
scenario "Visit env path" do
|
|
10
|
+
visit env_url(protocol: 'https')
|
|
11
|
+
|
|
12
|
+
expect(page).to have_selector 'h2', text: 'ENV'
|
|
13
|
+
expect(page).to have_selector 'th', text: 'FOO'
|
|
14
|
+
expect(page).to have_selector 'td', text: 'bar'
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
feature "Suggests SSL" do
|
|
4
|
+
|
|
5
|
+
scenario "Switch to secure connection" do
|
|
6
|
+
visit root_path protocol: 'http'
|
|
7
|
+
click_link 'Switch to secure connection'
|
|
8
|
+
|
|
9
|
+
expect(current_url).to start_with 'https'
|
|
10
|
+
expect(current_path).to start_with root_path
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
scenario 'Remain insecure' do
|
|
14
|
+
visit root_path protocol: 'http'
|
|
15
|
+
click_link 'Continue insecurely'
|
|
16
|
+
|
|
17
|
+
expect(current_url).to start_with 'http'
|
|
18
|
+
expect(current_path).to start_with root_path
|
|
19
|
+
|
|
20
|
+
# Make sure our insecure choice is remembered
|
|
21
|
+
visit root_path protocol: 'http'
|
|
22
|
+
|
|
23
|
+
expect(current_url).to start_with 'http'
|
|
24
|
+
expect(page).not_to have_link 'Continue insecurely'
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
end
|