@@ -11,29 +11,8 @@ def tmp_top
11
11
describe Travis ::Build ::RakeTasks do
12
12
subject { described_class }
13
13
14
- def releases_response ( *versions )
15
- [
16
- 200 ,
17
- { 'Content-Type' => 'application/json' } ,
18
- JSON . dump (
19
- versions . map { |v | { 'tag_name' => v } }
20
- )
21
- ]
22
- end
23
-
24
14
let :request_stubs do
25
15
Faraday ::Adapter ::Test ::Stubs . new do |stub |
26
- %w[
27
- creationix/nvm
28
- tmate-io/tmate
29
- tools/godep
30
- travis-ci/gimme
31
- ] . each do |repo_slug |
32
- stub . get ( "/repos/#{ repo_slug } /releases" ) do |*|
33
- releases_response ( 'v1.2.3' , 'v1.2.5' )
34
- end
35
- end
36
-
37
16
[
38
17
[ 'tmate-io/tmate' , 'tmate-v1.2.5-static-linux-amd64.tar.xz' ] ,
39
18
[ 'tools/godep' , 'godep_darwin_amd64' ] ,
@@ -168,27 +147,36 @@ def releases_response(*versions)
168
147
expect ( ghc_versions ) . to_not be_exist
169
148
end
170
149
171
- %w[
172
- public/files/casher
173
- public/files/gimme
174
- public/files/godep_darwin_amd64
175
- public/files/godep_linux_amd64
176
- public/files/nvm.sh
177
- public/files/rustup-init.sh
178
- public/files/sbt
179
- public/files/sc-linux.tar.gz
180
- public/files/sc-osx.zip
181
- public/files/tmate-static-linux-amd64.tar.xz
182
- public/version-aliases/ghc.json
183
- ] . each do |filename |
184
- it "can fetch #{ filename } " do
185
- %w[
186
- tmp/ghc-versions.html
187
- ] . each { |t | Rake ::Task [ t ] . reenable }
150
+ context 'fetch files' do
151
+ let ( :uri_template ) { Addressable ::Template . new 'https://api.github.com/repos/{owner}/{repo}/releases/latest' }
152
+
153
+ %w[
154
+ public/files/casher
155
+ public/files/gimme
156
+ public/files/godep_darwin_amd64
157
+ public/files/godep_linux_amd64
158
+ public/files/nvm.sh
159
+ public/files/rustup-init.sh
160
+ public/files/sbt
161
+ public/files/sc-linux.tar.gz
162
+ public/files/sc-osx.zip
163
+ public/files/tmate-static-linux-amd64.tar.xz
164
+ public/version-aliases/ghc.json
165
+ ] . each do |filename |
166
+ before do
167
+ stub_request ( :get , uri_template )
168
+ . to_return ( headers : { content_type : 'application/json' } , body : '{"tag_name": "v1.2.5"}' )
169
+ end
188
170
189
- Rake ::Task [ filename ] . reenable
190
- Rake ::Task [ filename ] . invoke
191
- expect ( tmp_top + filename ) . to be_exist
171
+ it "can fetch #{ filename } " do
172
+ %w[
173
+ tmp/ghc-versions.html
174
+ ] . each { |t | Rake ::Task [ t ] . reenable }
175
+
176
+ Rake ::Task [ filename ] . reenable
177
+ Rake ::Task [ filename ] . invoke
178
+ expect ( tmp_top + filename ) . to be_exist
179
+ end
192
180
end
193
181
end
194
182
0 commit comments