|
181 | 181 | end
|
182 | 182 |
|
183 | 183 | context "for a compressed file" do
|
| 184 | + let(:tmp_directory) { Stud::Temporary.directory } |
| 185 | + let(:all_files_path) { fixture_dir.join("compressed.*.*") } |
| 186 | + let(:gz_file_path) { fixture_dir.join('compressed.log.gz') } |
| 187 | + let(:gzip_file_path) { fixture_dir.join('compressed.log.gzip') } |
| 188 | + let(:sincedb_path) { ::File.join(tmp_directory, "sincedb.db") } |
| 189 | + let(:log_completed_path) { ::File.join(tmp_directory, "completed.log") } |
| 190 | + |
184 | 191 | it "the file is read" do
|
185 |
| - file_path = fixture_dir.join('compressed.log.gz') |
186 |
| - file_path2 = fixture_dir.join('compressed.log.gzip') |
187 |
| - FileInput.make_fixture_current(file_path.to_path) |
188 |
| - FileInput.make_fixture_current(file_path2.to_path) |
189 |
| - tmpfile_path = fixture_dir.join("compressed.*.*") |
190 |
| - directory = Stud::Temporary.directory |
191 |
| - sincedb_path = ::File.join(directory, "readmode_C_sincedb.txt") |
192 |
| - log_completed_path = ::File.join(directory, "C_completed.txt") |
| 192 | + FileInput.make_fixture_current(gz_file_path.to_path) |
| 193 | + FileInput.make_fixture_current(gzip_file_path.to_path) |
193 | 194 |
|
194 | 195 | conf = <<-CONFIG
|
195 | 196 | input {
|
196 | 197 | file {
|
197 | 198 | type => "blah"
|
198 |
| - path => "#{tmpfile_path}" |
| 199 | + path => "#{all_files_path}" |
199 | 200 | sincedb_path => "#{sincedb_path}"
|
200 | 201 | mode => "read"
|
201 | 202 | file_completed_action => "log"
|
202 | 203 | file_completed_log_path => "#{log_completed_path}"
|
| 204 | + exit_after_read => true |
203 | 205 | }
|
204 | 206 | }
|
205 | 207 | CONFIG
|
|
216 | 218 | end
|
217 | 219 |
|
218 | 220 | it "the corrupted file is untouched" do
|
219 |
| - directory = Stud::Temporary.directory |
220 |
| - file_path = fixture_dir.join('compressed.log.gz') |
221 |
| - corrupted_file_path = ::File.join(directory, 'corrupted.gz') |
222 |
| - FileUtils.cp(file_path, corrupted_file_path) |
| 221 | + corrupted_file_path = ::File.join(tmp_directory, 'corrupted.gz') |
| 222 | + FileUtils.cp(gz_file_path, corrupted_file_path) |
223 | 223 |
|
224 | 224 | FileInput.corrupt_gzip(corrupted_file_path)
|
225 | 225 |
|
226 |
| - log_completed_path = ::File.join(directory, "C_completed.txt") |
227 |
| - f = File.new(log_completed_path, "w") |
228 |
| - f.close() |
229 |
| - |
230 | 226 | conf = <<-CONFIG
|
231 | 227 | input {
|
232 | 228 | file {
|
|
236 | 232 | file_completed_action => "log_and_delete"
|
237 | 233 | file_completed_log_path => "#{log_completed_path}"
|
238 | 234 | check_archive_validity => true
|
| 235 | + exit_after_read => true |
239 | 236 | }
|
240 | 237 | }
|
241 | 238 | CONFIG
|
242 | 239 |
|
243 |
| - events = input(conf) do |pipeline, queue| |
| 240 | + input(conf) do |pipeline, queue| |
244 | 241 | wait(1)
|
245 | 242 | expect(IO.read(log_completed_path)).to be_empty
|
246 | 243 | end
|
247 | 244 | end
|
248 | 245 |
|
249 | 246 | it "the truncated file is untouched" do
|
250 |
| - directory = Stud::Temporary.directory |
251 |
| - file_path = fixture_dir.join('compressed.log.gz') |
252 |
| - truncated_file_path = ::File.join(directory, 'truncated.gz') |
253 |
| - FileUtils.cp(file_path, truncated_file_path) |
| 247 | + truncated_file_path = ::File.join(tmp_directory, 'truncated.gz') |
| 248 | + FileUtils.cp(gz_file_path, truncated_file_path) |
254 | 249 |
|
255 | 250 | FileInput.truncate_gzip(truncated_file_path)
|
256 | 251 |
|
257 |
| - log_completed_path = ::File.join(directory, "C_completed.txt") |
258 |
| - f = File.new(log_completed_path, "w") |
259 |
| - f.close() |
260 |
| - |
261 | 252 | conf = <<-CONFIG
|
262 | 253 | input {
|
263 | 254 | file {
|
|
267 | 258 | file_completed_action => "log_and_delete"
|
268 | 259 | file_completed_log_path => "#{log_completed_path}"
|
269 | 260 | check_archive_validity => true
|
| 261 | + exit_after_read => true |
270 | 262 | }
|
271 | 263 | }
|
272 | 264 | CONFIG
|
273 | 265 |
|
274 |
| - events = input(conf) do |pipeline, queue| |
| 266 | + input(conf) do |pipeline, queue| |
275 | 267 | wait(1)
|
276 | 268 | expect(IO.read(log_completed_path)).to be_empty
|
277 | 269 | end
|
|
0 commit comments