Esempio n. 1
0
def test_migrate_to_user_libraries_update_actors_shared_inbox_url(factories, stdout):
    local = factories["federation.Actor"](local=True, shared_inbox_url=None)
    remote = factories["federation.Actor"](local=False, shared_inbox_url=None)
    expected = federation_models.get_shared_inbox_url()
    scripts.migrate_to_user_libraries.update_shared_inbox_url(stdout)

    local.refresh_from_db()
    remote.refresh_from_db()

    assert local.shared_inbox_url == expected
    assert remote.shared_inbox_url is None
Esempio n. 2
0
def get_actor_data(username, **kwargs):
    slugified_username = federation_utils.slugify_username(username)
    domain = kwargs.get("domain")
    if not domain:
        domain = federation_models.Domain.objects.get_or_create(
            name=settings.FEDERATION_HOSTNAME)[0]
    return {
        "preferred_username":
        slugified_username,
        "domain":
        domain,
        "type":
        "Person",
        "name":
        kwargs.get("name", username),
        "summary":
        kwargs.get("summary"),
        "manually_approves_followers":
        False,
        "fid":
        federation_utils.full_url(
            reverse(
                "federation:actors-detail",
                kwargs={"preferred_username": slugified_username},
            )),
        "shared_inbox_url":
        federation_models.get_shared_inbox_url(),
        "inbox_url":
        federation_utils.full_url(
            reverse(
                "federation:actors-inbox",
                kwargs={"preferred_username": slugified_username},
            )),
        "outbox_url":
        federation_utils.full_url(
            reverse(
                "federation:actors-outbox",
                kwargs={"preferred_username": slugified_username},
            )),
        "followers_url":
        federation_utils.full_url(
            reverse(
                "federation:actors-followers",
                kwargs={"preferred_username": slugified_username},
            )),
        "following_url":
        federation_utils.full_url(
            reverse(
                "federation:actors-following",
                kwargs={"preferred_username": slugified_username},
            )),
    }
Esempio n. 3
0
def get_actor_data(user):
    username = federation_utils.slugify_username(user.username)
    return {
        "preferred_username":
        username,
        "domain":
        settings.FEDERATION_HOSTNAME,
        "type":
        "Person",
        "name":
        user.username,
        "manually_approves_followers":
        False,
        "fid":
        federation_utils.full_url(
            reverse("federation:actors-detail",
                    kwargs={"preferred_username": username})),
        "shared_inbox_url":
        federation_models.get_shared_inbox_url(),
        "inbox_url":
        federation_utils.full_url(
            reverse("federation:actors-inbox",
                    kwargs={"preferred_username": username})),
        "outbox_url":
        federation_utils.full_url(
            reverse("federation:actors-outbox",
                    kwargs={"preferred_username": username})),
        "followers_url":
        federation_utils.full_url(
            reverse("federation:actors-followers",
                    kwargs={"preferred_username": username})),
        "following_url":
        federation_utils.full_url(
            reverse("federation:actors-following",
                    kwargs={"preferred_username": username})),
    }
def update_shared_inbox_url(stdout):
    stdout.write("* Update shared inbox url for local actors...")
    candidates = federation_models.Actor.objects.local()
    url = federation_models.get_shared_inbox_url()
    candidates.update(shared_inbox_url=url)