2021-01-07 19:06:22 +00:00
|
|
|
# Pleroma: A lightweight social networking server
|
2022-02-26 06:11:42 +00:00
|
|
|
# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
|
2021-01-07 19:06:22 +00:00
|
|
|
# SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
|
|
|
|
defmodule Pleroma.Web.PleromaAPI.BackupViewTest do
|
|
|
|
use Pleroma.DataCase, async: true
|
2023-12-11 06:54:11 +00:00
|
|
|
|
|
|
|
alias Pleroma.UnstubbedConfigMock, as: ConfigMock
|
2021-01-07 19:06:22 +00:00
|
|
|
alias Pleroma.User.Backup
|
|
|
|
alias Pleroma.Web.PleromaAPI.BackupView
|
2023-12-11 06:54:11 +00:00
|
|
|
|
|
|
|
import Mox
|
2021-01-07 19:06:22 +00:00
|
|
|
import Pleroma.Factory
|
|
|
|
|
2023-12-11 06:54:11 +00:00
|
|
|
setup do
|
|
|
|
ConfigMock
|
|
|
|
|> stub_with(Pleroma.Test.StaticConfig)
|
|
|
|
|
|
|
|
:ok
|
|
|
|
end
|
|
|
|
|
2021-01-07 19:06:22 +00:00
|
|
|
test "it renders the ID" do
|
|
|
|
user = insert(:user)
|
|
|
|
backup = Backup.new(user)
|
|
|
|
|
|
|
|
result = BackupView.render("show.json", backup: backup)
|
|
|
|
assert result.id == backup.id
|
|
|
|
end
|
2022-12-16 19:10:48 +00:00
|
|
|
|
|
|
|
test "it renders the state and processed_number" do
|
|
|
|
user = insert(:user)
|
|
|
|
backup = Backup.new(user)
|
|
|
|
|
|
|
|
result = BackupView.render("show.json", backup: backup)
|
|
|
|
assert result.state == to_string(backup.state)
|
|
|
|
assert result.processed_number == backup.processed_number
|
|
|
|
end
|
|
|
|
|
|
|
|
test "it renders failed state with legacy records" do
|
|
|
|
backup = %Backup{
|
|
|
|
id: 0,
|
|
|
|
content_type: "application/zip",
|
|
|
|
file_name: "dummy",
|
|
|
|
file_size: 1,
|
|
|
|
state: :invalid,
|
|
|
|
processed: true,
|
|
|
|
processed_number: 1,
|
|
|
|
inserted_at: NaiveDateTime.utc_now()
|
|
|
|
}
|
|
|
|
|
|
|
|
result = BackupView.render("show.json", backup: backup)
|
|
|
|
assert result.state == "complete"
|
|
|
|
|
|
|
|
backup = %Backup{
|
|
|
|
id: 0,
|
|
|
|
content_type: "application/zip",
|
|
|
|
file_name: "dummy",
|
|
|
|
file_size: 1,
|
|
|
|
state: :invalid,
|
|
|
|
processed: false,
|
|
|
|
processed_number: 1,
|
|
|
|
inserted_at: NaiveDateTime.utc_now()
|
|
|
|
}
|
|
|
|
|
|
|
|
result = BackupView.render("show.json", backup: backup)
|
|
|
|
assert result.state == "failed"
|
|
|
|
end
|
2021-01-07 19:06:22 +00:00
|
|
|
end
|