Sha256: a32bd02b3225198bd849729112f35ebc263335d3641940cb16fa90b7d7e49d79

Contents?: true

Size: 1.37 KB

Versions: 352

Compression:

Stored size: 1.37 KB

Contents

require 'spec_helper'
require 'chef/cookbook_loader'
require 'chef/cookbook_uploader'
require 'dpl/provider/chef_supermarket'

describe DPL::Provider::ChefSupermarket do
  subject :provider do
    described_class.new(
      DummyContext.new,
      app: 'example',
      cookbook_category: 'Others',
      user_id: 'user',
      client_key: '/tmp/example.pem'
    )
  end

  let(:cookbook_uploader) do
    double('cookbook_uploader', validate_cookbooks: true)
  end

  let(:http_resp) do
    double('http_resp', body: '{}', code: '201')
  end

  describe "#check_auth" do
    example do
      ::File.stub(:exist?).and_return(true)
      expect(File).to receive(:exist?)
      provider.check_auth
    end
  end

  describe "#check_app" do
    example do
      ::Chef::CookbookLoader.any_instance.stub(:[]).and_return nil
      expect(::Chef::CookbookUploader).to receive(:new).and_return(cookbook_uploader)
      provider.check_app
    end
  end

  describe "#push_app" do
    example do
      expect(::Chef::CookbookSiteStreamingUploader).to receive(:create_build_dir).and_return('/tmp/build_dir')
      expect(provider).to receive(:system).and_return(true)
      expect(::File).to receive(:open)
      expect(::Chef::CookbookSiteStreamingUploader).to receive(:post).and_return(http_resp)
      expect(::FileUtils).to receive(:rm_rf).with('/tmp/build_dir')
      provider.push_app
    end
  end
end

Version data entries

352 entries across 352 versions & 2 rubygems

Version Path
dpl-1.8.48.travis.2486.5 spec/provider/chef_supermarket_spec.rb
dpl-1.8.47 spec/provider/chef_supermarket_spec.rb
dpl-1.8.47.travis.2485.5 spec/provider/chef_supermarket_spec.rb
dpl-1.8.47.travis.2484.5 spec/provider/chef_supermarket_spec.rb
dpl-1.8.47.travis.2483.5 spec/provider/chef_supermarket_spec.rb
dpl-1.8.47.travis.2459.3 spec/provider/chef_supermarket_spec.rb
dpl-1.8.47.travis.2458.3 spec/provider/chef_supermarket_spec.rb
dpl-1.8.46 spec/provider/chef_supermarket_spec.rb
dpl-1.8.47.travis.2456.5 spec/provider/chef_supermarket_spec.rb
dpl-1.8.46.travis.2455.5 spec/provider/chef_supermarket_spec.rb
dpl-1.8.46.travis.2454.5 spec/provider/chef_supermarket_spec.rb
dpl-1.8.46.travis.2451.5 spec/provider/chef_supermarket_spec.rb
dpl-1.8.46.travis.2449.5 spec/provider/chef_supermarket_spec.rb
dpl-1.8.46.travis.2444.5 spec/provider/chef_supermarket_spec.rb
dpl-1.8.45 spec/provider/chef_supermarket_spec.rb
dpl-1.8.46.travis.2418.5 spec/provider/chef_supermarket_spec.rb
dpl-1.8.45.travis.2417.5 spec/provider/chef_supermarket_spec.rb
dpl-1.8.44 spec/provider/chef_supermarket_spec.rb
dpl-1.8.45.travis.2398.5 spec/provider/chef_supermarket_spec.rb
dpl-1.8.44.travis.2397.5 spec/provider/chef_supermarket_spec.rb