FloatingGhost
98cb255d12
Some checks failed
ci/woodpecker/push/build-amd64 Pipeline is pending
ci/woodpecker/push/build-arm64 Pipeline is pending
ci/woodpecker/push/docs Pipeline is pending
ci/woodpecker/push/test Pipeline is pending
ci/woodpecker/pr/test Pipeline failed
ci/woodpecker/pr/build-amd64 unknown status
ci/woodpecker/pr/build-arm64 unknown status
ci/woodpecker/pr/docs unknown status
OTP builds to 1.15
Changelog entry
Ensure policies are fully loaded
Fix :warn
use main branch for linkify
Fix warn in tests
Migrations for phoenix 1.17
Revert "Migrations for phoenix 1.17"
This reverts commit 6a3b2f15b7
.
Oban upgrade
Add default empty whitelist
mix format
limit test to amd64
OTP 26 tests for 1.15
use OTP_VERSION tag
baka
just 1.15
Massive deps update
Update locale, deps
Mix format
shell????
multiline???
?
max cases 1
use assert_recieve
don't put_env in async tests
don't async conn/fs tests
mix format
FIx some uploader issues
Fix tests
101 lines
2.7 KiB
Elixir
101 lines
2.7 KiB
Elixir
# Pleroma: A lightweight social networking server
|
|
# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
|
|
# SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
defmodule Pleroma.Web.TwitterAPI.ControllerTest do
|
|
use Pleroma.Web.ConnCase, async: false
|
|
|
|
alias Pleroma.Repo
|
|
alias Pleroma.User
|
|
alias Pleroma.Web.OAuth.Token
|
|
|
|
import Pleroma.Factory
|
|
|
|
describe "GET /api/account/confirm_email/:id/:token" do
|
|
setup do
|
|
{:ok, user} =
|
|
insert(:user)
|
|
|> User.confirmation_changeset(set_confirmation: false)
|
|
|> Repo.update()
|
|
|
|
refute user.is_confirmed
|
|
|
|
[user: user]
|
|
end
|
|
|
|
test "it redirects to root url", %{conn: conn, user: user} do
|
|
conn = get(conn, "/api/account/confirm_email/#{user.id}/#{user.confirmation_token}")
|
|
|
|
assert 302 == conn.status
|
|
end
|
|
|
|
test "it confirms the user account", %{conn: conn, user: user} do
|
|
get(conn, "/api/account/confirm_email/#{user.id}/#{user.confirmation_token}")
|
|
|
|
user = User.get_cached_by_id(user.id)
|
|
|
|
assert user.is_confirmed
|
|
refute user.confirmation_token
|
|
end
|
|
|
|
test "confirmation is requested twice", %{conn: conn, user: user} do
|
|
conn = get(conn, "/api/account/confirm_email/#{user.id}/#{user.confirmation_token}")
|
|
assert 302 == conn.status
|
|
|
|
conn = get(conn, "/api/account/confirm_email/#{user.id}/#{user.confirmation_token}")
|
|
assert 400 == conn.status
|
|
assert "Already verified email" == conn.resp_body
|
|
|
|
user = User.get_cached_by_id(user.id)
|
|
|
|
assert user.is_confirmed
|
|
refute user.confirmation_token
|
|
end
|
|
|
|
test "it returns 400 if user cannot be found by id", %{conn: conn, user: user} do
|
|
conn = get(conn, "/api/account/confirm_email/0/#{user.confirmation_token}")
|
|
|
|
assert 400 == conn.status
|
|
end
|
|
|
|
test "it returns 400 if token is invalid", %{conn: conn, user: user} do
|
|
conn = get(conn, "/api/account/confirm_email/#{user.id}/wrong_token")
|
|
|
|
assert 400 == conn.status
|
|
end
|
|
end
|
|
|
|
describe "GET /api/oauth_tokens" do
|
|
setup do
|
|
token = insert(:oauth_token) |> Repo.preload(:user)
|
|
|
|
%{token: token}
|
|
end
|
|
|
|
test "renders list", %{token: token} do
|
|
response =
|
|
build_conn()
|
|
|> assign(:user, token.user)
|
|
|> get("/api/oauth_tokens")
|
|
|
|
keys =
|
|
json_response(response, 200)
|
|
|> hd()
|
|
|> Map.keys()
|
|
|
|
assert keys -- ["id", "app_name", "valid_until"] == []
|
|
end
|
|
|
|
test "revoke token", %{token: token} do
|
|
response =
|
|
build_conn()
|
|
|> assign(:user, token.user)
|
|
|> delete("/api/oauth_tokens/#{token.id}")
|
|
|
|
tokens = Token.get_user_tokens(token.user)
|
|
|
|
assert tokens == []
|
|
assert response.status == 201
|
|
end
|
|
end
|
|
end
|