@@ -11,29 +11,8 @@ def tmp_top
1111describe Travis ::Build ::RakeTasks do
1212 subject { described_class }
1313
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-
2414 let :request_stubs do
2515 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-
3716 [
3817 [ 'tmate-io/tmate' , 'tmate-v1.2.5-static-linux-amd64.tar.xz' ] ,
3918 [ 'tools/godep' , 'godep_darwin_amd64' ] ,
@@ -168,27 +147,36 @@ def releases_response(*versions)
168147 expect ( ghc_versions ) . to_not be_exist
169148 end
170149
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
188170
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
192180 end
193181 end
194182
0 commit comments