Merge pull request #1325 from coreos-inc/blobuncompressedsize
Fix uncompressed size for blob store and add test
This commit is contained in:
		
						commit
						9e88b1413d
					
				
					 2 changed files with 60 additions and 2 deletions
				
			
		
							
								
								
									
										54
									
								
								test/test_blobmodel.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								test/test_blobmodel.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,54 @@ | |||
| import unittest | ||||
| import time | ||||
| 
 | ||||
| from app import app, storage | ||||
| from initdb import setup_database_for_testing, finished_database_for_testing | ||||
| from data import model, database | ||||
| 
 | ||||
| ADMIN_ACCESS_USER = 'devtable' | ||||
| REPO = 'simple' | ||||
| 
 | ||||
| class TestBlobModel(unittest.TestCase): | ||||
|   def setUp(self): | ||||
|     setup_database_for_testing(self) | ||||
| 
 | ||||
|     self.app = app.test_client() | ||||
|     self.ctx = app.test_request_context() | ||||
|     self.ctx.__enter__() | ||||
| 
 | ||||
|   def tearDown(self): | ||||
|     finished_database_for_testing(self) | ||||
|     self.ctx.__exit__(True, None, None) | ||||
| 
 | ||||
|   def test_store_blob(self): | ||||
|     location = database.ImageStorageLocation.select().get() | ||||
| 
 | ||||
|     # Create a new blob at a unique digest. | ||||
|     digest = 'somecooldigest' | ||||
|     blob_storage = model.blob.store_blob_record_and_temp_link(ADMIN_ACCESS_USER, REPO, digest, | ||||
|                                                               location, 1024, 0, 5000) | ||||
| 
 | ||||
|     self.assertEquals(blob_storage.content_checksum, digest) | ||||
|     self.assertEquals(blob_storage.image_size, 1024) | ||||
|     self.assertEquals(blob_storage.uncompressed_size, 5000) | ||||
| 
 | ||||
|     # Link to the same digest. | ||||
|     blob_storage2 = model.blob.store_blob_record_and_temp_link(ADMIN_ACCESS_USER, REPO, digest, | ||||
|                                                                location, 2048, 0, 6000) | ||||
| 
 | ||||
|     self.assertEquals(blob_storage2.id, blob_storage.id) | ||||
|     self.assertEquals(blob_storage2.image_size, 2048) | ||||
|     self.assertEquals(blob_storage2.uncompressed_size, 6000) | ||||
| 
 | ||||
|     # Add a new digest, ensure it has a new record. | ||||
|     otherdigest = 'anotherdigest' | ||||
|     blob_storage3 = model.blob.store_blob_record_and_temp_link(ADMIN_ACCESS_USER, REPO, otherdigest, | ||||
|                                                                location, 1234, 0, 5678) | ||||
| 
 | ||||
|     self.assertNotEquals(blob_storage3.id, blob_storage.id) | ||||
|     self.assertEquals(blob_storage3.image_size, 1234) | ||||
|     self.assertEquals(blob_storage3.uncompressed_size, 5678) | ||||
| 
 | ||||
| 
 | ||||
| if __name__ == '__main__': | ||||
|   unittest.main() | ||||
		Reference in a new issue