baleen 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.gitmodules +3 -0
  4. data/Dockerfile +1 -0
  5. data/Gemfile +1 -0
  6. data/README.md +1 -0
  7. data/baleen.gemspec +2 -0
  8. data/baleen.yml.sample +46 -0
  9. data/bin/baleen +91 -22
  10. data/bin/baleen-server +47 -16
  11. data/lib/baleen/builder.rb +46 -0
  12. data/lib/baleen/ci_server.rb +63 -0
  13. data/lib/baleen/client.rb +19 -9
  14. data/lib/baleen/configuration.rb +24 -0
  15. data/lib/baleen/connection.rb +47 -0
  16. data/lib/baleen/default.rb +57 -0
  17. data/lib/baleen/error.rb +9 -0
  18. data/lib/baleen/job.rb +7 -5
  19. data/lib/baleen/message/base.rb +9 -40
  20. data/lib/baleen/message/exception.rb +21 -0
  21. data/lib/baleen/message/message.rb +3 -2
  22. data/lib/baleen/message/to_client.rb +32 -0
  23. data/lib/baleen/project.rb +122 -0
  24. data/lib/baleen/result_display.rb +24 -16
  25. data/lib/baleen/runner.rb +41 -92
  26. data/lib/baleen/serializable.rb +61 -0
  27. data/lib/baleen/server.rb +40 -18
  28. data/lib/baleen/task/base.rb +55 -0
  29. data/lib/baleen/task/cucumber.rb +44 -0
  30. data/lib/baleen/task/generic.rb +17 -0
  31. data/lib/baleen/task/image_update.rb +22 -0
  32. data/lib/baleen/task/run_project.rb +14 -0
  33. data/lib/baleen/task/task.rb +5 -0
  34. data/lib/baleen/utils/{colored_puts.rb → highlighter.rb} +3 -3
  35. data/lib/baleen/utils/logger.rb +74 -0
  36. data/lib/baleen/validator.rb +115 -0
  37. data/lib/baleen/version.rb +1 -1
  38. data/lib/baleen.rb +11 -3
  39. data/spec/lib/baleen/spec_result_display.rb +47 -0
  40. data/spec/lib/baleen/spec_serializable.rb +45 -0
  41. data/spec/lib/baleen/spec_task.rb +62 -0
  42. data/spec/lib/baleen/spec_validator.rb +53 -0
  43. data/spec/spec_helper.rb +31 -0
  44. metadata +62 -76
  45. data/lib/baleen/container.rb +0 -32
  46. data/lib/baleen/message/request.rb +0 -29
  47. data/lib/baleen/message/response.rb +0 -34
  48. data/poc/.gitignore +0 -15
  49. data/poc/Gemfile +0 -49
  50. data/poc/README.rdoc +0 -261
  51. data/poc/Rakefile +0 -7
  52. data/poc/app/assets/images/rails.png +0 -0
  53. data/poc/app/assets/javascripts/application.js +0 -15
  54. data/poc/app/assets/stylesheets/application.css +0 -13
  55. data/poc/app/controllers/application_controller.rb +0 -3
  56. data/poc/app/helpers/application_helper.rb +0 -2
  57. data/poc/app/mailers/.gitkeep +0 -0
  58. data/poc/app/models/.gitkeep +0 -0
  59. data/poc/app/models/ar_profile.rb +0 -3
  60. data/poc/app/views/layouts/application.html.erb +0 -14
  61. data/poc/config/application.rb +0 -62
  62. data/poc/config/boot.rb +0 -6
  63. data/poc/config/cucumber.yml +0 -8
  64. data/poc/config/database.yml +0 -28
  65. data/poc/config/environment.rb +0 -5
  66. data/poc/config/environments/development.rb +0 -37
  67. data/poc/config/environments/production.rb +0 -67
  68. data/poc/config/environments/test.rb +0 -37
  69. data/poc/config/initializers/backtrace_silencers.rb +0 -7
  70. data/poc/config/initializers/inflections.rb +0 -15
  71. data/poc/config/initializers/mime_types.rb +0 -5
  72. data/poc/config/initializers/secret_token.rb +0 -7
  73. data/poc/config/initializers/session_store.rb +0 -8
  74. data/poc/config/initializers/wrap_parameters.rb +0 -14
  75. data/poc/config/locales/en.yml +0 -5
  76. data/poc/config/routes.rb +0 -58
  77. data/poc/config.ru +0 -4
  78. data/poc/db/.gitkeep +0 -0
  79. data/poc/db/migrate/20130914144710_create_ar_profiles.rb +0 -11
  80. data/poc/db/schema.rb +0 -24
  81. data/poc/db/seeds.rb +0 -7
  82. data/poc/features/step_definitions/fake_test_steps.rb +0 -25
  83. data/poc/features/support/env.rb +0 -60
  84. data/poc/features/support/ruby_prof_cucumber.rb +0 -15
  85. data/poc/features/t1.feature +0 -12
  86. data/poc/features/t10.feature +0 -12
  87. data/poc/features/t2.feature +0 -12
  88. data/poc/features/t3.feature +0 -12
  89. data/poc/features/t4.feature +0 -12
  90. data/poc/features/t5.feature +0 -12
  91. data/poc/features/t6.feature +0 -12
  92. data/poc/features/t7.feature +0 -12
  93. data/poc/features/t8.feature +0 -12
  94. data/poc/features/t9.feature +0 -12
  95. data/poc/lib/assets/.gitkeep +0 -0
  96. data/poc/lib/tasks/.gitkeep +0 -0
  97. data/poc/lib/tasks/cucumber.rake +0 -65
  98. data/poc/public/404.html +0 -26
  99. data/poc/public/422.html +0 -26
  100. data/poc/public/500.html +0 -25
  101. data/poc/public/favicon.ico +0 -0
  102. data/poc/public/index.html +0 -241
  103. data/poc/public/robots.txt +0 -5
  104. data/poc/script/cucumber +0 -10
  105. data/poc/script/rails +0 -6
  106. data/poc/test/fixtures/.gitkeep +0 -0
  107. data/poc/test/fixtures/ar_profiles.yml +0 -11
  108. data/poc/test/functional/.gitkeep +0 -0
  109. data/poc/test/integration/.gitkeep +0 -0
  110. data/poc/test/performance/browsing_test.rb +0 -12
  111. data/poc/test/test_helper.rb +0 -13
  112. data/poc/test/unit/.gitkeep +0 -0
  113. data/poc/test/unit/ar_profile_test.rb +0 -7
  114. data/poc/vendor/assets/javascripts/.gitkeep +0 -0
  115. data/poc/vendor/assets/stylesheets/.gitkeep +0 -0
  116. data/poc/vendor/plugins/.gitkeep +0 -0
@@ -1,12 +0,0 @@
1
- Feature: t7
2
- Scenario: Benchmark for IO bound operation
3
- Then io intensive operation
4
-
5
- Scenario: Benchmark for CPU bound operation
6
- Then cpu intensive operation
7
-
8
- Scenario: Benchmark for IO bound operation
9
- Then io intensive operation
10
-
11
- Scenario: Benchmark for CPU bound operation
12
- Then cpu intensive operation
@@ -1,12 +0,0 @@
1
- Feature: t8
2
- Scenario: Benchmark for IO bound operation
3
- Then io intensive operation
4
-
5
- Scenario: Benchmark for CPU bound operation
6
- Then cpu intensive operation
7
-
8
- Scenario: Benchmark for IO bound operation
9
- Then io intensive operation
10
-
11
- Scenario: Benchmark for CPU bound operation
12
- Then cpu intensive operation
@@ -1,12 +0,0 @@
1
- Feature: t9
2
- Scenario: Benchmark for IO bound operation
3
- Then io intensive operation
4
-
5
- Scenario: Benchmark for CPU bound operation
6
- Then cpu intensive operation
7
-
8
- Scenario: Benchmark for IO bound operation
9
- Then io intensive operation
10
-
11
- Scenario: Benchmark for CPU bound operation
12
- Then cpu intensive operation
File without changes
File without changes
@@ -1,65 +0,0 @@
1
- # IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.
2
- # It is recommended to regenerate this file in the future when you upgrade to a
3
- # newer version of cucumber-rails. Consider adding your own code to a new file
4
- # instead of editing this one. Cucumber will automatically load all features/**/*.rb
5
- # files.
6
-
7
-
8
- unless ARGV.any? {|a| a =~ /^gems/} # Don't load anything when running the gems:* tasks
9
-
10
- vendored_cucumber_bin = Dir["#{Rails.root}/vendor/{gems,plugins}/cucumber*/bin/cucumber"].first
11
- $LOAD_PATH.unshift(File.dirname(vendored_cucumber_bin) + '/../lib') unless vendored_cucumber_bin.nil?
12
-
13
- begin
14
- require 'cucumber/rake/task'
15
-
16
- namespace :cucumber do
17
- Cucumber::Rake::Task.new({:ok => 'db:test:prepare'}, 'Run features that should pass') do |t|
18
- t.binary = vendored_cucumber_bin # If nil, the gem's binary is used.
19
- t.fork = true # You may get faster startup if you set this to false
20
- t.profile = 'default'
21
- end
22
-
23
- Cucumber::Rake::Task.new({:wip => 'db:test:prepare'}, 'Run features that are being worked on') do |t|
24
- t.binary = vendored_cucumber_bin
25
- t.fork = true # You may get faster startup if you set this to false
26
- t.profile = 'wip'
27
- end
28
-
29
- Cucumber::Rake::Task.new({:rerun => 'db:test:prepare'}, 'Record failing features and run only them if any exist') do |t|
30
- t.binary = vendored_cucumber_bin
31
- t.fork = true # You may get faster startup if you set this to false
32
- t.profile = 'rerun'
33
- end
34
-
35
- desc 'Run all features'
36
- task :all => [:ok, :wip]
37
-
38
- task :statsetup do
39
- require 'rails/code_statistics'
40
- ::STATS_DIRECTORIES << %w(Cucumber\ features features) if File.exist?('features')
41
- ::CodeStatistics::TEST_TYPES << "Cucumber features" if File.exist?('features')
42
- end
43
- end
44
- desc 'Alias for cucumber:ok'
45
- task :cucumber => 'cucumber:ok'
46
-
47
- task :default => :cucumber
48
-
49
- task :features => :cucumber do
50
- STDERR.puts "*** The 'features' task is deprecated. See rake -T cucumber ***"
51
- end
52
-
53
- # In case we don't have ActiveRecord, append a no-op task that we can depend upon.
54
- task 'db:test:prepare' do
55
- end
56
-
57
- task :stats => 'cucumber:statsetup'
58
- rescue LoadError
59
- desc 'cucumber rake task not available (cucumber not installed)'
60
- task :cucumber do
61
- abort 'Cucumber rake task is not available. Be sure to install cucumber as a gem or plugin'
62
- end
63
- end
64
-
65
- end
data/poc/public/404.html DELETED
@@ -1,26 +0,0 @@
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>
data/poc/public/422.html DELETED
@@ -1,26 +0,0 @@
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>
data/poc/public/500.html DELETED
@@ -1,25 +0,0 @@
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
@@ -1,241 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Ruby on Rails: Welcome aboard</title>
5
- <style type="text/css" media="screen">
6
- body {
7
- margin: 0;
8
- margin-bottom: 25px;
9
- padding: 0;
10
- background-color: #f0f0f0;
11
- font-family: "Lucida Grande", "Bitstream Vera Sans", "Verdana";
12
- font-size: 13px;
13
- color: #333;
14
- }
15
-
16
- h1 {
17
- font-size: 28px;
18
- color: #000;
19
- }
20
-
21
- a {color: #03c}
22
- a:hover {
23
- background-color: #03c;
24
- color: white;
25
- text-decoration: none;
26
- }
27
-
28
-
29
- #page {
30
- background-color: #f0f0f0;
31
- width: 750px;
32
- margin: 0;
33
- margin-left: auto;
34
- margin-right: auto;
35
- }
36
-
37
- #content {
38
- float: left;
39
- background-color: white;
40
- border: 3px solid #aaa;
41
- border-top: none;
42
- padding: 25px;
43
- width: 500px;
44
- }
45
-
46
- #sidebar {
47
- float: right;
48
- width: 175px;
49
- }
50
-
51
- #footer {
52
- clear: both;
53
- }
54
-
55
- #header, #about, #getting-started {
56
- padding-left: 75px;
57
- padding-right: 30px;
58
- }
59
-
60
-
61
- #header {
62
- background-image: url("assets/rails.png");
63
- background-repeat: no-repeat;
64
- background-position: top left;
65
- height: 64px;
66
- }
67
- #header h1, #header h2 {margin: 0}
68
- #header h2 {
69
- color: #888;
70
- font-weight: normal;
71
- font-size: 16px;
72
- }
73
-
74
-
75
- #about h3 {
76
- margin: 0;
77
- margin-bottom: 10px;
78
- font-size: 14px;
79
- }
80
-
81
- #about-content {
82
- background-color: #ffd;
83
- border: 1px solid #fc0;
84
- margin-left: -55px;
85
- margin-right: -10px;
86
- }
87
- #about-content table {
88
- margin-top: 10px;
89
- margin-bottom: 10px;
90
- font-size: 11px;
91
- border-collapse: collapse;
92
- }
93
- #about-content td {
94
- padding: 10px;
95
- padding-top: 3px;
96
- padding-bottom: 3px;
97
- }
98
- #about-content td.name {color: #555}
99
- #about-content td.value {color: #000}
100
-
101
- #about-content ul {
102
- padding: 0;
103
- list-style-type: none;
104
- }
105
-
106
- #about-content.failure {
107
- background-color: #fcc;
108
- border: 1px solid #f00;
109
- }
110
- #about-content.failure p {
111
- margin: 0;
112
- padding: 10px;
113
- }
114
-
115
-
116
- #getting-started {
117
- border-top: 1px solid #ccc;
118
- margin-top: 25px;
119
- padding-top: 15px;
120
- }
121
- #getting-started h1 {
122
- margin: 0;
123
- font-size: 20px;
124
- }
125
- #getting-started h2 {
126
- margin: 0;
127
- font-size: 14px;
128
- font-weight: normal;
129
- color: #333;
130
- margin-bottom: 25px;
131
- }
132
- #getting-started ol {
133
- margin-left: 0;
134
- padding-left: 0;
135
- }
136
- #getting-started li {
137
- font-size: 18px;
138
- color: #888;
139
- margin-bottom: 25px;
140
- }
141
- #getting-started li h2 {
142
- margin: 0;
143
- font-weight: normal;
144
- font-size: 18px;
145
- color: #333;
146
- }
147
- #getting-started li p {
148
- color: #555;
149
- font-size: 13px;
150
- }
151
-
152
-
153
- #sidebar ul {
154
- margin-left: 0;
155
- padding-left: 0;
156
- }
157
- #sidebar ul h3 {
158
- margin-top: 25px;
159
- font-size: 16px;
160
- padding-bottom: 10px;
161
- border-bottom: 1px solid #ccc;
162
- }
163
- #sidebar li {
164
- list-style-type: none;
165
- }
166
- #sidebar ul.links li {
167
- margin-bottom: 5px;
168
- }
169
-
170
- .filename {
171
- font-style: italic;
172
- }
173
- </style>
174
- <script type="text/javascript">
175
- function about() {
176
- info = document.getElementById('about-content');
177
- if (window.XMLHttpRequest)
178
- { xhr = new XMLHttpRequest(); }
179
- else
180
- { xhr = new ActiveXObject("Microsoft.XMLHTTP"); }
181
- xhr.open("GET","rails/info/properties",false);
182
- xhr.send("");
183
- info.innerHTML = xhr.responseText;
184
- info.style.display = 'block'
185
- }
186
- </script>
187
- </head>
188
- <body>
189
- <div id="page">
190
- <div id="sidebar">
191
- <ul id="sidebar-items">
192
- <li>
193
- <h3>Browse the documentation</h3>
194
- <ul class="links">
195
- <li><a href="http://guides.rubyonrails.org/">Rails Guides</a></li>
196
- <li><a href="http://api.rubyonrails.org/">Rails API</a></li>
197
- <li><a href="http://www.ruby-doc.org/core/">Ruby core</a></li>
198
- <li><a href="http://www.ruby-doc.org/stdlib/">Ruby standard library</a></li>
199
- </ul>
200
- </li>
201
- </ul>
202
- </div>
203
-
204
- <div id="content">
205
- <div id="header">
206
- <h1>Welcome aboard</h1>
207
- <h2>You&rsquo;re riding Ruby on Rails!</h2>
208
- </div>
209
-
210
- <div id="about">
211
- <h3><a href="rails/info/properties" onclick="about(); return false">About your application&rsquo;s environment</a></h3>
212
- <div id="about-content" style="display: none"></div>
213
- </div>
214
-
215
- <div id="getting-started">
216
- <h1>Getting started</h1>
217
- <h2>Here&rsquo;s how to get rolling:</h2>
218
-
219
- <ol>
220
- <li>
221
- <h2>Use <code>rails generate</code> to create your models and controllers</h2>
222
- <p>To see all available options, run it without parameters.</p>
223
- </li>
224
-
225
- <li>
226
- <h2>Set up a default route and remove <span class="filename">public/index.html</span></h2>
227
- <p>Routes are set up in <span class="filename">config/routes.rb</span>.</p>
228
- </li>
229
-
230
- <li>
231
- <h2>Create your database</h2>
232
- <p>Run <code>rake db:create</code> to create your database. If you're not using SQLite (the default), edit <span class="filename">config/database.yml</span> with your username and password.</p>
233
- </li>
234
- </ol>
235
- </div>
236
- </div>
237
-
238
- <div id="footer">&nbsp;</div>
239
- </div>
240
- </body>
241
- </html>
@@ -1,5 +0,0 @@
1
- # See http://www.robotstxt.org/wc/norobots.html for documentation on how to use the robots.txt file
2
- #
3
- # To ban all spiders from the entire site uncomment the next two lines:
4
- # User-Agent: *
5
- # Disallow: /
data/poc/script/cucumber DELETED
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- vendored_cucumber_bin = Dir["#{File.dirname(__FILE__)}/../vendor/{gems,plugins}/cucumber*/bin/cucumber"].first
4
- if vendored_cucumber_bin
5
- load File.expand_path(vendored_cucumber_bin)
6
- else
7
- require 'rubygems' unless ENV['NO_RUBYGEMS']
8
- require 'cucumber'
9
- load Cucumber::BINARY
10
- end
data/poc/script/rails DELETED
@@ -1,6 +0,0 @@
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'
File without changes
@@ -1,11 +0,0 @@
1
- # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html
2
-
3
- # This model initially had no columns defined. If you add columns to the
4
- # model remove the '{}' from the fixture names and add the columns immediately
5
- # below each fixture, per the syntax in the comments below
6
- #
7
- one: {}
8
- # column: value
9
- #
10
- two: {}
11
- # column: value
File without changes
File without changes
@@ -1,12 +0,0 @@
1
- require 'test_helper'
2
- require 'rails/performance_test_help'
3
-
4
- class BrowsingTest < ActionDispatch::PerformanceTest
5
- # Refer to the documentation for all available options
6
- # self.profile_options = { :runs => 5, :metrics => [:wall_time, :memory]
7
- # :output => 'tmp/performance', :formats => [:flat] }
8
-
9
- def test_homepage
10
- get '/'
11
- end
12
- end
@@ -1,13 +0,0 @@
1
- ENV["RAILS_ENV"] = "test"
2
- require File.expand_path('../../config/environment', __FILE__)
3
- require 'rails/test_help'
4
-
5
- class ActiveSupport::TestCase
6
- # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
7
- #
8
- # Note: You'll currently still have to declare fixtures explicitly in integration tests
9
- # -- they do not yet inherit this setting
10
- fixtures :all
11
-
12
- # Add more helper methods to be used by all tests here...
13
- end
File without changes
@@ -1,7 +0,0 @@
1
- require 'test_helper'
2
-
3
- class ArProfileTest < ActiveSupport::TestCase
4
- # test "the truth" do
5
- # assert true
6
- # end
7
- end
File without changes
File without changes
File without changes