Sha256: 3a11bc1bf72b495351fc19d07739d45e0b9baba0d671f5c4707595961bafad4e

Contents?: true

Size: 1.63 KB

Versions: 10

Compression:

Stored size: 1.63 KB

Contents

require File.expand_path("../../../../base", __FILE__)

require Vagrant.source_root.join("plugins/kernel_v2/config/vagrant")

describe VagrantPlugins::Kernel_V2::VagrantConfig do
  subject { described_class.new }

  let(:machine){ double("machine") }

  describe "#host" do
    it "defaults to :detect" do
      subject.finalize!
      expect(subject.host).to eq(:detect)
    end

    it "symbolizes" do
      subject.host = "foo"
      subject.finalize!
      expect(subject.host).to eq(:foo)
    end
  end

  describe "#sensitive" do
    after{ Vagrant::Util::CredentialScrubber.reset! }

    it "accepts string value" do
      subject.sensitive = "test"
      subject.finalize!
      expect(subject.sensitive).to eq("test")
    end

    it "accepts array of values" do
      subject.sensitive = ["test1", "test2"]
      subject.finalize!
      expect(subject.sensitive).to eq(["test1", "test2"])
    end

    it "does not accept non-string values" do
      subject.sensitive = 1
      subject.finalize!
      result = subject.validate(machine)
      expect(result).to be_a(Hash)
      expect(result.values).not_to be_empty
    end

    it "registers single sensitive value to be scrubbed" do
      subject.sensitive = "test"
      expect(Vagrant::Util::CredentialScrubber).to receive(:sensitive).with("test")
      subject.finalize!
    end

    it "registers multiple sensitive values to be scrubbed" do
      subject.sensitive = ["test1", "test2"]
      expect(Vagrant::Util::CredentialScrubber).to receive(:sensitive).with("test1")
      expect(Vagrant::Util::CredentialScrubber).to receive(:sensitive).with("test2")
      subject.finalize!
    end
  end
end

Version data entries

10 entries across 6 versions & 3 rubygems

Version Path
vagrant-packet-0.1.2 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-04f7215b5e3f/test/unit/plugins/kernel_v2/config/vagrant_test.rb
vagrant-packet-0.1.2 vendor/bundle/ruby/2.5.0/bundler/gems/vagrant-04f7215b5e3f/test/unit/plugins/kernel_v2/config/vagrant_test.rb
vagrant-packet-0.1.2 vendor/bundle/ruby/2.4.0/bundler/gems/vagrant-04f7215b5e3f/test/unit/plugins/kernel_v2/config/vagrant_test.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.4.0/bundler/gems/vagrant-04f7215b5e3f/test/unit/plugins/kernel_v2/config/vagrant_test.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-04f7215b5e3f/test/unit/plugins/kernel_v2/config/vagrant_test.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.5.0/bundler/gems/vagrant-04f7215b5e3f/test/unit/plugins/kernel_v2/config/vagrant_test.rb
vagrant-aws-detiber-0.7.2.pre.4 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-419afb4dcffe/test/unit/plugins/kernel_v2/config/vagrant_test.rb
vagrant-aws-detiber-0.7.2.pre.3 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-419afb4dcffe/test/unit/plugins/kernel_v2/config/vagrant_test.rb
vagrant-aws-detiber-0.7.2.pre.2 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-419afb4dcffe/test/unit/plugins/kernel_v2/config/vagrant_test.rb
vagrant-unbundled-2.0.2.0 test/unit/plugins/kernel_v2/config/vagrant_test.rb