mirror of
https://github.com/neocities/neocities.git
synced 2025-05-14 16:37:20 +02:00
purge for delete and purge for refreshing
This commit is contained in:
parent
12a543d2aa
commit
985a2f8b60
7 changed files with 184 additions and 3 deletions
64
tests/workers/delete_cache_worker_tests.rb
Normal file
64
tests/workers/delete_cache_worker_tests.rb
Normal file
|
@ -0,0 +1,64 @@
|
|||
require_relative '../environment.rb'
|
||||
|
||||
describe DeleteCacheWorker do
|
||||
before do
|
||||
@test_ip = '10.0.0.1'
|
||||
end
|
||||
|
||||
it 'throws exception without 200 or 404 http status' do
|
||||
stub_request(:get, "http://#{@test_ip}/:cache/purge/test.jpg").
|
||||
with(headers: {'Host' => 'kyledrake.neocities.org'})
|
||||
.to_return(status: 503)
|
||||
|
||||
worker = DeleteCacheWorker.new
|
||||
|
||||
proc {
|
||||
worker.perform @test_ip, 'kyledrake', '/test.jpg'
|
||||
}.must_raise RestClient::ServiceUnavailable
|
||||
end
|
||||
|
||||
it 'handles 404 without exception' do
|
||||
stub_request(:get, "http://#{@test_ip}/:cache/purge/test.jpg").
|
||||
with(headers: {'Host' => 'kyledrake.neocities.org'})
|
||||
.to_return(status: 404)
|
||||
|
||||
worker = DeleteCacheWorker.new
|
||||
worker.perform @test_ip, 'kyledrake', '/test.jpg'
|
||||
end
|
||||
|
||||
it 'sends a purge request' do
|
||||
stub_request(:get, "http://#{@test_ip}/:cache/purge/test.jpg").
|
||||
with(headers: {'Host' => 'kyledrake.neocities.org'})
|
||||
.to_return(status: 200)
|
||||
|
||||
worker = DeleteCacheWorker.new
|
||||
worker.perform @test_ip, 'kyledrake', '/test.jpg'
|
||||
|
||||
assert_requested :get, "http://#{@test_ip}/:cache/purge/test.jpg"
|
||||
end
|
||||
|
||||
it 'handles spaces correctly' do
|
||||
stub_request(:get, "http://#{@test_ip}/:cache/purge/te st.jpg").
|
||||
with(headers: {'Host' => 'kyledrake.neocities.org'})
|
||||
.to_return(status: 200)
|
||||
|
||||
url = Addressable::URI.encode_component(
|
||||
"http://#{@test_ip}/:cache/purge/te st.jpg",
|
||||
Addressable::URI::CharacterClasses::QUERY
|
||||
)
|
||||
|
||||
worker = DeleteCacheWorker.new
|
||||
worker.perform @test_ip, 'kyledrake', '/te st.jpg'
|
||||
|
||||
assert_requested :get, url
|
||||
end
|
||||
|
||||
it 'works without forward slash' do
|
||||
stub_request(:get, "http://#{@test_ip}/:cache/purge/test.jpg").
|
||||
with(headers: {'Host' => 'kyledrake.neocities.org'})
|
||||
.to_return(status: 200)
|
||||
|
||||
worker = DeleteCacheWorker.new
|
||||
worker.perform @test_ip, 'kyledrake', 'test.jpg'
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue