Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F74469060
backup_controller_test.exs
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
2 KB
Referenced Files
None
Subscribers
None
backup_controller_test.exs
View Options
# 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.UnstubbedConfigMock
,
as
:
ConfigMock
alias
Pleroma.User.Backup
alias
Pleroma.Web.PleromaAPI.BackupView
setup
do
clear_config
([
Pleroma.Upload
,
:uploader
])
clear_config
([
Backup
,
:limit_days
])
ConfigMock
|>
Mox
.
stub_with
(
Pleroma.Config
)
oauth_access
([
"read:backups"
])
end
test
"GET /api/v1/pleroma/backups"
,
%{
user
:
user
,
conn
:
conn
}
do
assert
{
:ok
,
%
Backup
{}
=
backup
}
=
Backup
.
user
(
user
)
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
test
"Backup without email address"
do
user
=
Pleroma.Factory
.
insert
(
:user
,
email
:
nil
)
%{
conn
:
conn
}
=
oauth_access
([
"read:backups"
],
user
:
user
)
assert
is_nil
(
user
.
email
)
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
)
end
end
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Apr 25, 1:14 PM (1 d, 12 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1289027
Default Alt Text
backup_controller_test.exs (2 KB)
Attached To
Mode
rPUBE pleroma-upstream
Attached
Detach File
Event Timeline
Log In to Comment