def test_delete_record(self): server = KintoServer('foo', 'baa') server._setup_done = True assert not server._changes url = (settings.KINTO_API_URL + 'buckets/foo/collections/baa/records/an-id') responses.add(responses.DELETE, url, content_type='application/json') server.delete_record('an-id') assert server._changes
def legacy_delete_blocks(blocks): server = KintoServer(KINTO_BUCKET, KINTO_COLLECTION_LEGACY) for block in blocks: if block.kinto_id and block.include_in_legacy: if block.is_imported_from_kinto_regex: log.debug( f'Block [{block.guid}] was imported from a regex guid so ' 'can\'t be safely deleted. Skipping.') else: server.delete_record(block.kinto_id) block.update(kinto_id='') server.complete_session()
def legacy_publish_blocks(blocks): bucket = settings.REMOTE_SETTINGS_WRITER_BUCKET server = KintoServer(bucket, REMOTE_SETTINGS_COLLECTION_LEGACY) for block in blocks: needs_updating = block.include_in_legacy and block.kinto_id needs_creating = block.include_in_legacy and not block.kinto_id needs_deleting = block.kinto_id and not block.include_in_legacy if needs_updating or needs_creating: if block.is_imported_from_kinto_regex: log.debug( f'Block [{block.guid}] was imported from a regex guid so ' 'can\'t be safely updated. Skipping.') continue data = { 'guid': block.guid, 'details': { 'bug': block.url, 'why': block.reason, 'name': str(block.reason).partition('.')[0], # required }, 'enabled': True, 'versionRange': [{ 'severity': 3, # Always high severity now. 'minVersion': block.min_version, 'maxVersion': block.max_version, }], } if needs_creating: record = server.publish_record(data) block.update(kinto_id=record.get('id', '')) else: server.publish_record(data, block.kinto_id) elif needs_deleting: if block.is_imported_from_kinto_regex: log.debug( f'Block [{block.guid}] was imported from a regex guid so ' 'can\'t be safely deleted. Skipping.') else: server.delete_record(block.kinto_id) block.update(kinto_id='') # else no existing kinto record and it shouldn't be in legacy so skip server.complete_session()