Sha256: e8a01769f9c20678059f05098da93ffb38ffacbc87f1e030abb170826beadd22

Contents?: true

Size: 1.07 KB

Versions: 7

Compression:

Stored size: 1.07 KB

Contents

require 'spec_helper'

describe Ridley::DataBagItem do
  let(:connection) { double('connection') }
  let(:data_bag) { double('data_bag') }

  subject { Ridley::DataBagItem.new(connection, data_bag) }

  describe "::from_hash" do
    context "when JSON has a 'raw_data' field" do
      let(:response) do
        {
          name: "data_bag_item_ridley-test_appconfig",
          raw_data: {
            id: "appconfig",
            host: "host.local"
          },
          json_class: "Chef::DataBagItem",
          data_bag: "ridley-test",
          chef_type: "data_bag_item"
        }
      end

      it "returns a new object from attributes in the 'raw_data' field" do
        subject.from_hash(response).attributes.should eql(response[:raw_data])
      end
    end

    context "when JSON does not contain a 'raw_data' field" do
      let(:response) do
        {
          id: "appconfig",
          host: "host.local"
        }
      end

      it "returns a new object from the hash" do
        subject.from_hash(response).attributes.should eql(response)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
ridley-0.1.0 spec/unit/ridley/resources/data_bag_item_spec.rb
ridley-0.0.6 spec/unit/ridley/resources/data_bag_item_spec.rb
ridley-0.0.5 spec/unit/ridley/resources/data_bag_item_spec.rb
ridley-0.0.4 spec/unit/ridley/resources/data_bag_item_spec.rb
ridley-0.0.3 spec/unit/ridley/resources/data_bag_item_spec.rb
ridley-0.0.2 spec/unit/ridley/resources/data_bag_item_spec.rb
ridley-0.0.1 spec/unit/ridley/resources/data_bag_item_spec.rb