Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F21907712
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
defmodule
Pleroma.Web.MediaProxy.InvalidationTest
do
use
ExUnit.Case
use
Pleroma.Tests.Helpers
alias
Pleroma.Config
alias
Pleroma.Web.MediaProxy.Invalidation
import
ExUnit.CaptureLog
import
Mock
import
Tesla.Mock
setup
do
:
clear_config
([
:media_proxy
])
setup
do
on_exit
(
fn
->
Cachex
.
clear
(
:banned_urls_cache
)
end
)
end
describe
"Invalidation.Http"
do
test
"perform request to clear cache"
do
Config
.
put
([
:media_proxy
,
:enabled
],
false
)
Config
.
put
([
:media_proxy
,
:invalidation
,
:enabled
],
true
)
Config
.
put
([
:media_proxy
,
:invalidation
,
:provider
],
Invalidation.Http
)
Config
.
put
([
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
Config
.
put
([
:media_proxy
,
:enabled
],
false
)
Config
.
put
([
:media_proxy
,
:invalidation
,
:enabled
],
true
)
Config
.
put
([
:media_proxy
,
:invalidation
,
:provider
],
Invalidation.Script
)
Config
.
put
([
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, 1:42 AM (1 d, 17 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
836028
Default Alt Text
invalidation_test.exs (2 KB)
Attached To
Mode
rPUBE pleroma-upstream
Attached
Detach File
Event Timeline
Log In to Comment