def test_set_one_file_not_in_channel(self, drive_mock): DriveData = namedtuple("DriveData", ["id", "datafolder"]) drive_mock.return_value = DriveData(id=self.mock_drive_id, datafolder=self.mock_home_dir) self.createmock_content_file(uuid.uuid4().hex) checksums = get_available_checksums_from_disk(test_channel_id, self.mock_drive_id) self.assertEqual(checksums, set())
def test_set_two_files_in_channel(self, drive_mock): DriveData = namedtuple("DriveData", ["id", "datafolder"]) drive_mock.return_value = DriveData(id=self.mock_drive_id, datafolder=self.mock_home_dir) self.createmock_content_file1() self.createmock_content_file2() checksums = get_available_checksums_from_disk(test_channel_id, self.mock_drive_id) self.assertEqual(checksums, set([file_id_1, file_id_2]))
def get_channel_stats_from_disk(channel_id, drive_id): CACHE_KEY = "DISK_CHANNEL_STATS_{drive_id}_{channel_id}".format( drive_id=drive_id, channel_id=channel_id) if CACHE_KEY not in cache: checksums = get_available_checksums_from_disk(channel_id, drive_id) channel_stats = get_channel_annotation_stats(channel_id, checksums) cache.set(CACHE_KEY, channel_stats, 3600) register_key_as_cached(CACHE_KEY, channel_id) else: channel_stats = cache.get(CACHE_KEY) return channel_stats
def checksums_from_drive_id(self, drive_id, instance): try: datafolder = get_mounted_drive_by_id(drive_id).datafolder except KeyError: raise serializers.ValidationError( "The external drive with given drive id {} does not exist.".format( drive_id ) ) return get_available_checksums_from_disk(instance.channel_id, datafolder)
def test_set_two_files_none_in_channel(self): self.createmock_content_file(uuid.uuid4().hex) self.createmock_content_file(uuid.uuid4().hex) checksums = get_available_checksums_from_disk(test_channel_id, self.mock_home_dir) self.assertEqual(checksums, set())
def test_set_two_files_in_channel(self): self.createmock_content_file1() self.createmock_content_file2() checksums = get_available_checksums_from_disk(test_channel_id, self.mock_home_dir) self.assertEqual(checksums, set([file_id_1, file_id_2]))