def test_cuboids_exist_with_cache_miss(self, fake_get_region): """Test method for checking if cuboids exist in S3 index while supporting the cache miss key index parameter""" os = AWSObjectStore(self.object_store_config) expected_keys = [ "CACHED-CUBOID&1&1&1&0&0&12", "CACHED-CUBOID&1&1&1&0&0&13", "CACHED-CUBOID&1&1&1&0&0&14" ] test_keys = [ "CACHED-CUBOID&1&1&1&0&0&100", "CACHED-CUBOID&1&1&1&0&0&13", "CACHED-CUBOID&1&1&1&0&0&14", "CACHED-CUBOID&1&1&1&0&0&15" ] expected_object_keys = os.cached_cuboid_to_object_keys(expected_keys) # Populate table for k in expected_object_keys: os.add_cuboid_to_index(k) # Check for keys exist_keys, missing_keys = os.cuboids_exist(test_keys, [1, 2]) assert exist_keys == [1, 2] assert missing_keys == []
def test_cuboids_exist(self): """Test method for checking if cuboids exist in S3 index""" os = AWSObjectStore(self.object_store_config) expected_keys = ["CACHED-CUBOID&1&1&1&0&0&12", "CACHED-CUBOID&1&1&1&0&0&13", "CACHED-CUBOID&1&1&1&0&0&14"] test_keys = ["CACHED-CUBOID&1&1&1&0&0&100", "CACHED-CUBOID&1&1&1&0&0&13", "CACHED-CUBOID&1&1&1&0&0&14", "CACHED-CUBOID&1&1&1&0&0&15"] expected_object_keys = os.cached_cuboid_to_object_keys(expected_keys) # Populate table for k in expected_object_keys: os.add_cuboid_to_index(k) # Check for keys exist_keys, missing_keys = os.cuboids_exist(test_keys) assert exist_keys == [1, 2] assert missing_keys == [0, 3]
def test_add_cuboid_to_index(self): """Test method to compute final object key and add to S3""" dummy_key = "SLDKFJDSHG&1&1&1&0&0&12" os = AWSObjectStore(self.object_store_config) os.add_cuboid_to_index(dummy_key) # Get item dynamodb = boto3.client('dynamodb', region_name=get_region()) response = dynamodb.get_item( TableName=self.object_store_config['s3_index_table'], Key={'object-key': {'S': dummy_key}, 'version-node': {'N': "0"}}, ReturnConsumedCapacity='NONE' ) assert response['Item']['object-key']['S'] == dummy_key assert response['Item']['version-node']['N'] == "0" assert response['Item']['ingest-job-hash']['S'] == '1' assert response['Item']['ingest-job-range']['S'] == '1&1&0&0'