def test_ExternalFileHandle(): # Tests shouldn't have external dependencies, but this is a pretty picture of Singapore singapore_url = 'http://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/1_singapore_city_skyline_dusk_panorama_2011.jpg/1280px-1_singapore_city_skyline_dusk_panorama_2011.jpg' singapore = File(singapore_url, parent=project, synapseStore=False) singapore = syn.store(singapore) # Verify the file handle fileHandle = syn._getFileHandle(singapore.dataFileHandleId) assert_equals(fileHandle['concreteType'], 'org.sagebionetworks.repo.model.file.ExternalFileHandle') assert_equals(fileHandle['externalURL'], singapore_url) # The download should occur only on the client side singapore = syn.get(singapore, downloadFile=True) assert_is_not_none(singapore.path) assert_equals(singapore.externalURL, singapore_url) assert_true(os.path.exists(singapore.path)) # Update external URL singapore_2_url = 'https://upload.wikimedia.org/wikipedia/commons/a/a2/Singapore_Panorama_v2.jpg' singapore.externalURL = singapore_2_url singapore = syn.store(singapore) s2 = syn.get(singapore, downloadFile=False) assert_equal(s2.externalURL, singapore_2_url)
def test_ExternalFileHandle(syn, project, schedule_for_cleanup): # Tests shouldn't have external dependencies, but this is a pretty picture of Singapore singapore_url = 'http://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/1_singapore_city_skyline_dusk_panorama_2011.jpg/1280px-1_singapore_city_skyline_dusk_panorama_2011.jpg' # noqa singapore = File(singapore_url, parent=project, synapseStore=False) singapore = syn.store(singapore) # Verify the file handle fileHandle = syn._get_file_handle_as_creator(singapore.dataFileHandleId) assert fileHandle['concreteType'] == 'org.sagebionetworks.repo.model.file.ExternalFileHandle' assert fileHandle['externalURL'] == singapore_url # The download should occur only on the client side singapore = syn.get(singapore, downloadFile=True) assert singapore.path is not None assert singapore.externalURL == singapore_url assert os.path.exists(singapore.path) # Update external URL singapore_2_url = 'https://upload.wikimedia.org/wikipedia/commons/a/a2/Singapore_Panorama_v2.jpg' singapore.externalURL = singapore_2_url singapore = syn.store(singapore) s2 = syn.get(singapore, downloadFile=False) assert s2.externalURL == singapore_2_url
def test_ExternalFileHandle(): # Tests shouldn't have external dependencies, but this is a pretty picture of Singapore singapore_url = 'http://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/1_singapore_city_skyline_dusk_panorama_2011.jpg/1280px-1_singapore_city_skyline_dusk_panorama_2011.jpg' singapore = File(singapore_url, parent=project, synapseStore=False) singapore = syn.store(singapore) # Verify the file handle fileHandle = syn._getFileHandle(singapore.dataFileHandleId) assert fileHandle['concreteType'] == 'org.sagebionetworks.repo.model.file.ExternalFileHandle' assert fileHandle['externalURL'] == singapore_url # The download should occur only on the client side singapore = syn.get(singapore, downloadFile=True) assert singapore.path is not None assert singapore.externalURL == singapore_url assert os.path.exists(singapore.path) # Update external URL singapore_2_url = 'https://upload.wikimedia.org/wikipedia/commons/a/a2/Singapore_Panorama_v2.jpg' singapore.externalURL = singapore_2_url singapore = syn.store(singapore) s2 = syn.get(singapore, downloadFile=False) assert s2.externalURL == singapore_2_url