Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F21968235
app_test.exs
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
1 KB
Referenced Files
None
Subscribers
None
app_test.exs
View Options
# Pleroma: A lightweight social networking server
# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule
Pleroma.Web.OAuth.AppTest
do
use
Pleroma.DataCase
alias
Pleroma.Web.OAuth.App
import
Pleroma.Factory
describe
"get_or_make/2"
do
test
"gets exist app"
do
attrs
=
%{
client_name
:
"Mastodon-Local"
,
redirect_uris
:
"."
}
app
=
insert
(
:oauth_app
,
Map
.
merge
(
attrs
,
%{
scopes
:
[
"read"
,
"write"
]}))
{
:ok
,
%
App
{}
=
exist_app
}
=
App
.
get_or_make
(
attrs
,
[])
assert
exist_app
==
app
end
test
"make app"
do
attrs
=
%{
client_name
:
"Mastodon-Local"
,
redirect_uris
:
"."
}
{
:ok
,
%
App
{}
=
app
}
=
App
.
get_or_make
(
attrs
,
[
"write"
])
assert
app
.
scopes
==
[
"write"
]
end
test
"gets exist app and updates scopes"
do
attrs
=
%{
client_name
:
"Mastodon-Local"
,
redirect_uris
:
"."
}
app
=
insert
(
:oauth_app
,
Map
.
merge
(
attrs
,
%{
scopes
:
[
"read"
,
"write"
]}))
{
:ok
,
%
App
{}
=
exist_app
}
=
App
.
get_or_make
(
attrs
,
[
"read"
,
"write"
,
"follow"
,
"push"
])
assert
exist_app
.
id
==
app
.
id
assert
exist_app
.
scopes
==
[
"read"
,
"write"
,
"follow"
,
"push"
]
end
test
"has unique client_id"
do
insert
(
:oauth_app
,
client_name
:
""
,
redirect_uris
:
""
,
client_id
:
"boop"
)
error
=
catch_error
(
insert
(
:oauth_app
,
client_name
:
""
,
redirect_uris
:
""
,
client_id
:
"boop"
))
assert
%
Ecto.ConstraintError
{}
=
error
assert
error
.
constraint
==
"apps_client_id_index"
assert
error
.
type
==
:unique
end
end
end
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Dec 28, 3:24 AM (1 d, 1 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
799150
Default Alt Text
app_test.exs (1 KB)
Attached To
Mode
rPUBE pleroma-upstream
Attached
Detach File
Event Timeline
Log In to Comment