Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F21968009
invalidation_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
invalidation_test.exs
View Options
# Pleroma: A lightweight social networking server
# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule
Pleroma.Web.MediaProxy.InvalidationTest
do
use
Pleroma.DataCase
alias
Pleroma.Web.MediaProxy.Invalidation
import
ExUnit.CaptureLog
import
Mock
import
Tesla.Mock
setup
do
:
clear_config
([
:media_proxy
])
describe
"Invalidation.Http"
do
test
"perform request to clear cache"
do
clear_config
([
:media_proxy
,
:enabled
],
false
)
clear_config
([
:media_proxy
,
:invalidation
,
:enabled
],
true
)
clear_config
([
:media_proxy
,
:invalidation
,
:provider
],
Invalidation.Http
)
clear_config
([
Invalidation.Http
],
method
:
:purge
,
headers
:
[{
"x-refresh"
,
1
}])
image_url
=
"http://example.com/media/example.jpg"
Pleroma.Web.MediaProxy
.
put_in_banned_urls
(
image_url
)
mock
(
fn
%{
method
:
:purge
,
url
:
"http://example.com/media/example.jpg"
,
headers
:
[{
"x-refresh"
,
1
}]
}
->
%
Tesla.Env
{
status
:
200
}
end
)
assert
capture_log
(
fn
->
assert
Pleroma.Web.MediaProxy
.
in_banned_urls
(
image_url
)
assert
Invalidation
.
purge
([
image_url
])
==
{
:ok
,
[
image_url
]}
assert
Pleroma.Web.MediaProxy
.
in_banned_urls
(
image_url
)
end
)
=~
"Running cache purge: [\"
#{
image_url
}
\"]"
end
end
describe
"Invalidation.Script"
do
test
"run script to clear cache"
do
clear_config
([
:media_proxy
,
:enabled
],
false
)
clear_config
([
:media_proxy
,
:invalidation
,
:enabled
],
true
)
clear_config
([
:media_proxy
,
:invalidation
,
:provider
],
Invalidation.Script
)
clear_config
([
Invalidation.Script
],
script_path
:
"purge-nginx"
)
image_url
=
"http://example.com/media/example.jpg"
Pleroma.Web.MediaProxy
.
put_in_banned_urls
(
image_url
)
with_mocks
[{
System
,
[],
[
cmd
:
fn
_
,
_
->
{
"ok"
,
0
}
end
]}]
do
assert
capture_log
(
fn
->
assert
Pleroma.Web.MediaProxy
.
in_banned_urls
(
image_url
)
assert
Invalidation
.
purge
([
image_url
])
==
{
:ok
,
[
image_url
]}
assert
Pleroma.Web.MediaProxy
.
in_banned_urls
(
image_url
)
end
)
=~
"Running cache purge: [\"
#{
image_url
}
\"]"
end
end
end
end
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Dec 28, 3:24 AM (1 d, 22 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
816155
Default Alt Text
invalidation_test.exs (2 KB)
Attached To
Mode
rPUBE pleroma-upstream
Attached
Detach File
Event Timeline
Log In to Comment