mirror of
https://git.pleroma.social/pleroma/pleroma.git
synced 2024-06-02 13:29:25 +00:00
8a16504ce1
All of these turned out to also have their upload set to S3 with default values. That made the tests fail because the default S3 values don't work.
87 lines
2.4 KiB
Elixir
87 lines
2.4 KiB
Elixir
# Pleroma: A lightweight social networking server
|
|
# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
|
|
# SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
defmodule Pleroma.Web.PleromaAPI.BackupControllerTest do
|
|
use Pleroma.Web.ConnCase
|
|
|
|
alias Pleroma.User.Backup
|
|
alias Pleroma.Web.PleromaAPI.BackupView
|
|
|
|
setup do
|
|
clear_config([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
|
|
clear_config([Pleroma.Uploaders.Local, :uploads], "uploads")
|
|
clear_config([Backup, :limit_days])
|
|
oauth_access(["read:accounts"])
|
|
end
|
|
|
|
test "GET /api/v1/pleroma/backups", %{user: user, conn: conn} do
|
|
assert {:ok, %Oban.Job{args: %{"backup_id" => backup_id}}} = Backup.create(user)
|
|
|
|
backup = Backup.get(backup_id)
|
|
|
|
response =
|
|
conn
|
|
|> get("/api/v1/pleroma/backups")
|
|
|> json_response_and_validate_schema(:ok)
|
|
|
|
assert [
|
|
%{
|
|
"content_type" => "application/zip",
|
|
"url" => url,
|
|
"file_size" => 0,
|
|
"processed" => false,
|
|
"inserted_at" => _
|
|
}
|
|
] = response
|
|
|
|
assert url == BackupView.download_url(backup)
|
|
|
|
Pleroma.Tests.ObanHelpers.perform_all()
|
|
|
|
assert [
|
|
%{
|
|
"url" => ^url,
|
|
"processed" => true
|
|
}
|
|
] =
|
|
conn
|
|
|> get("/api/v1/pleroma/backups")
|
|
|> json_response_and_validate_schema(:ok)
|
|
end
|
|
|
|
test "POST /api/v1/pleroma/backups", %{user: _user, conn: conn} do
|
|
assert [
|
|
%{
|
|
"content_type" => "application/zip",
|
|
"url" => url,
|
|
"file_size" => 0,
|
|
"processed" => false,
|
|
"inserted_at" => _
|
|
}
|
|
] =
|
|
conn
|
|
|> post("/api/v1/pleroma/backups")
|
|
|> json_response_and_validate_schema(:ok)
|
|
|
|
Pleroma.Tests.ObanHelpers.perform_all()
|
|
|
|
assert [
|
|
%{
|
|
"url" => ^url,
|
|
"processed" => true
|
|
}
|
|
] =
|
|
conn
|
|
|> get("/api/v1/pleroma/backups")
|
|
|> json_response_and_validate_schema(:ok)
|
|
|
|
days = Pleroma.Config.get([Backup, :limit_days])
|
|
|
|
assert %{"error" => "Last export was less than #{days} days ago"} ==
|
|
conn
|
|
|> post("/api/v1/pleroma/backups")
|
|
|> json_response_and_validate_schema(400)
|
|
end
|
|
end
|