mirror of
https://github.com/discourse/discourse.git
synced 2025-05-21 18:12:32 +08:00
FEATURE: Add SiteSetting for s3_configure_tombstone_policy
Add SiteSetting for s3_configure_tombstone_policy, skip policy generation if turned off (default on)
This commit is contained in:
@ -2,13 +2,12 @@ require "s3_helper"
|
||||
require "rails_helper"
|
||||
|
||||
describe "S3Helper" do
|
||||
before(:each) do
|
||||
SiteSetting.enable_s3_uploads = true
|
||||
SiteSetting.s3_access_key_id = "abc"
|
||||
SiteSetting.s3_secret_access_key = "def"
|
||||
|
||||
it "can correctly set the purge policy" do
|
||||
|
||||
stub_request(:get, "http://169.254.169.254/latest/meta-data/iam/security-credentials/").
|
||||
to_return(status: 404, body: "", headers: {})
|
||||
|
||||
lifecycle = <<~XML
|
||||
@lifecycle = <<~XML
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
|
||||
<Rule>
|
||||
@ -29,9 +28,16 @@ describe "S3Helper" do
|
||||
</Rule>
|
||||
</LifecycleConfiguration>
|
||||
XML
|
||||
end
|
||||
|
||||
it "can correctly set the purge policy" do
|
||||
SiteSetting.s3_configure_tombstone_policy = true
|
||||
|
||||
stub_request(:get, "http://169.254.169.254/latest/meta-data/iam/security-credentials/").
|
||||
to_return(status: 404, body: "", headers: {})
|
||||
|
||||
stub_request(:get, "https://bob.s3.amazonaws.com/?lifecycle").
|
||||
to_return(status: 200, body: lifecycle, headers: {})
|
||||
to_return(status: 200, body: @lifecycle, headers: {})
|
||||
|
||||
stub_request(:put, "https://bob.s3.amazonaws.com/?lifecycle").
|
||||
with do |req|
|
||||
@ -40,14 +46,17 @@ describe "S3Helper" do
|
||||
rules = hash["LifecycleConfiguration"]["Rule"]
|
||||
|
||||
expect(rules.length).to eq(2)
|
||||
|
||||
expect(rules[1]["Expiration"]["Days"]).to eq("100")
|
||||
# fixes the bad filter
|
||||
expect(rules[0]["Filter"]["Prefix"]).to eq("projectdocs/")
|
||||
end.to_return(status: 200, body: "", headers: {})
|
||||
|
||||
SiteSetting.enable_s3_uploads = true
|
||||
SiteSetting.s3_access_key_id = "abc"
|
||||
SiteSetting.s3_secret_access_key = "def"
|
||||
helper = S3Helper.new('bob', 'tomb')
|
||||
helper.update_tombstone_lifecycle(100)
|
||||
end
|
||||
|
||||
it "can skip policy update when s3_configure_tombstone_policy is false" do
|
||||
SiteSetting.s3_configure_tombstone_policy = false
|
||||
|
||||
helper = S3Helper.new('bob', 'tomb')
|
||||
helper.update_tombstone_lifecycle(100)
|
||||
|
Reference in New Issue
Block a user