def social_relay_view(request): """Generate a .well-known/x-social-relay document.""" scope = settings.SOCIALHOME_RELAY_SCOPE if scope == 'none': relay = SocialRelayWellKnown(subscribe=False, scope="") elif scope == 'all': relay = SocialRelayWellKnown(subscribe=True) else: return HttpResponseNotFound() return JsonResponse(relay.doc)
def test_invalid_social_relay_well_known_scope(self): with open("federation/hostmeta/schemas/social-relay-well-known.json" ) as f: schema = json.load(f) well_known = SocialRelayWellKnown(subscribe=True, tags=("foo", "bar"), scope="cities") with pytest.raises(ValidationError): validate(well_known.doc, schema)
def test_valid_social_relay_well_known_empty_tags(self): with open("federation/hostmeta/schemas/social-relay-well-known.json" ) as f: schema = json.load(f) well_known = SocialRelayWellKnown(subscribe=False) assert well_known.doc["subscribe"] == False assert well_known.doc["tags"] == [] assert well_known.doc["scope"] == "all" validate(well_known.doc, schema)
def test_valid_social_relay_well_known(self): with open("federation/hostmeta/schemas/social-relay-well-known.json" ) as f: schema = json.load(f) well_known = SocialRelayWellKnown(subscribe=True, tags=("foo", "bar"), scope="tags") assert well_known.doc["subscribe"] == True assert well_known.doc["tags"] == ["foo", "bar"] assert well_known.doc["scope"] == "tags" validate(well_known.doc, schema)
def social_relay_view(request): """Generate a .well-known/x-social-relay document.""" relay = SocialRelayWellKnown(subscribe=True) return JsonResponse(relay.doc)
def test_render_validates_invalid_document(self): well_known = SocialRelayWellKnown(subscribe=True, tags=("foo", "bar"), scope="cities") with pytest.raises(ValidationError): well_known.render()
def test_render_validates_valid_document(self): well_known = SocialRelayWellKnown(subscribe=True, tags=("foo", "bar"), scope="tags") well_known.render()
def test_render_validates_invalid_document(self): well_known = SocialRelayWellKnown(subscribe=True, tags=("foo", "bar"), scope="cities") with pytest.raises(ValidationError): well_known.render()
def test_render_validates_valid_document(self): well_known = SocialRelayWellKnown(subscribe=True, tags=("foo", "bar"), scope="tags") well_known.render()