@@ -10,10 +10,12 @@ module VCAP::CloudController
10
10
let ( :tmpdir ) { Dir . mktmpdir }
11
11
let ( :filename ) { 'file.zip' }
12
12
let ( :tgz_filename ) { 'file.tgz' }
13
+ let ( :cnb_filename ) { 'file.cnb' }
13
14
14
15
let ( :sha_valid_zip ) { Digester . new ( algorithm : OpenSSL ::Digest ::SHA256 ) . digest_file ( valid_zip ) }
15
16
let ( :sha_valid_zip2 ) { Digester . new ( algorithm : OpenSSL ::Digest ::SHA256 ) . digest_file ( valid_zip2 ) }
16
17
let ( :sha_valid_tgz ) { Digester . new ( algorithm : OpenSSL ::Digest ::SHA256 ) . digest_file ( valid_tgz ) }
18
+ let ( :sha_valid_cnb ) { Digester . new ( algorithm : OpenSSL ::Digest ::SHA256 ) . digest_file ( valid_cnb ) }
17
19
18
20
let ( :valid_zip_manifest_stack ) { nil }
19
21
let ( :valid_zip ) do
@@ -43,6 +45,13 @@ module VCAP::CloudController
43
45
Rack ::Test ::UploadedFile . new ( tgz_file )
44
46
end
45
47
48
+ let ( :valid_cnb ) do
49
+ cnb_name = File . join ( tmpdir , cnb_filename )
50
+ TestCnb . create ( cnb_name , 3 , 1024 )
51
+ cnb_file = File . new ( cnb_name )
52
+ Rack ::Test ::UploadedFile . new ( cnb_file )
53
+ end
54
+
46
55
let ( :staging_timeout ) { TestConfig . config_instance . get ( :staging , :timeout_in_seconds ) }
47
56
48
57
let ( :expected_sha_valid_zip ) { "#{ buildpack . guid } _#{ sha_valid_zip } " }
@@ -152,7 +161,7 @@ module VCAP::CloudController
152
161
end
153
162
end
154
163
155
- context 'lifecycle: cnb' do
164
+ context 'lifecycle: gzip cnb' do
156
165
let! ( :buildpack ) { VCAP ::CloudController ::Buildpack . create_from_hash ( { name : 'upload_cnb_buildpack' , stack : 'cider' , position : 0 , lifecycle : 'cnb' } ) }
157
166
let ( :expected_sha_valid_tgz ) { "#{ buildpack . guid } _#{ sha_valid_tgz } " }
158
167
@@ -163,6 +172,17 @@ module VCAP::CloudController
163
172
end
164
173
end
165
174
175
+ context 'lifecycle: cnb' do
176
+ let! ( :buildpack ) { VCAP ::CloudController ::Buildpack . create_from_hash ( { name : 'upload_cnb_buildpack' , stack : 'cider' , position : 0 , lifecycle : 'cnb' } ) }
177
+ let ( :expected_sha_valid_cnb ) { "#{ buildpack . guid } _#{ sha_valid_cnb } " }
178
+
179
+ it 'uploads' do
180
+ expect ( buildpack_blobstore ) . to receive ( :cp_to_blobstore ) . with ( valid_cnb , expected_sha_valid_cnb )
181
+
182
+ upload_buildpack . upload_buildpack ( buildpack , valid_cnb , cnb_filename )
183
+ end
184
+ end
185
+
166
186
it 'updates the buildpack filename' do
167
187
expect do
168
188
upload_buildpack . upload_buildpack ( buildpack , valid_zip , filename )
0 commit comments