Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F33096188
retry_queue_test.exs
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
1 KB
Referenced Files
None
Subscribers
None
retry_queue_test.exs
View Options
# Pleroma: A lightweight social networking server
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule
MockActivityPub
do
def
publish_one
({
ret
,
waiter
})
do
send
(
waiter
,
:complete
)
{
ret
,
"success"
}
end
end
defmodule
Pleroma.Web.Federator.RetryQueueTest
do
use
Pleroma.DataCase
alias
Pleroma.Web.Federator.RetryQueue
@small_retry_count
0
@hopeless_retry_count
10
setup
do
RetryQueue
.
reset_stats
()
end
test
"RetryQueue responds to stats request"
do
assert
%{
delivered
:
0
,
dropped
:
0
}
==
RetryQueue
.
get_stats
()
end
test
"failed posts are retried"
do
{
:retry
,
_timeout
}
=
RetryQueue
.
get_retry_params
(
@small_retry_count
)
wait_task
=
Task
.
async
(
fn
->
receive
do
:complete
->
:ok
end
end
)
RetryQueue
.
enqueue
({
:ok
,
wait_task
.
pid
},
MockActivityPub
,
@small_retry_count
)
Task
.
await
(
wait_task
)
assert
%{
delivered
:
1
,
dropped
:
0
}
==
RetryQueue
.
get_stats
()
end
test
"posts that have been tried too many times are dropped"
do
{
:drop
,
_timeout
}
=
RetryQueue
.
get_retry_params
(
@hopeless_retry_count
)
RetryQueue
.
enqueue
({
:ok
,
nil
},
MockActivityPub
,
@hopeless_retry_count
)
assert
%{
delivered
:
0
,
dropped
:
1
}
==
RetryQueue
.
get_stats
()
end
end
File Metadata
Details
Attached
Mime Type
text/x-ruby
Expires
Tue, Jan 20, 10:08 AM (19 h, 45 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
807730
Default Alt Text
retry_queue_test.exs (1 KB)
Attached To
Mode
rPUBE pleroma-upstream
Attached
Detach File
Event Timeline
Log In to Comment