deployments-app 0.0.1 → 0.0.9
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/.gitignore +2 -1
- data/Gemfile +21 -4
- data/Gemfile.lock +266 -0
- data/Guardfile +3 -0
- data/Rakefile +2 -0
- data/config.ru +5 -0
- data/config/deployments.yml.example +6 -0
- data/deployments-app.gemspec +3 -0
- data/features/deployments/view_deployments.feature +3 -0
- data/features/home/view_home.feature +22 -0
- data/features/pivotal_tracker/view_pivotal_tracker_story.feature +14 -0
- data/features/projects/new_project.feature +20 -0
- data/features/projects/view_deployments_by_project.feature +15 -0
- data/features/projects/view_projects.feature +12 -0
- data/features/step_definitions/common_steps.rb +4 -0
- data/features/step_definitions/deployments/view_deployments_by_project_steps.rb +11 -0
- data/features/step_definitions/deployments/view_deployments_steps.rb +17 -8
- data/features/step_definitions/home/view_home_steps.rb +16 -0
- data/features/step_definitions/pivotal_tracker/view_pivotal_tracker_steps.rb +16 -0
- data/features/step_definitions/projects/new_project_steps.rb +35 -0
- data/features/step_definitions/projects/view_projects_steps.rb +18 -0
- data/features/support/env.rb +8 -0
- data/lib/deployments-app.rb +19 -6
- data/lib/deployments-app/models/commit.rb +14 -16
- data/lib/deployments-app/models/deployment.rb +18 -21
- data/lib/deployments-app/models/project.rb +9 -13
- data/lib/deployments-app/routes/authentication.rb +1 -3
- data/lib/deployments-app/routes/extensions.rb +1 -3
- data/lib/deployments-app/routes/projects.rb +28 -0
- data/lib/deployments-app/routes/root.rb +7 -2
- data/lib/deployments-app/server.rb +13 -0
- data/lib/deployments-app/version.rb +1 -1
- data/lib/deployments-app/views/deployments/index.haml +13 -5
- data/lib/deployments-app/views/layouts/application.haml +39 -0
- data/lib/deployments-app/views/projects/index.haml +10 -0
- data/lib/deployments-app/views/projects/new.haml +7 -0
- data/public/css/bootstrap-responsive.min.css +9 -0
- data/public/css/bootstrap.min.css +622 -0
- data/public/img/glyphicons-halflings-white.png +0 -0
- data/public/img/glyphicons-halflings.png +0 -0
- data/public/js/bootstrap.min.js +6 -0
- data/public/js/jquery.min.js +4 -0
- data/spec/factories/commits.rb +1 -1
- data/spec/factories/deployments.rb +14 -2
- data/spec/factories/projects.rb +3 -2
- data/spec/models/commit_spec.rb +1 -3
- data/spec/models/deployment_spec.rb +13 -27
- data/spec/models/project_spec.rb +16 -7
- data/spec/routes/projects_spec.rb +31 -0
- data/spec/routes/root_spec.rb +50 -0
- data/spec/spec_helper.rb +15 -2
- data/spec/support/data_mapper.rb +1 -4
- data/spec/support/factory_girl.rb +18 -0
- metadata +91 -5
- data/config/database.yml.example +0 -6
- data/spec/routes/deployments_spec.rb +0 -20
data/.gitignore
CHANGED
data/Gemfile
CHANGED
@@ -3,11 +3,20 @@ source 'https://rubygems.org'
|
|
3
3
|
gemspec
|
4
4
|
|
5
5
|
gem 'sinatra'
|
6
|
-
gem 'heroku'
|
7
6
|
gem 'datamapper'
|
8
|
-
gem 'uniquify', :git => "
|
9
|
-
gem '
|
7
|
+
gem 'uniquify', :git => "https://github.com/oivoodoo/uniquify.git"
|
8
|
+
gem 'dm-core'
|
9
|
+
gem 'dm-aggregates'
|
10
|
+
gem 'dm-constraints'
|
11
|
+
gem 'dm-migrations'
|
12
|
+
gem 'dm-transactions'
|
13
|
+
gem 'dm-serializer'
|
14
|
+
gem 'dm-timestamps'
|
15
|
+
gem 'dm-validations'
|
16
|
+
gem 'dm-types'
|
10
17
|
gem 'haml'
|
18
|
+
gem 'deployments'
|
19
|
+
gem 'rake'
|
11
20
|
|
12
21
|
group :test do
|
13
22
|
gem 'rspec'
|
@@ -21,10 +30,18 @@ group :test do
|
|
21
30
|
gem 'guard-cucumber'
|
22
31
|
gem 'rack-test'
|
23
32
|
gem 'dm-rspec'
|
24
|
-
gem 'dm-
|
33
|
+
gem 'dm-sqlite-adapter'
|
34
|
+
gem 'database_cleaner'
|
25
35
|
end
|
26
36
|
|
27
37
|
group :development do
|
28
38
|
gem 'debugger'
|
39
|
+
gem 'heroku'
|
40
|
+
gem 'dm-mysql-adapter'
|
41
|
+
end
|
42
|
+
|
43
|
+
group :production do
|
44
|
+
gem 'pg'
|
45
|
+
gem 'dm-postgres-adapter'
|
29
46
|
end
|
30
47
|
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,266 @@
|
|
1
|
+
GIT
|
2
|
+
remote: https://github.com/oivoodoo/uniquify.git
|
3
|
+
revision: 5e5a91e2137ced5d0bfbe8a3b9dcaff606e1dd39
|
4
|
+
specs:
|
5
|
+
uniquify (0.1.0)
|
6
|
+
|
7
|
+
PATH
|
8
|
+
remote: .
|
9
|
+
specs:
|
10
|
+
deployments-app (0.0.5)
|
11
|
+
datamapper
|
12
|
+
haml
|
13
|
+
rake
|
14
|
+
sinatra
|
15
|
+
|
16
|
+
GEM
|
17
|
+
remote: https://rubygems.org/
|
18
|
+
specs:
|
19
|
+
activesupport (3.2.7)
|
20
|
+
i18n (~> 0.6)
|
21
|
+
multi_json (~> 1.0)
|
22
|
+
addressable (2.2.8)
|
23
|
+
bcrypt-ruby (3.0.1)
|
24
|
+
blockenspiel (0.4.5)
|
25
|
+
builder (3.0.0)
|
26
|
+
capistrano (2.12.0)
|
27
|
+
highline
|
28
|
+
net-scp (>= 1.0.0)
|
29
|
+
net-sftp (>= 2.0.0)
|
30
|
+
net-ssh (>= 2.0.14)
|
31
|
+
net-ssh-gateway (>= 1.1.0)
|
32
|
+
capybara (1.1.2)
|
33
|
+
mime-types (>= 1.16)
|
34
|
+
nokogiri (>= 1.3.3)
|
35
|
+
rack (>= 1.0.0)
|
36
|
+
rack-test (>= 0.5.4)
|
37
|
+
selenium-webdriver (~> 2.0)
|
38
|
+
xpath (~> 0.1.4)
|
39
|
+
capybara-webkit (0.12.1)
|
40
|
+
capybara (>= 1.0.0, < 1.2)
|
41
|
+
json
|
42
|
+
childprocess (0.3.4)
|
43
|
+
ffi (~> 1.0, >= 1.0.6)
|
44
|
+
columnize (0.3.6)
|
45
|
+
cucumber (1.2.1)
|
46
|
+
builder (>= 2.1.2)
|
47
|
+
diff-lcs (>= 1.1.3)
|
48
|
+
gherkin (~> 2.11.0)
|
49
|
+
json (>= 1.4.6)
|
50
|
+
curb (0.8.1)
|
51
|
+
data_objects (0.10.8)
|
52
|
+
addressable (~> 2.1)
|
53
|
+
database_cleaner (0.8.0)
|
54
|
+
datamapper (1.2.0)
|
55
|
+
dm-aggregates (~> 1.2.0)
|
56
|
+
dm-constraints (~> 1.2.0)
|
57
|
+
dm-core (~> 1.2.0)
|
58
|
+
dm-migrations (~> 1.2.0)
|
59
|
+
dm-serializer (~> 1.2.0)
|
60
|
+
dm-timestamps (~> 1.2.0)
|
61
|
+
dm-transactions (~> 1.2.0)
|
62
|
+
dm-types (~> 1.2.0)
|
63
|
+
dm-validations (~> 1.2.0)
|
64
|
+
debugger (1.2.0)
|
65
|
+
columnize (>= 0.3.1)
|
66
|
+
debugger-linecache (~> 1.1.1)
|
67
|
+
debugger-ruby_core_source (~> 1.1.3)
|
68
|
+
debugger-linecache (1.1.2)
|
69
|
+
debugger-ruby_core_source (>= 1.1.1)
|
70
|
+
debugger-ruby_core_source (1.1.3)
|
71
|
+
deployments (0.1.11)
|
72
|
+
capistrano
|
73
|
+
curb
|
74
|
+
grit
|
75
|
+
simple-conf
|
76
|
+
versionomy
|
77
|
+
diff-lcs (1.1.3)
|
78
|
+
dm-aggregates (1.2.0)
|
79
|
+
dm-core (~> 1.2.0)
|
80
|
+
dm-constraints (1.2.0)
|
81
|
+
dm-core (~> 1.2.0)
|
82
|
+
dm-core (1.2.0)
|
83
|
+
addressable (~> 2.2.6)
|
84
|
+
dm-do-adapter (1.2.0)
|
85
|
+
data_objects (~> 0.10.6)
|
86
|
+
dm-core (~> 1.2.0)
|
87
|
+
dm-migrations (1.2.0)
|
88
|
+
dm-core (~> 1.2.0)
|
89
|
+
dm-mysql-adapter (1.2.0)
|
90
|
+
dm-do-adapter (~> 1.2.0)
|
91
|
+
do_mysql (~> 0.10.6)
|
92
|
+
dm-postgres-adapter (1.2.0)
|
93
|
+
dm-do-adapter (~> 1.2.0)
|
94
|
+
do_postgres (~> 0.10.6)
|
95
|
+
dm-rspec (0.2.3)
|
96
|
+
dm-core
|
97
|
+
dm-validations
|
98
|
+
dm-serializer (1.2.1)
|
99
|
+
dm-core (~> 1.2.0)
|
100
|
+
fastercsv (~> 1.5.4)
|
101
|
+
json (~> 1.6.1)
|
102
|
+
json_pure (~> 1.6.1)
|
103
|
+
multi_json (~> 1.0.3)
|
104
|
+
dm-sqlite-adapter (1.2.0)
|
105
|
+
dm-do-adapter (~> 1.2.0)
|
106
|
+
do_sqlite3 (~> 0.10.6)
|
107
|
+
dm-timestamps (1.2.0)
|
108
|
+
dm-core (~> 1.2.0)
|
109
|
+
dm-transactions (1.2.0)
|
110
|
+
dm-core (~> 1.2.0)
|
111
|
+
dm-types (1.2.1)
|
112
|
+
bcrypt-ruby (~> 3.0.0)
|
113
|
+
dm-core (~> 1.2.0)
|
114
|
+
fastercsv (~> 1.5.4)
|
115
|
+
json (~> 1.6.1)
|
116
|
+
multi_json (~> 1.0.3)
|
117
|
+
stringex (~> 1.3.0)
|
118
|
+
uuidtools (~> 2.1.2)
|
119
|
+
dm-validations (1.2.0)
|
120
|
+
dm-core (~> 1.2.0)
|
121
|
+
do_mysql (0.10.8)
|
122
|
+
data_objects (= 0.10.8)
|
123
|
+
do_postgres (0.10.8)
|
124
|
+
data_objects (= 0.10.8)
|
125
|
+
do_sqlite3 (0.10.8)
|
126
|
+
data_objects (= 0.10.8)
|
127
|
+
excon (0.15.4)
|
128
|
+
factory_girl (3.5.0)
|
129
|
+
activesupport (>= 3.0.0)
|
130
|
+
fastercsv (1.5.5)
|
131
|
+
ffi (1.1.0)
|
132
|
+
gherkin (2.11.1)
|
133
|
+
json (>= 1.4.6)
|
134
|
+
grit (2.5.0)
|
135
|
+
diff-lcs (~> 1.1)
|
136
|
+
mime-types (~> 1.15)
|
137
|
+
posix-spawn (~> 0.3.6)
|
138
|
+
guard (1.2.3)
|
139
|
+
listen (>= 0.4.2)
|
140
|
+
thor (>= 0.14.6)
|
141
|
+
guard-cucumber (1.2.0)
|
142
|
+
cucumber (>= 1.2.0)
|
143
|
+
guard (>= 1.1.0)
|
144
|
+
guard-rspec (1.2.0)
|
145
|
+
guard (>= 1.1)
|
146
|
+
haml (3.1.6)
|
147
|
+
heroku (2.30.1)
|
148
|
+
heroku-api (~> 0.3.1)
|
149
|
+
launchy (>= 0.3.2)
|
150
|
+
netrc (~> 0.7.5)
|
151
|
+
rest-client (~> 1.6.1)
|
152
|
+
rubyzip
|
153
|
+
heroku-api (0.3.1)
|
154
|
+
excon (~> 0.15.4)
|
155
|
+
highline (1.6.13)
|
156
|
+
i18n (0.6.0)
|
157
|
+
json (1.6.7)
|
158
|
+
json_pure (1.6.7)
|
159
|
+
launchy (2.1.0)
|
160
|
+
addressable (~> 2.2.6)
|
161
|
+
libwebsocket (0.1.5)
|
162
|
+
addressable
|
163
|
+
listen (0.4.7)
|
164
|
+
rb-fchange (~> 0.0.5)
|
165
|
+
rb-fsevent (~> 0.9.1)
|
166
|
+
rb-inotify (~> 0.8.8)
|
167
|
+
mime-types (1.19)
|
168
|
+
multi_json (1.0.4)
|
169
|
+
net-scp (1.0.4)
|
170
|
+
net-ssh (>= 1.99.1)
|
171
|
+
net-sftp (2.0.5)
|
172
|
+
net-ssh (>= 2.0.9)
|
173
|
+
net-ssh (2.5.2)
|
174
|
+
net-ssh-gateway (1.1.0)
|
175
|
+
net-ssh (>= 1.99.1)
|
176
|
+
netrc (0.7.5)
|
177
|
+
nokogiri (1.5.5)
|
178
|
+
pg (0.14.0)
|
179
|
+
posix-spawn (0.3.6)
|
180
|
+
rack (1.4.1)
|
181
|
+
rack-protection (1.2.0)
|
182
|
+
rack
|
183
|
+
rack-test (0.6.1)
|
184
|
+
rack (>= 1.0)
|
185
|
+
rake (0.9.2.2)
|
186
|
+
rb-fchange (0.0.5)
|
187
|
+
ffi
|
188
|
+
rb-fsevent (0.9.1)
|
189
|
+
rb-inotify (0.8.8)
|
190
|
+
ffi (>= 0.5.0)
|
191
|
+
rest-client (1.6.7)
|
192
|
+
mime-types (>= 1.16)
|
193
|
+
rspec (2.11.0)
|
194
|
+
rspec-core (~> 2.11.0)
|
195
|
+
rspec-expectations (~> 2.11.0)
|
196
|
+
rspec-mocks (~> 2.11.0)
|
197
|
+
rspec-core (2.11.1)
|
198
|
+
rspec-expectations (2.11.2)
|
199
|
+
diff-lcs (~> 1.1.3)
|
200
|
+
rspec-mocks (2.11.1)
|
201
|
+
ruby_gntp (0.3.4)
|
202
|
+
rubyzip (0.9.9)
|
203
|
+
selenium-webdriver (2.25.0)
|
204
|
+
childprocess (>= 0.2.5)
|
205
|
+
libwebsocket (~> 0.1.3)
|
206
|
+
multi_json (~> 1.0)
|
207
|
+
rubyzip
|
208
|
+
shoulda (3.1.1)
|
209
|
+
shoulda-context (~> 1.0)
|
210
|
+
shoulda-matchers (~> 1.2)
|
211
|
+
shoulda-context (1.0.0)
|
212
|
+
shoulda-matchers (1.2.0)
|
213
|
+
activesupport (>= 3.0.0)
|
214
|
+
simple-conf (0.0.5)
|
215
|
+
rake
|
216
|
+
sinatra (1.3.2)
|
217
|
+
rack (~> 1.3, >= 1.3.6)
|
218
|
+
rack-protection (~> 1.2)
|
219
|
+
tilt (~> 1.3, >= 1.3.3)
|
220
|
+
stringex (1.3.3)
|
221
|
+
thor (0.15.4)
|
222
|
+
tilt (1.3.3)
|
223
|
+
uuidtools (2.1.3)
|
224
|
+
versionomy (0.4.4)
|
225
|
+
blockenspiel (>= 0.4.5)
|
226
|
+
xpath (0.1.4)
|
227
|
+
nokogiri (~> 1.3)
|
228
|
+
|
229
|
+
PLATFORMS
|
230
|
+
ruby
|
231
|
+
|
232
|
+
DEPENDENCIES
|
233
|
+
capybara
|
234
|
+
capybara-webkit
|
235
|
+
cucumber
|
236
|
+
database_cleaner
|
237
|
+
datamapper
|
238
|
+
debugger
|
239
|
+
deployments
|
240
|
+
deployments-app!
|
241
|
+
dm-aggregates
|
242
|
+
dm-constraints
|
243
|
+
dm-core
|
244
|
+
dm-migrations
|
245
|
+
dm-mysql-adapter
|
246
|
+
dm-postgres-adapter
|
247
|
+
dm-rspec
|
248
|
+
dm-serializer
|
249
|
+
dm-sqlite-adapter
|
250
|
+
dm-timestamps
|
251
|
+
dm-transactions
|
252
|
+
dm-types
|
253
|
+
dm-validations
|
254
|
+
factory_girl
|
255
|
+
guard-cucumber
|
256
|
+
guard-rspec
|
257
|
+
haml
|
258
|
+
heroku
|
259
|
+
pg
|
260
|
+
rack-test
|
261
|
+
rake
|
262
|
+
rspec
|
263
|
+
ruby_gntp
|
264
|
+
shoulda
|
265
|
+
sinatra
|
266
|
+
uniquify!
|
data/Guardfile
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
guard 'rspec', :cli => '--format documentation', :version => 2, :all_after_pass => false, :keep_failed => false do
|
2
2
|
watch(%r{^spec/.+_spec\.rb$})
|
3
3
|
watch(%r{^spec/.+\.rb$})
|
4
|
+
watch(%r{^spec/factories/.+\.rb$})
|
4
5
|
watch(%r{^lib/(.+)\.rb$}) { "spec" }
|
6
|
+
watch(%r{^lib/deployments-app/routes/(.+)\.rb$}) { |m| Dir[File.join("spec/routes/#{m[1]}_spec.rb")][0] || 'spec' }
|
5
7
|
watch(%r{^lib/deployments-app/models/(.+)\.rb$}) { "spec/models/" }
|
6
8
|
watch(%r{^lib/deployments-app/(.+)\.rb$}) { "spec" }
|
7
9
|
watch('spec/spec_helper.rb') { "spec" }
|
@@ -10,6 +12,7 @@ end
|
|
10
12
|
guard 'cucumber',:all_after_pass => false do
|
11
13
|
watch(%r{^views/.+\.haml$}) { 'features' }
|
12
14
|
watch(%r{^lib/deployments-app/views/.+\.haml$}) { 'features' }
|
15
|
+
watch(%r{^lib/deployments-app/routes/(.+)\.rb$}) { |m| Dir[File.join("features/#{m[1]}/")][0] || 'features' }
|
13
16
|
watch(%r{^features/.+\.feature$})
|
14
17
|
watch(%r{^features/support/.+$}) { 'features' }
|
15
18
|
watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' }
|
data/Rakefile
CHANGED
data/config.ru
ADDED
data/deployments-app.gemspec
CHANGED
@@ -11,6 +11,7 @@ Feature: View deployments
|
|
11
11
|
|
12
12
|
When I am on the deployments page
|
13
13
|
Then I should see deployments of staging
|
14
|
+
And I should see commits that was deployed to the staging
|
14
15
|
|
15
16
|
Scenario: View deployments information of production env
|
16
17
|
Given I have already deployed project to the staging
|
@@ -18,5 +19,7 @@ Feature: View deployments
|
|
18
19
|
|
19
20
|
When I am on the deployments page
|
20
21
|
Then I should see deployments of production
|
22
|
+
And I should see commits that was deployed to the production
|
21
23
|
And I should see deployments of staging
|
24
|
+
And I should see commits that was deployed to the staging
|
22
25
|
|
@@ -0,0 +1,22 @@
|
|
1
|
+
Feature: View home page
|
2
|
+
In order to view home page
|
3
|
+
As an user
|
4
|
+
I want to open home page and use navigation
|
5
|
+
|
6
|
+
Background:
|
7
|
+
Given I have project with deployments
|
8
|
+
|
9
|
+
When I am on the home page
|
10
|
+
|
11
|
+
Scenario: View home page clicking by logo
|
12
|
+
Given I follow by name of the project
|
13
|
+
|
14
|
+
When I click on the logo of the website
|
15
|
+
Then I should be on the home page
|
16
|
+
|
17
|
+
Scenario: View home page clicking by home tab
|
18
|
+
Given I follow by name of the project
|
19
|
+
|
20
|
+
When I click on the home tab
|
21
|
+
Then I should be on the home page
|
22
|
+
|
@@ -0,0 +1,14 @@
|
|
1
|
+
Feature: View pivotal tracker story using on an id in commit
|
2
|
+
In order to get details of pushed story
|
3
|
+
As an user
|
4
|
+
I want to be able to read pivotal tracker story using an id in commit message
|
5
|
+
|
6
|
+
Background:
|
7
|
+
Given I have a project
|
8
|
+
And I have a deployments with pivotal tracker stories
|
9
|
+
|
10
|
+
Scenario: View pivotal tracker story
|
11
|
+
When I am on the project page
|
12
|
+
Then I should see ids of pivotal tracker stories
|
13
|
+
And I should be abe to navigate following id
|
14
|
+
|
@@ -0,0 +1,20 @@
|
|
1
|
+
Feature: New project
|
2
|
+
In order to create new project in the app for registering deployments
|
3
|
+
As an user
|
4
|
+
I want to be able to create new project
|
5
|
+
|
6
|
+
Background:
|
7
|
+
Given I am on the projects page
|
8
|
+
|
9
|
+
When I click on the new project button
|
10
|
+
|
11
|
+
Scenario: New project
|
12
|
+
When I fill all required fields
|
13
|
+
And I save changes
|
14
|
+
Then I should see new project in the list
|
15
|
+
|
16
|
+
Scenario: Don't create with invalid fields
|
17
|
+
When I don't fill one required field
|
18
|
+
And I save changes
|
19
|
+
Then I should see error notification
|
20
|
+
|