@@ -16,10 +16,16 @@ defmodule RemotePersistentTerm.Fetcher.S3Test do
1616 { :error , :unknown_error }
1717 end )
1818
19- assert capture_log ( fn ->
20- assert { :error , "Unknown error" } = S3 . current_version ( % S3 { bucket: "bucket" , key: "key" } )
21- end ) =~
22- "Elixir.RemotePersistentTerm.Fetcher.S3 - s3://bucket/key - unknown error: :unknown_error"
19+ log =
20+ capture_log ( fn ->
21+ assert { :error , "Unknown error" } =
22+ S3 . current_version ( % S3 { bucket: "bucket" , key: "key" } )
23+ end )
24+
25+ assert log =~ "bucket: \" bucket\" "
26+ assert log =~ "key: \" key\" "
27+ assert log =~ "reason: \" :unknown_error\" "
28+ assert log =~ "Failed to get current version of object - unknown reason"
2329 end
2430
2531 describe "init/1" do
@@ -67,9 +73,13 @@ defmodule RemotePersistentTerm.Fetcher.S3Test do
6773 assert { :ok , "current-etag" } = result
6874 end )
6975
70- assert log =~ "s3://#{ @ bucket } /#{ @ key } - Failed to fetch from primary region #{ @ region } "
71- assert log =~ "will try failover regions"
72- assert log =~ "s3://#{ @ bucket } /#{ @ key } - Trying failover region: failover-region-1"
76+ assert log =~ "bucket: \" #{ @ bucket } \" "
77+ assert log =~ "key: \" #{ @ key } \" "
78+ assert log =~ "region: \" #{ @ region } \" "
79+ assert log =~ "Failed to fetch from primary region, attempting failover regions"
80+ assert log =~ "region: \" failover-region-1\" "
81+ assert log =~ "Trying failover region"
82+ assert log =~ "Found latest version of object with version: #{ @ version } "
7383 end
7484
7585 test "download/1 tries first failover region when primary region fails" do
@@ -97,9 +107,14 @@ defmodule RemotePersistentTerm.Fetcher.S3Test do
97107 assert { :ok , "content from failover region" } = result
98108 end )
99109
100- assert log =~ "s3://#{ @ bucket } /#{ @ key } - Failed to fetch from primary region #{ @ region } "
101- assert log =~ "will try failover regions"
102- assert log =~ "s3://#{ @ bucket } /#{ @ key } - Trying failover region: failover-region-1"
110+ assert log =~ "bucket: \" #{ @ bucket } \" "
111+ assert log =~ "key: \" #{ @ key } \" "
112+ assert log =~ "Downloading object from S3"
113+ assert log =~ "region: \" #{ @ region } \" "
114+ assert log =~ "Failed to fetch from primary region, attempting failover regions"
115+ assert log =~ "region: \" failover-region-1\" "
116+ assert log =~ "Trying failover region"
117+ assert log =~ "Downloaded object from S3"
103118 end
104119
105120 test "returns error when primary and all failover regions fail" do
@@ -131,12 +146,17 @@ defmodule RemotePersistentTerm.Fetcher.S3Test do
131146 assert message =~ "All regions failed"
132147 end )
133148
134- assert log =~ "s3://#{ @ bucket } /#{ @ key } - Failed to fetch from primary region #{ @ region } "
135- assert log =~ "will try failover regions"
136- assert log =~ "s3://#{ @ bucket } /#{ @ key } - Trying failover region: failover-region-1"
137- assert log =~ "s3://#{ @ bucket } /#{ @ key } - Failed to fetch from failover region failover-region-1"
138- assert log =~ "s3://#{ @ bucket } /#{ @ key } - Trying failover region: failover-region-2"
139- assert log =~ "s3://#{ @ bucket } /#{ @ key } - Failed to fetch from failover region failover-region-2"
149+ assert log =~ "bucket: \" #{ @ bucket } \" "
150+ assert log =~ "key: \" #{ @ key } \" "
151+ assert log =~ "Downloading object from S3"
152+ assert log =~ "region: \" #{ @ region } \" "
153+ assert log =~ "Failed to fetch from primary region, attempting failover regions"
154+ assert log =~ "region: \" failover-region-1\" "
155+ assert log =~ "Trying failover region"
156+ assert log =~ "reason: \" \\ \" First failover region connection error\\ \" \" "
157+ assert log =~ "Failed to fetch from failover region"
158+ assert log =~ "region: \" failover-region-2\" "
159+ assert log =~ "reason: \" \\ \" Second failover region connection error\\ \" \" "
140160 end
141161
142162 test "tries second failover region when first failover region fails" do
@@ -167,10 +187,17 @@ defmodule RemotePersistentTerm.Fetcher.S3Test do
167187 assert { :ok , "content from second failover region" } = result
168188 end )
169189
170- assert log =~ "s3://#{ @ bucket } /#{ @ key } - Failed to fetch from primary region #{ @ region } "
171- assert log =~ "s3://#{ @ bucket } /#{ @ key } - Trying failover region: failover-region-1"
172- assert log =~ "s3://#{ @ bucket } /#{ @ key } - Failed to fetch from failover region failover-region-1"
173- assert log =~ "s3://#{ @ bucket } /#{ @ key } - Trying failover region: failover-region-2"
190+ assert log =~ "bucket: \" #{ @ bucket } \" "
191+ assert log =~ "key: \" #{ @ key } \" "
192+ assert log =~ "Downloading object from S3"
193+ assert log =~ "region: \" #{ @ region } \" "
194+ assert log =~ "Failed to fetch from primary region, attempting failover regions"
195+ assert log =~ "region: \" failover-region-1\" "
196+ assert log =~ "Trying failover region"
197+ assert log =~ "reason: \" \\ \" First failover region connection error\\ \" \" "
198+ assert log =~ "Failed to fetch from failover region"
199+ assert log =~ "region: \" failover-region-2\" "
200+ assert log =~ "Downloaded object from S3"
174201 end
175202 end
176203end
0 commit comments