@@ -10,10 +10,12 @@ module VCAP::CloudController
1010 let ( :tmpdir ) { Dir . mktmpdir }
1111 let ( :filename ) { 'file.zip' }
1212 let ( :tgz_filename ) { 'file.tgz' }
13+ let ( :cnb_filename ) { 'file.cnb' }
1314
1415 let ( :sha_valid_zip ) { Digester . new ( algorithm : OpenSSL ::Digest ::SHA256 ) . digest_file ( valid_zip ) }
1516 let ( :sha_valid_zip2 ) { Digester . new ( algorithm : OpenSSL ::Digest ::SHA256 ) . digest_file ( valid_zip2 ) }
1617 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 ) }
1719
1820 let ( :valid_zip_manifest_stack ) { nil }
1921 let ( :valid_zip ) do
@@ -43,6 +45,13 @@ module VCAP::CloudController
4345 Rack ::Test ::UploadedFile . new ( tgz_file )
4446 end
4547
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+
4655 let ( :staging_timeout ) { TestConfig . config_instance . get ( :staging , :timeout_in_seconds ) }
4756
4857 let ( :expected_sha_valid_zip ) { "#{ buildpack . guid } _#{ sha_valid_zip } " }
@@ -152,7 +161,7 @@ module VCAP::CloudController
152161 end
153162 end
154163
155- context 'lifecycle: cnb' do
164+ context 'lifecycle: gzip cnb' do
156165 let! ( :buildpack ) { VCAP ::CloudController ::Buildpack . create_from_hash ( { name : 'upload_cnb_buildpack' , stack : 'cider' , position : 0 , lifecycle : 'cnb' } ) }
157166 let ( :expected_sha_valid_tgz ) { "#{ buildpack . guid } _#{ sha_valid_tgz } " }
158167
@@ -163,6 +172,17 @@ module VCAP::CloudController
163172 end
164173 end
165174
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+
166186 it 'updates the buildpack filename' do
167187 expect do
168188 upload_buildpack . upload_buildpack ( buildpack , valid_zip , filename )
0 commit comments