proxy_tester 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. data/.gitignore +22 -0
  2. data/.rdebugrc +7 -0
  3. data/.rspec +3 -0
  4. data/.simplecov +8 -0
  5. data/Gemfile +37 -0
  6. data/Gemfile.lock +199 -0
  7. data/LICENSE.txt +22 -0
  8. data/Procfile +1 -0
  9. data/README.md +582 -0
  10. data/Rakefile +64 -0
  11. data/bin/proxy_tester +11 -0
  12. data/db/migrate/20140314_create_environment.rb +8 -0
  13. data/files/config.yaml +1 -0
  14. data/files/example-config.erb +12 -0
  15. data/files/example-spec_helper.rb.erb +23 -0
  16. data/files/example-test_case.rb.erb +27 -0
  17. data/files/example-test_cases-gemfile.rb.erb +9 -0
  18. data/files/example-user_file.erb +4 -0
  19. data/lib/proxy_tester/actions/add_examples_to_test_cases_directory.rb +125 -0
  20. data/lib/proxy_tester/actions/clone_repository.rb +39 -0
  21. data/lib/proxy_tester/actions/create_directory.rb +33 -0
  22. data/lib/proxy_tester/actions/create_file.rb +55 -0
  23. data/lib/proxy_tester/actions/create_output.rb +36 -0
  24. data/lib/proxy_tester/actions/handle_error.rb +37 -0
  25. data/lib/proxy_tester/actions/initialize_application.rb +70 -0
  26. data/lib/proxy_tester/actions/show_config.rb +10 -0
  27. data/lib/proxy_tester/capybara_proxy.rb +54 -0
  28. data/lib/proxy_tester/capybara_proxy_pac.rb +62 -0
  29. data/lib/proxy_tester/cli/main.rb +59 -0
  30. data/lib/proxy_tester/config.rb +100 -0
  31. data/lib/proxy_tester/data.rb +23 -0
  32. data/lib/proxy_tester/database_session.rb +15 -0
  33. data/lib/proxy_tester/environment.rb +21 -0
  34. data/lib/proxy_tester/erb_generator.rb +34 -0
  35. data/lib/proxy_tester/error_handler.rb +107 -0
  36. data/lib/proxy_tester/error_messages.rb +82 -0
  37. data/lib/proxy_tester/exceptions.rb +53 -0
  38. data/lib/proxy_tester/git_file.rb +31 -0
  39. data/lib/proxy_tester/git_null_file.rb +32 -0
  40. data/lib/proxy_tester/git_repository.rb +120 -0
  41. data/lib/proxy_tester/handle_error.rb +37 -0
  42. data/lib/proxy_tester/locales/en-rails.yml +205 -0
  43. data/lib/proxy_tester/locales/en.yml +42 -0
  44. data/lib/proxy_tester/main.rb +46 -0
  45. data/lib/proxy_tester/models/user.rb +17 -0
  46. data/lib/proxy_tester/pac_result.rb +50 -0
  47. data/lib/proxy_tester/rspec/helper.rb +211 -0
  48. data/lib/proxy_tester/rspec_runner.rb +43 -0
  49. data/lib/proxy_tester/template_file.rb +19 -0
  50. data/lib/proxy_tester/template_repository.rb +22 -0
  51. data/lib/proxy_tester/ui_logger.rb +30 -0
  52. data/lib/proxy_tester/user_database.rb +24 -0
  53. data/lib/proxy_tester/version.rb +3 -0
  54. data/lib/proxy_tester.rb +54 -0
  55. data/proxy_tester.gemspec +34 -0
  56. data/script/acceptance_test +4 -0
  57. data/script/bootstrap +56 -0
  58. data/script/ci +3 -0
  59. data/script/console +14 -0
  60. data/script/release +3 -0
  61. data/script/test_web +22 -0
  62. data/script/unit_test +3 -0
  63. data/spec/actions/add_examples_to_test_cases_directory_spec.rb +52 -0
  64. data/spec/actions/clone_repository_spec.rb +83 -0
  65. data/spec/actions/create_directory_spec.rb +59 -0
  66. data/spec/actions/create_file_spec.rb +139 -0
  67. data/spec/actions/create_output_spec.rb +46 -0
  68. data/spec/actions/handle_error_spec.rb +74 -0
  69. data/spec/actions/initialize_application_spec.rb +40 -0
  70. data/spec/actions/show_config_spec.rb +22 -0
  71. data/spec/capybara_proxy_pac_spec.rb +42 -0
  72. data/spec/capybara_proxy_spec.rb +76 -0
  73. data/spec/config_spec.rb +86 -0
  74. data/spec/data_spec.rb +34 -0
  75. data/spec/environment_spec.rb +25 -0
  76. data/spec/erb_generator_spec.rb +31 -0
  77. data/spec/examples/proxy.pac +7 -0
  78. data/spec/factories.rb +8 -0
  79. data/spec/features/check_ssl_sites_spec.rb +8 -0
  80. data/spec/git_file_spec.rb +46 -0
  81. data/spec/git_repository_spec.rb +111 -0
  82. data/spec/main_spec.rb +25 -0
  83. data/spec/pac_result_spec.rb +20 -0
  84. data/spec/proxy_tester_spec_helper_spec.rb +137 -0
  85. data/spec/rspec_runner_spec.rb +29 -0
  86. data/spec/spec_helper.rb +15 -0
  87. data/spec/support/capybara.rb +11 -0
  88. data/spec/support/database_cleaner.rb +14 -0
  89. data/spec/support/debugging.rb +3 -0
  90. data/spec/support/environment.rb +33 -0
  91. data/spec/support/example.rb +16 -0
  92. data/spec/support/factory_girl.rb +15 -0
  93. data/spec/support/filesystem.rb +19 -0
  94. data/spec/support/helper_features.rb +31 -0
  95. data/spec/support/matcher.rb +17 -0
  96. data/spec/support/reporting.rb +1 -0
  97. data/spec/support/rspec.rb +5 -0
  98. data/spec/support/string.rb +2 -0
  99. data/spec/template_file_spec.rb +25 -0
  100. data/spec/template_repository_spec.rb +44 -0
  101. data/spec/user_database_spec.rb +63 -0
  102. data/spec/user_spec.rb +62 -0
  103. metadata +398 -0
data/.gitignore ADDED
@@ -0,0 +1,22 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ InstalledFiles
7
+ _yardoc
8
+ coverage
9
+ doc/
10
+ lib/bundler/man
11
+ pkg
12
+ rdoc
13
+ spec/reports
14
+ test/tmp
15
+ test/version_tmp
16
+ tmp
17
+ share/archlinux/src/
18
+ share/archlinux/pkg/
19
+ *.tar.xz
20
+ *.tar.gz
21
+ .sass-cache
22
+ vendor/assets/components/
data/.rdebugrc ADDED
@@ -0,0 +1,7 @@
1
+ set listsize 30
2
+ set history save on
3
+ set history size 99999
4
+ set history filename ~/.rdebug_history
5
+ set autolist
6
+ set autoeval
7
+ set autoreload
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format Fuubar
2
+ --order rand
3
+ --color
data/.simplecov ADDED
@@ -0,0 +1,8 @@
1
+ SimpleCov.start do
2
+ add_filter "/features/"
3
+ add_filter "/spec/"
4
+ add_filter "/tmp"
5
+ add_filter "/vendor"
6
+
7
+ add_group "lib", "lib"
8
+ end
data/Gemfile ADDED
@@ -0,0 +1,37 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ group :test do
6
+ gem 'capybara', require: 'capybara/rspec'
7
+ gem 'poltergeist', require: 'capybara/poltergeist'
8
+ gem 'rspec', require: false
9
+ gem 'fuubar', require: false
10
+ gem 'simplecov'
11
+ gem 'cucumber', require: false
12
+ gem 'aruba', require: false
13
+ gem 'excon'
14
+ gem 'factory_girl'
15
+ gem 'database_cleaner'
16
+ end
17
+
18
+ group :development do
19
+ gem 'debugger'
20
+ gem 'debugger-completion'
21
+ gem 'pry'
22
+ gem 'pry-debugger', require: false
23
+ gem 'pry-doc', require: false
24
+ gem 'tmrb', require: false
25
+ gem 'yard', require: false
26
+ end
27
+
28
+ gem 'rake', group: [:development, :test], require: false
29
+ gem 'fedux_org-stdlib', group: [:development, :test], require: false
30
+ gem 'bundler', '~> 1.3', group: [:development, :test], require: false
31
+ gem 'erubis', group: [:development, :test]
32
+ gem 'versionomy', group: [:development, :test], require: false
33
+ gem 'activesupport', '~> 4.0.0', group: [:development, :test], require: false
34
+ gem 'sinatra', group: [:development, :test]
35
+ gem 'foreman', group: [:development, :test], require: false
36
+
37
+ gem 'awesome_print', group: [:development, :test], require: 'ap'
data/Gemfile.lock ADDED
@@ -0,0 +1,199 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ proxy_tester (0.0.1)
5
+ activerecord (~> 4.0)
6
+ activesupport (~> 4.0)
7
+ addressable
8
+ crypt_keeper
9
+ fuubar
10
+ i18n
11
+ poltergeist
12
+ proxy_pac_rb (~> 0.2.5)
13
+ rspec
14
+ rugged
15
+ sqlite3
16
+ therubyracer
17
+ thor
18
+
19
+ GEM
20
+ remote: https://rubygems.org/
21
+ specs:
22
+ activemodel (4.0.3)
23
+ activesupport (= 4.0.3)
24
+ builder (~> 3.1.0)
25
+ activerecord (4.0.3)
26
+ activemodel (= 4.0.3)
27
+ activerecord-deprecated_finders (~> 1.0.2)
28
+ activesupport (= 4.0.3)
29
+ arel (~> 4.0.0)
30
+ activerecord-deprecated_finders (1.0.3)
31
+ activesupport (4.0.3)
32
+ i18n (~> 0.6, >= 0.6.4)
33
+ minitest (~> 4.2)
34
+ multi_json (~> 1.3)
35
+ thread_safe (~> 0.1)
36
+ tzinfo (~> 0.3.37)
37
+ addressable (2.3.5)
38
+ arel (4.0.2)
39
+ aruba (0.5.4)
40
+ childprocess (>= 0.3.6)
41
+ cucumber (>= 1.1.1)
42
+ rspec-expectations (>= 2.7.0)
43
+ atomic (1.1.15)
44
+ awesome_print (1.2.0)
45
+ blockenspiel (0.4.5)
46
+ bond (0.5.1)
47
+ builder (3.1.4)
48
+ capybara (2.2.1)
49
+ mime-types (>= 1.16)
50
+ nokogiri (>= 1.3.3)
51
+ rack (>= 1.0.0)
52
+ rack-test (>= 0.5.4)
53
+ xpath (~> 2.0)
54
+ childprocess (0.5.1)
55
+ ffi (~> 1.0, >= 1.0.11)
56
+ cliver (0.3.2)
57
+ coderay (1.1.0)
58
+ columnize (0.3.6)
59
+ crypt_keeper (0.13.1)
60
+ activerecord (>= 3.0)
61
+ activesupport (>= 3.0)
62
+ cucumber (1.3.11)
63
+ builder (>= 2.1.2)
64
+ diff-lcs (>= 1.1.3)
65
+ gherkin (~> 2.12)
66
+ multi_json (>= 1.7.5, < 2.0)
67
+ multi_test (>= 0.0.2)
68
+ database_cleaner (1.2.0)
69
+ debugger (1.6.6)
70
+ columnize (>= 0.3.1)
71
+ debugger-linecache (~> 1.2.0)
72
+ debugger-ruby_core_source (~> 1.3.2)
73
+ debugger-completion (1.0.0)
74
+ bond (>= 0.4.2)
75
+ debugger (~> 1.1)
76
+ debugger-linecache (1.2.0)
77
+ debugger-ruby_core_source (1.3.2)
78
+ diff-lcs (1.2.5)
79
+ docile (1.1.3)
80
+ dotenv (0.10.0)
81
+ erubis (2.7.0)
82
+ excon (0.32.1)
83
+ factory_girl (4.4.0)
84
+ activesupport (>= 3.0.0)
85
+ fedux_org-stdlib (0.3.2)
86
+ activesupport
87
+ ffi (1.9.3)
88
+ foreman (0.63.0)
89
+ dotenv (>= 0.7)
90
+ thor (>= 0.13.6)
91
+ fuubar (1.3.2)
92
+ rspec (>= 2.14.0, < 3.1.0)
93
+ ruby-progressbar (~> 1.3)
94
+ gherkin (2.12.2)
95
+ multi_json (~> 1.3)
96
+ i18n (0.6.9)
97
+ libv8 (3.16.14.3)
98
+ method_source (0.8.2)
99
+ mime-types (2.2)
100
+ mini_portile (0.5.2)
101
+ minitest (4.7.5)
102
+ multi_json (1.9.0)
103
+ multi_test (0.0.3)
104
+ nokogiri (1.6.1)
105
+ mini_portile (~> 0.5.0)
106
+ poltergeist (1.5.0)
107
+ capybara (~> 2.1)
108
+ cliver (~> 0.3.1)
109
+ multi_json (~> 1.0)
110
+ websocket-driver (>= 0.2.0)
111
+ proxy_pac_rb (0.2.5)
112
+ activesupport
113
+ addressable
114
+ pry (0.9.12.6)
115
+ coderay (~> 1.0)
116
+ method_source (~> 0.8)
117
+ slop (~> 3.4)
118
+ pry-debugger (0.2.2)
119
+ debugger (~> 1.3)
120
+ pry (~> 0.9.10)
121
+ pry-doc (0.6.0)
122
+ pry (~> 0.9)
123
+ yard (~> 0.8)
124
+ rack (1.5.2)
125
+ rack-protection (1.5.2)
126
+ rack
127
+ rack-test (0.6.2)
128
+ rack (>= 1.0)
129
+ rake (10.1.1)
130
+ ref (1.0.5)
131
+ rspec (2.14.1)
132
+ rspec-core (~> 2.14.0)
133
+ rspec-expectations (~> 2.14.0)
134
+ rspec-mocks (~> 2.14.0)
135
+ rspec-core (2.14.8)
136
+ rspec-expectations (2.14.5)
137
+ diff-lcs (>= 1.1.3, < 2.0)
138
+ rspec-mocks (2.14.6)
139
+ ruby-progressbar (1.4.2)
140
+ rugged (0.19.0)
141
+ simplecov (0.8.2)
142
+ docile (~> 1.1.0)
143
+ multi_json
144
+ simplecov-html (~> 0.8.0)
145
+ simplecov-html (0.8.0)
146
+ sinatra (1.4.4)
147
+ rack (~> 1.4)
148
+ rack-protection (~> 1.4)
149
+ tilt (~> 1.3, >= 1.3.4)
150
+ slop (3.5.0)
151
+ sqlite3 (1.3.9)
152
+ therubyracer (0.12.1)
153
+ libv8 (~> 3.16.14.0)
154
+ ref
155
+ thor (0.18.1)
156
+ thread_safe (0.2.0)
157
+ atomic (>= 1.1.7, < 2)
158
+ tilt (1.4.1)
159
+ tmrb (1.2.7)
160
+ thor
161
+ tzinfo (0.3.39)
162
+ versionomy (0.4.4)
163
+ blockenspiel (>= 0.4.5)
164
+ websocket-driver (0.3.2)
165
+ xpath (2.0.0)
166
+ nokogiri (~> 1.3)
167
+ yard (0.8.7.3)
168
+
169
+ PLATFORMS
170
+ ruby
171
+
172
+ DEPENDENCIES
173
+ activesupport (~> 4.0.0)
174
+ aruba
175
+ awesome_print
176
+ bundler (~> 1.3)
177
+ capybara
178
+ cucumber
179
+ database_cleaner
180
+ debugger
181
+ debugger-completion
182
+ erubis
183
+ excon
184
+ factory_girl
185
+ fedux_org-stdlib
186
+ foreman
187
+ fuubar
188
+ poltergeist
189
+ proxy_tester!
190
+ pry
191
+ pry-debugger
192
+ pry-doc
193
+ rake
194
+ rspec
195
+ simplecov
196
+ sinatra
197
+ tmrb
198
+ versionomy
199
+ yard
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2014 Dennis Günnewig
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Procfile ADDED
@@ -0,0 +1 @@
1
+ test_web: bundle exec script/test_web