Ryan Barrett 2023-11-26 15:37:39 -08:00
rodzic 6091cd4063
commit fae7769d2b
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 6BE31FDF4776E9D4
2 zmienionych plików z 16 dodań i 1 usunięć

Wyświetl plik

@ -495,6 +495,17 @@ class WebTest(TestCase):
self.assert_entities_equal(user, Web.get_by_id('foo.bar'))
self.assertIsNone(Web.get_by_id('..foo.bar.'))
def test_get_or_create_existing(self, *_):
user = Web.get_or_create('user.com')
self.assertEqual('user.com', user.key.id())
self.assert_entities_equal(user, self.user)
def test_get_or_create_existing_opted_out(self, *_):
self.user.obj.mf2['properties']['summary'] = '#nobridge'
self.user.obj.put()
self.user.put()
self.assertIsNone(Web.get_or_create('user.com'))
def test_bad_source_url(self, *mocks):
orig_count = Object.query().count()

6
web.py
Wyświetl plik

@ -94,7 +94,11 @@ class Web(User, Protocol):
Normalizing currently consists of lower casing and removing leading and
trailing dots.
"""
domain = cls.key_for(id).id().lower().strip('.')
key = cls.key_for(id)
if not key:
return None # opted out
domain = key.id().lower().strip('.')
return super().get_or_create(domain, **kwargs)
@ndb.ComputedProperty