Activity => Object: temporarily disable inner object rendering

...until we're storing inner objects everywhere.
activity-redesign
Ryan Barrett 2023-02-05 08:17:22 -08:00
rodzic 04c2a582b9
commit a820eeb57a
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 6BE31FDF4776E9D4
2 zmienionych plików z 15 dodań i 10 usunięć

Wyświetl plik

@ -30,16 +30,18 @@ def render():
error(f'Stored object for {id} has no AS1', status=404)
as1 = json_loads(obj.as1)
if (as1.get('objectType') == 'activity' and
as1.get('verb') in ('post', 'update', 'delete')):
# redirect to inner object
obj_id = as1.get('object')
if isinstance(obj_id, dict):
obj_id = obj_id.get('id')
if not obj_id:
error(f'Stored {type} activity has no object id!', status=404)
logger.info(f'{type} activity, redirecting to object id {obj_id}')
return redirect('/render?' + urlencode({'id': obj_id}), code=301)
# TODO: uncomment once we're storing inner objects separately
# if (as1.get('objectType') == 'activity' and
# as1.get('verb') in ('post', 'update', 'delete')):
# # redirect to inner object
# obj_id = as1.get('object')
# if isinstance(obj_id, dict):
# obj_id = obj_id.get('id')
# if not obj_id:
# error(f'Stored {type} activity has no object id!', status=404)
# logger.info(f'{type} activity, redirecting to object id {obj_id}')
# return redirect('/render?' + urlencode({'id': obj_id}), code=301)
# add HTML meta redirect to source page. should trigger for end users in
# browsers but not for webmention receivers (hopefully).

Wyświetl plik

@ -1,6 +1,7 @@
# coding=utf-8
"""Unit tests for render.py."""
import copy
from unittest import skip
from granary.tests.test_as1 import COMMENT, DELETE_OF_ID, UPDATE
from oauth_dropins.webutil.util import json_dumps
@ -64,6 +65,7 @@ class RenderTest(testutil.TestCase):
self.assert_multiline_equals(expected, resp.get_data(as_text=True),
ignore_blanks=True)
@skip
def test_render_update_redirect(self):
# UPDATE's object field is a full object
Object(id='abc', as1=json_dumps(UPDATE)).put()
@ -72,6 +74,7 @@ class RenderTest(testutil.TestCase):
self.assertEqual(f'/render?id=tag%3Afake.com%3A123456',
resp.headers['Location'])
@skip
def test_render_delete_redirect(self):
# DELETE_OF_ID's object field is a bare string id
Object(id='abc', as1=json_dumps(DELETE_OF_ID)).put()