Sha256: 934e5483a16d045172ed22427496f0a52cfe0ad52115417a7ebab8acf05ee04e

Contents?: true

Size: 1.34 KB

Versions: 49

Compression:

Stored size: 1.34 KB

Contents

# encoding: utf-8
require "logstash/devutils/rspec/spec_helper"
require "logstash/outputs/s3/writable_directory_validator"
require "stud/temporary"

describe LogStash::Outputs::S3::WritableDirectoryValidator do
  let(:temporary_directory) {  File.join(Stud::Temporary.directory, Time.now.to_i.to_s) }

  subject { described_class }

  context "when the directory doesn't exists" do
    it "creates the directory" do
      expect(Dir.exist?(temporary_directory)).to be_falsey
      expect(subject.valid?(temporary_directory)).to be_truthy
      expect(Dir.exist?(temporary_directory)).to be_truthy
    end
  end

  context "when the directory exist" do
    before do
      FileUtils.mkdir_p(temporary_directory)
    end

    it "doesn't change the directory" do
      expect(Dir.exist?(temporary_directory)).to be_truthy
      expect(subject.valid?(temporary_directory)).to be_truthy
      expect(Dir.exist?(temporary_directory)).to be_truthy
    end
  end

  it "return false if the directory is not writable" do
    expect(::File).to receive(:writable?).with(temporary_directory).and_return(false)
    expect(subject.valid?(temporary_directory)).to be_falsey
  end

  it "return true if the directory is writable" do
    expect(::File).to receive(:writable?).with(temporary_directory).and_return(true)
    expect(subject.valid?(temporary_directory)).to be_truthy
  end
end

Version data entries

49 entries across 49 versions & 2 rubygems

Version Path
logstash-integration-aws-7.2.1-java spec/outputs/s3/writable_directory_validator_spec.rb
logstash-integration-aws-7.2.0-java spec/outputs/s3/writable_directory_validator_spec.rb
logstash-integration-aws-7.1.8-java spec/outputs/s3/writable_directory_validator_spec.rb
logstash-integration-aws-7.1.7-java spec/outputs/s3/writable_directory_validator_spec.rb
logstash-integration-aws-7.1.6-java spec/outputs/s3/writable_directory_validator_spec.rb
logstash-integration-aws-7.1.5-java spec/outputs/s3/writable_directory_validator_spec.rb
logstash-integration-aws-7.1.4-java spec/outputs/s3/writable_directory_validator_spec.rb
logstash-integration-aws-7.1.3-java spec/outputs/s3/writable_directory_validator_spec.rb
logstash-integration-aws-7.1.2-java spec/outputs/s3/writable_directory_validator_spec.rb
logstash-integration-aws-7.1.1-java spec/outputs/s3/writable_directory_validator_spec.rb
logstash-integration-aws-7.1.0 spec/outputs/s3/writable_directory_validator_spec.rb
logstash-integration-aws-7.0.1 spec/outputs/s3/writable_directory_validator_spec.rb
logstash-output-s3-4.4.1 spec/outputs/s3/writable_directory_validator_spec.rb
logstash-integration-aws-7.0.0 spec/outputs/s3/writable_directory_validator_spec.rb
logstash-output-s3-4.4.0 spec/outputs/s3/writable_directory_validator_spec.rb
logstash-output-s3-4.3.7 spec/outputs/s3/writable_directory_validator_spec.rb
logstash-output-s3-4.3.6 spec/outputs/s3/writable_directory_validator_spec.rb
logstash-integration-aws-0.1.0.pre spec/outputs/s3/writable_directory_validator_spec.rb
logstash-output-s3-4.3.5 spec/outputs/s3/writable_directory_validator_spec.rb
logstash-output-s3-4.3.4 spec/outputs/s3/writable_directory_validator_spec.rb