spec/kitchen/data_munger_spec.rb in test-kitchen-1.14.1 vs spec/kitchen/data_munger_spec.rb in test-kitchen-1.14.2
- old
+ new
@@ -19,134 +19,123 @@
require_relative "../spec_helper"
require "kitchen/data_munger"
module Kitchen # rubocop:disable Metrics/ModuleLength
-
describe DataMunger do
-
describe "#platform_data" do
-
it "returns an array of platform data" do
DataMunger.new(
- :platforms => [
+ platforms: [
{
- :name => "one",
- :stuff => "junk"
+ name: "one",
+ stuff: "junk",
},
{
- :name => "two",
- :misc => "things"
- }
+ name: "two",
+ misc: "things",
+ },
]
).platform_data.must_equal([
- {
- :name => "one",
- :stuff => "junk"
- },
- {
- :name => "two",
- :misc => "things"
- }
- ])
+ {
+ name: "one",
+ stuff: "junk",
+ },
+ {
+ name: "two",
+ misc: "things",
+ },
+ ])
end
it "returns an empty array if platforms is not defined" do
DataMunger.new({}).platform_data.must_equal([])
end
end
describe "#suite_data" do
-
it "returns an array of suite data" do
DataMunger.new(
- :suites => [
+ suites: [
{
- :name => "one",
- :stuff => "junk"
+ name: "one",
+ stuff: "junk",
},
{
- :name => "two",
- :misc => "things"
- }
+ name: "two",
+ misc: "things",
+ },
]
).suite_data.must_equal([
- {
- :name => "one",
- :stuff => "junk"
- },
- {
- :name => "two",
- :misc => "things"
- }
- ])
+ {
+ name: "one",
+ stuff: "junk",
+ },
+ {
+ name: "two",
+ misc: "things",
+ },
+ ])
end
it "returns an empty array if suites is not defined" do
DataMunger.new({}).suite_data.must_equal([])
end
end
DATA_KEYS = {
- :driver => :name,
- :provisioner => :name,
- :transport => :name,
- :verifier => :name
- }
+ driver: :name,
+ provisioner: :name,
+ transport: :name,
+ verifier: :name,
+ }.freeze
DATA_KEYS.each_pair do |key, default_key|
-
describe "##{key}" do
-
describe "from single source" do
-
it "returns empty hash if no common #{key} hash is provided" do
DataMunger.new(
{},
{}
).public_send("#{key}_data_for", "suite", "platform").must_equal({})
end
it "drops common #{key} if hash is nil" do
DataMunger.new(
{
- key => nil
+ key => nil,
},
{}
).public_send("#{key}_data_for", "suite", "plat").must_equal({})
end
it "returns kitchen config #{key} name" do
DataMunger.new(
{},
- {
- :defaults => {
- key => "thenoseknows"
- }
+ defaults: {
+ key => "thenoseknows",
}
).public_send("#{key}_data_for", "suite", "platform").must_equal(
default_key => "thenoseknows"
)
end
it "returns kitchen config #{key} name from callable" do
DataMunger.new(
{},
- {
- :defaults => {
- key => ->(suite, platform) { "#{suite}++#{platform}" }
- }
+ defaults: {
+ key => ->(suite, platform) { "#{suite}++#{platform}" },
}
).public_send("#{key}_data_for", "suite", "platform").must_equal(
default_key => "suite++platform"
)
end
it "returns common #{key} name" do
DataMunger.new(
{
- key => "starship"
+ key => "starship",
},
{}
).public_send("#{key}_data_for", "suite", "platform").must_equal(
default_key => "starship"
)
@@ -155,12 +144,12 @@
it "returns common #{key} config" do
DataMunger.new(
{
key => {
default_key => "starship",
- :speed => 42
- }
+ :speed => 42,
+ },
},
{}
).public_send("#{key}_data_for", "suite", "platform").must_equal(
default_key => "starship",
:speed => 42
@@ -168,60 +157,60 @@
end
it "returns empty hash if platform config doesn't have #{key} hash" do
DataMunger.new(
{
- :platforms => [
- { :name => "plat" }
- ]
+ platforms: [
+ { name: "plat" },
+ ],
},
{}
).public_send("#{key}_data_for", "suite", "plat").must_equal({})
end
it "drops platform #{key} if hash is nil" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
:name => "plat",
- key => nil
- }
- ]
+ key => nil,
+ },
+ ],
},
{}
).public_send("#{key}_data_for", "suite", "plat").must_equal({})
end
it "returns platform #{key} name" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
:name => "plat",
- key => "flip"
- }
- ]
+ key => "flip",
+ },
+ ],
},
{}
).public_send("#{key}_data_for", "suite", "plat").must_equal(
default_key => "flip"
)
end
it "returns platform config containing #{key} hash" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
:name => "plat",
key => {
default_key => "flip",
- :flop => "yep"
- }
- }
- ]
+ :flop => "yep",
+ },
+ },
+ ],
},
{}
).public_send("#{key}_data_for", "suite", "plat").must_equal(
default_key => "flip",
:flop => "yep"
@@ -229,712 +218,707 @@
end
it "returns empty hash if suite config doesn't have #{key} hash" do
DataMunger.new(
{
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
{}
).public_send("#{key}_data_for", "sweet", "platform").must_equal({})
end
it "drops suite #{key} hash is nil" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
:name => "suite",
- key => nil
- }
- ]
+ key => nil,
+ },
+ ],
},
{}
).public_send("#{key}_data_for", "suite", "plat").must_equal({})
end
it "returns suite #{key} name" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
:name => "sweet",
- key => "waz"
- }
- ]
+ key => "waz",
+ },
+ ],
},
{}
).public_send("#{key}_data_for", "sweet", "platform").must_equal(
default_key => "waz"
)
end
it "returns suite config containing #{key} hash" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
:name => "sweet",
key => {
default_key => "waz",
- :up => "nope"
- }
- }
- ]
+ :up => "nope",
+ },
+ },
+ ],
},
{}
).public_send("#{key}_data_for", "sweet", "platform").must_equal(
default_key => "waz",
:up => "nope"
)
end
end
describe "from multiple sources merging" do
-
it "suite into platform into common" do
DataMunger.new(
{
key => {
default_key => "commony",
:color => "purple",
- :fruit => %w[apple pear],
- :deep => { :common => "junk" }
+ :fruit => %w{apple pear},
+ :deep => { common: "junk" },
},
:platforms => [
{
:name => "plat",
key => {
default_key => "platformy",
:fruit => ["banana"],
- :deep => { :platform => "stuff" }
- }
- }
+ :deep => { platform: "stuff" },
+ },
+ },
],
:suites => [
{
:name => "sweet",
key => {
default_key => "suitey",
:vehicle => "car",
- :deep => { :suite => "things" }
- }
- }
- ]
+ :deep => { suite: "things" },
+ },
+ },
+ ],
},
{}
).public_send("#{key}_data_for", "sweet", "plat").must_equal(
default_key => "suitey",
:color => "purple",
:fruit => ["banana"],
:vehicle => "car",
:deep => {
- :common => "junk",
- :platform => "stuff",
- :suite => "things"
+ common: "junk",
+ platform: "stuff",
+ suite: "things",
}
)
end
it "platform into common" do
DataMunger.new(
{
key => {
default_key => "commony",
:color => "purple",
- :fruit => %w[apple pear],
- :deep => { :common => "junk" }
+ :fruit => %w{apple pear},
+ :deep => { common: "junk" },
},
:platforms => [
{
:name => "plat",
key => {
default_key => "platformy",
:fruit => ["banana"],
- :deep => { :platform => "stuff" }
- }
- }
- ]
+ :deep => { platform: "stuff" },
+ },
+ },
+ ],
},
{}
).public_send("#{key}_data_for", "sweet", "plat").must_equal(
default_key => "platformy",
:color => "purple",
:fruit => ["banana"],
:deep => {
- :common => "junk",
- :platform => "stuff"
+ common: "junk",
+ platform: "stuff",
}
)
end
it "suite into common" do
DataMunger.new(
{
key => {
default_key => "commony",
:color => "purple",
- :fruit => %w[apple pear],
- :deep => { :common => "junk" }
+ :fruit => %w{apple pear},
+ :deep => { common: "junk" },
},
:suites => [
{
:name => "sweet",
key => {
default_key => "suitey",
:vehicle => "car",
- :deep => { :suite => "things" }
- }
- }
- ]
+ :deep => { suite: "things" },
+ },
+ },
+ ],
},
{}
).public_send("#{key}_data_for", "sweet", "plat").must_equal(
default_key => "suitey",
:color => "purple",
- :fruit => %w[apple pear],
+ :fruit => %w{apple pear},
:vehicle => "car",
:deep => {
- :common => "junk",
- :suite => "things"
+ common: "junk",
+ suite: "things",
}
)
end
it "suite into platform" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
:name => "plat",
key => {
default_key => "platformy",
:fruit => ["banana"],
- :deep => { :platform => "stuff" }
- }
- }
+ :deep => { platform: "stuff" },
+ },
+ },
],
- :suites => [
+ suites: [
{
:name => "sweet",
key => {
default_key => "suitey",
:vehicle => "car",
- :deep => { :suite => "things" }
- }
- }
- ]
+ :deep => { suite: "things" },
+ },
+ },
+ ],
},
{}
).public_send("#{key}_data_for", "sweet", "plat").must_equal(
default_key => "suitey",
:fruit => ["banana"],
:vehicle => "car",
:deep => {
- :platform => "stuff",
- :suite => "things"
+ platform: "stuff",
+ suite: "things",
}
)
end
end
end
end
describe "primary Chef data" do
-
describe "in a suite" do
-
it "moves attributes into provisioner" do
DataMunger.new(
{
- :provisioner => "chefy",
- :suites => [
+ provisioner: "chefy",
+ suites: [
{
- :name => "sweet",
- :attributes => { :one => "two" }
- }
- ]
+ name: "sweet",
+ attributes: { one: "two" },
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy",
- :attributes => { :one => "two" }
+ name: "chefy",
+ attributes: { one: "two" }
)
end
it "moves run_list into provisioner" do
DataMunger.new(
{
- :provisioner => "chefy",
- :suites => [
+ provisioner: "chefy",
+ suites: [
{
- :name => "sweet",
- :run_list => %w[one two]
- }
- ]
+ name: "sweet",
+ run_list: %w{one two},
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy",
- :run_list => %w[one two]
+ name: "chefy",
+ run_list: %w{one two}
)
end
it "moves named_run_list into provisioner" do
DataMunger.new(
{
- :provisioner => "chefy",
- :suites => [
+ provisioner: "chefy",
+ suites: [
{
- :name => "sweet",
- :named_run_list => "other_run_list"
- }
- ]
+ name: "sweet",
+ named_run_list: "other_run_list",
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy",
- :named_run_list => "other_run_list"
+ name: "chefy",
+ named_run_list: "other_run_list"
)
end
it "maintains run_list in provisioner" do
DataMunger.new(
{
- :provisioner => "chefy",
- :suites => [
+ provisioner: "chefy",
+ suites: [
{
- :name => "sweet",
- :provisioner => {
- :run_list => %w[one two]
- }
- }
- ]
+ name: "sweet",
+ provisioner: {
+ run_list: %w{one two},
+ },
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy",
- :run_list => %w[one two]
+ name: "chefy",
+ run_list: %w{one two}
)
end
it "merge provisioner into attributes if provisioner exists" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
- :name => "sweet",
- :attributes => { :one => "two" },
- :provisioner => "chefy"
- }
- ]
+ name: "sweet",
+ attributes: { one: "two" },
+ provisioner: "chefy",
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy",
- :attributes => { :one => "two" }
+ name: "chefy",
+ attributes: { one: "two" }
)
end
it "merge provisioner into run_list if provisioner exists" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
- :name => "sweet",
- :run_list => %w[one two],
- :provisioner => "chefy"
- }
- ]
+ name: "sweet",
+ run_list: %w{one two},
+ provisioner: "chefy",
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy",
- :run_list => %w[one two]
+ name: "chefy",
+ run_list: %w{one two}
)
end
it "merge provisioner into named_run_list if provisioner exists" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
- :name => "sweet",
- :named_run_list => "other_run_list",
- :provisioner => "chefy"
- }
- ]
+ name: "sweet",
+ named_run_list: "other_run_list",
+ provisioner: "chefy",
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy",
- :named_run_list => "other_run_list"
+ name: "chefy",
+ named_run_list: "other_run_list"
)
end
it "drops nil run_list" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
- :name => "sweet",
- :run_list => nil,
- :provisioner => "chefy"
- }
- ]
+ name: "sweet",
+ run_list: nil,
+ provisioner: "chefy",
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy"
+ name: "chefy"
)
end
it "drops nil attributes" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
- :name => "sweet",
- :attributes => nil,
- :provisioner => "chefy"
- }
- ]
+ name: "sweet",
+ attributes: nil,
+ provisioner: "chefy",
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy"
+ name: "chefy"
)
end
end
describe "in a platform" do
-
it "moves attributes into provisioner" do
DataMunger.new(
{
- :provisioner => "chefy",
- :platforms => [
+ provisioner: "chefy",
+ platforms: [
{
- :name => "plat",
- :attributes => { :one => "two" }
- }
- ]
+ name: "plat",
+ attributes: { one: "two" },
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy",
- :attributes => { :one => "two" }
+ name: "chefy",
+ attributes: { one: "two" }
)
end
it "moves run_list into provisioner" do
DataMunger.new(
{
- :provisioner => "chefy",
- :platforms => [
+ provisioner: "chefy",
+ platforms: [
{
- :name => "plat",
- :run_list => %w[one two]
- }
- ]
+ name: "plat",
+ run_list: %w{one two},
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy",
- :run_list => %w[one two]
+ name: "chefy",
+ run_list: %w{one two}
)
end
it "moves named_run_list into provisioner" do
DataMunger.new(
{
- :provisioner => "chefy",
- :platforms => [
+ provisioner: "chefy",
+ platforms: [
{
- :name => "plat",
- :named_run_list => "other_run_list"
- }
- ]
+ name: "plat",
+ named_run_list: "other_run_list",
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy",
- :named_run_list => "other_run_list"
+ name: "chefy",
+ named_run_list: "other_run_list"
)
end
it "maintains run_list in provisioner" do
DataMunger.new(
{
- :provisioner => "chefy",
- :platforms => [
+ provisioner: "chefy",
+ platforms: [
{
- :name => "plat",
- :provisioner => {
- :run_list => %w[one two]
- }
- }
- ]
+ name: "plat",
+ provisioner: {
+ run_list: %w{one two},
+ },
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy",
- :run_list => %w[one two]
+ name: "chefy",
+ run_list: %w{one two}
)
end
it "merge provisioner into attributes if provisioner exists" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :attributes => { :one => "two" },
- :provisioner => "chefy"
- }
- ]
+ name: "plat",
+ attributes: { one: "two" },
+ provisioner: "chefy",
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy",
- :attributes => { :one => "two" }
+ name: "chefy",
+ attributes: { one: "two" }
)
end
it "merge provisioner into run_list if provisioner exists" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :run_list => %w[one two],
- :provisioner => "chefy"
- }
- ]
+ name: "plat",
+ run_list: %w{one two},
+ provisioner: "chefy",
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy",
- :run_list => %w[one two]
+ name: "chefy",
+ run_list: %w{one two}
)
end
it "merge provisioner into named_run_list if provisioner exists" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :named_run_list => "other_run_list",
- :provisioner => "chefy"
- }
- ]
+ name: "plat",
+ named_run_list: "other_run_list",
+ provisioner: "chefy",
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy",
- :named_run_list => "other_run_list"
+ name: "chefy",
+ named_run_list: "other_run_list"
)
end
it "drops nil run_list" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :run_list => nil,
- :provisioner => "chefy"
- }
- ]
+ name: "plat",
+ run_list: nil,
+ provisioner: "chefy",
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy"
+ name: "chefy"
)
end
it "drops nil attributes" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :attributes => nil,
- :provisioner => "chefy"
- }
- ]
+ name: "plat",
+ attributes: nil,
+ provisioner: "chefy",
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy"
+ name: "chefy"
)
end
end
describe "in a suite and platform" do
-
it "merges suite attributes into platform attributes" do
DataMunger.new(
{
- :provisioner => "chefy",
- :platforms => [
+ provisioner: "chefy",
+ platforms: [
{
- :name => "plat",
- :attributes => {
- :color => "blue",
- :deep => { :platform => "much" }
- }
- }
+ name: "plat",
+ attributes: {
+ color: "blue",
+ deep: { platform: "much" },
+ },
+ },
],
- :suites => [
+ suites: [
{
- :name => "sweet",
- :attributes => {
- :color => "pink",
- :deep => { :suite => "wow" }
- }
- }
- ]
+ name: "sweet",
+ attributes: {
+ color: "pink",
+ deep: { suite: "wow" },
+ },
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy",
- :attributes => {
- :color => "pink",
- :deep => {
- :suite => "wow",
- :platform => "much"
- }
+ name: "chefy",
+ attributes: {
+ color: "pink",
+ deep: {
+ suite: "wow",
+ platform: "much",
+ },
}
)
end
it "concats suite run_list to platform run_list" do
DataMunger.new(
{
- :provisioner => "chefy",
- :platforms => [
+ provisioner: "chefy",
+ platforms: [
{
- :name => "plat",
- :run_list => %w[one two]
- }
+ name: "plat",
+ run_list: %w{one two},
+ },
],
- :suites => [
+ suites: [
{
- :name => "sweet",
- :run_list => %w[three four]
- }
- ]
+ name: "sweet",
+ run_list: %w{three four},
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy",
- :run_list => %w[one two three four]
+ name: "chefy",
+ run_list: %w{one two three four}
)
end
it "concats suite run_list in provisioner to platform run_list" do
DataMunger.new(
{
- :provisioner => "chefy",
- :platforms => [
+ provisioner: "chefy",
+ platforms: [
{
- :name => "plat",
- :run_list => %w[one two]
- }
+ name: "plat",
+ run_list: %w{one two},
+ },
],
- :suites => [
+ suites: [
{
- :name => "sweet",
- :provisioner => {
- :run_list => %w[three four]
- }
- }
- ]
+ name: "sweet",
+ provisioner: {
+ run_list: %w{three four},
+ },
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy",
- :run_list => %w[one two three four]
+ name: "chefy",
+ run_list: %w{one two three four}
)
end
it "concats suite run_list to platform run_list in provisioner" do
DataMunger.new(
{
- :provisioner => "chefy",
- :platforms => [
+ provisioner: "chefy",
+ platforms: [
{
- :name => "plat",
- :provisioner => {
- :run_list => %w[one two]
- }
- }
+ name: "plat",
+ provisioner: {
+ run_list: %w{one two},
+ },
+ },
],
- :suites => [
+ suites: [
{
- :name => "sweet",
- :run_list => %w[three four]
- }
- ]
+ name: "sweet",
+ run_list: %w{three four},
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy",
- :run_list => %w[one two three four]
+ name: "chefy",
+ run_list: %w{one two three four}
)
end
it "concats to nil run_lists into an empty Array" do
DataMunger.new(
{
- :provisioner => "chefy",
- :platforms => [
+ provisioner: "chefy",
+ platforms: [
{
- :name => "plat",
- :provisioner => {
- :run_list => nil
- }
- }
+ name: "plat",
+ provisioner: {
+ run_list: nil,
+ },
+ },
],
- :suites => [
+ suites: [
{
- :name => "sweet",
- :run_list => nil
- }
- ]
+ name: "sweet",
+ run_list: nil,
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy",
- :run_list => []
+ name: "chefy",
+ run_list: []
)
end
it "does not corrupt run_list data for multiple suite/platform pairs" do
munger = DataMunger.new(
{
- :provisioner => "chefy",
- :platforms => [
+ provisioner: "chefy",
+ platforms: [
{
- :name => "p1"
+ name: "p1",
},
{
- :name => "p2",
- :run_list => %w[one two]
- }
+ name: "p2",
+ run_list: %w{one two},
+ },
],
- :suites => [
+ suites: [
{
- :name => "s1",
- :run_list => %w[alpha beta]
+ name: "s1",
+ run_list: %w{alpha beta},
},
{
- :name => "s2",
- :provisioner => {
- :run_list => %w[three four]
- }
- }
- ]
+ name: "s2",
+ provisioner: {
+ run_list: %w{three four},
+ },
+ },
+ ],
},
{}
)
# call munger for other data to cause any necessary internal
@@ -942,58 +926,52 @@
munger.provisioner_data_for("s1", "p1")
munger.provisioner_data_for("s1", "p2")
munger.provisioner_data_for("s2", "p1")
munger.provisioner_data_for("s2", "p2").must_equal(
- :name => "chefy",
- :run_list => %w[one two three four]
+ name: "chefy",
+ run_list: %w{one two three four}
)
end
end
end
describe "kitchen config" do
-
[:kitchen_root, :test_base_path].each do |key|
-
describe "for #{key}" do
-
describe "for #driver_data_for" do
-
it "is returned when provided" do
DataMunger.new(
{
- :driver => "chefy",
- :platforms => [
- { :name => "plat" }
+ driver: "chefy",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
- {
- key => "datvalue"
- }
+ key => "datvalue"
).driver_data_for("sweet", "plat").must_equal(
:name => "chefy",
key => "datvalue"
)
end
it "is returned when provided in user data" do
DataMunger.new(
{
- :kitchen => {
- key => "datvalue"
+ kitchen: {
+ key => "datvalue",
},
- :driver => "chefy",
- :platforms => [
- { :name => "plat" }
+ driver: "chefy",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
{}
).driver_data_for("sweet", "plat").must_equal(
:name => "chefy",
key => "datvalue"
@@ -1001,86 +979,81 @@
end
it "user data value beats provided value" do
DataMunger.new(
{
- :kitchen => {
- key => "datvalue"
+ kitchen: {
+ key => "datvalue",
},
- :driver => "chefy",
- :platforms => [
- { :name => "plat" }
+ driver: "chefy",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
- {
- key => "ilose"
- }
+ key => "ilose"
).driver_data_for("sweet", "plat").must_equal(
:name => "chefy",
key => "datvalue"
)
end
it "rejects any value in driver data" do
DataMunger.new(
{
- :driver => {
+ driver: {
:name => "chefy",
- key => "imevil"
+ key => "imevil",
},
- :platforms => [
- { :name => "plat" }
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
{}
).driver_data_for("sweet", "plat").must_equal(
- :name => "chefy"
+ name: "chefy"
)
end
end
describe "for #provisioner_data_for" do
-
it "is returned when provided" do
DataMunger.new(
{
- :provisioner => "chefy",
- :platforms => [
- { :name => "plat" }
+ provisioner: "chefy",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
- {
- key => "datvalue"
- }
+ key => "datvalue"
).provisioner_data_for("sweet", "plat").must_equal(
:name => "chefy",
key => "datvalue"
)
end
it "is returned when provided in user data" do
DataMunger.new(
{
- :kitchen => {
- key => "datvalue"
+ kitchen: {
+ key => "datvalue",
},
- :provisioner => "chefy",
- :platforms => [
- { :name => "plat" }
+ provisioner: "chefy",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
:name => "chefy",
key => "datvalue"
@@ -1088,86 +1061,81 @@
end
it "user data value beats provided value" do
DataMunger.new(
{
- :kitchen => {
- key => "datvalue"
+ kitchen: {
+ key => "datvalue",
},
- :provisioner => "chefy",
- :platforms => [
- { :name => "plat" }
+ provisioner: "chefy",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
- {
- key => "ilose"
- }
+ key => "ilose"
).provisioner_data_for("sweet", "plat").must_equal(
:name => "chefy",
key => "datvalue"
)
end
it "rejects any value in provisioner data" do
DataMunger.new(
{
- :provisioner => {
+ provisioner: {
:name => "chefy",
- key => "imevil"
+ key => "imevil",
},
- :platforms => [
- { :name => "plat" }
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy"
+ name: "chefy"
)
end
end
describe "for #verifier_data_for" do
-
it "is returned when provided" do
DataMunger.new(
{
- :verifier => "chefy",
- :platforms => [
- { :name => "plat" }
+ verifier: "chefy",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
- {
- key => "datvalue"
- }
+ key => "datvalue"
).verifier_data_for("sweet", "plat").must_equal(
:name => "chefy",
key => "datvalue"
)
end
it "is returned when provided in user data" do
DataMunger.new(
{
- :kitchen => {
- key => "datvalue"
+ kitchen: {
+ key => "datvalue",
},
- :verifier => "chefy",
- :platforms => [
- { :name => "plat" }
+ verifier: "chefy",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
{}
).verifier_data_for("sweet", "plat").must_equal(
:name => "chefy",
key => "datvalue"
@@ -1175,86 +1143,81 @@
end
it "user data value beats provided value" do
DataMunger.new(
{
- :kitchen => {
- key => "datvalue"
+ kitchen: {
+ key => "datvalue",
},
- :verifier => "chefy",
- :platforms => [
- { :name => "plat" }
+ verifier: "chefy",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
- {
- key => "ilose"
- }
+ key => "ilose"
).verifier_data_for("sweet", "plat").must_equal(
:name => "chefy",
key => "datvalue"
)
end
it "rejects any value in verifier data" do
DataMunger.new(
{
- :verifier => {
+ verifier: {
:version => "chefy",
- key => "imevil"
+ key => "imevil",
},
- :platforms => [
- { :name => "plat" }
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
{}
).verifier_data_for("sweet", "plat").must_equal(
- :version => "chefy"
+ version: "chefy"
)
end
end
describe "for #transport_data_for" do
-
it "is returned when provided" do
DataMunger.new(
{
- :transport => "pipes",
- :platforms => [
- { :name => "plat" }
+ transport: "pipes",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
- {
- key => "datvalue"
- }
+ key => "datvalue"
).transport_data_for("sweet", "plat").must_equal(
:name => "pipes",
key => "datvalue"
)
end
it "is returned when provided in user data" do
DataMunger.new(
{
- :kitchen => {
- key => "datvalue"
+ kitchen: {
+ key => "datvalue",
},
- :transport => "pipes",
- :platforms => [
- { :name => "plat" }
+ transport: "pipes",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
{}
).transport_data_for("sweet", "plat").must_equal(
:name => "pipes",
key => "datvalue"
@@ -1262,92 +1225,85 @@
end
it "user data value beats provided value" do
DataMunger.new(
{
- :kitchen => {
- key => "datvalue"
+ kitchen: {
+ key => "datvalue",
},
- :transport => "pipes",
- :platforms => [
- { :name => "plat" }
+ transport: "pipes",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
- {
- key => "ilose"
- }
+ key => "ilose"
).transport_data_for("sweet", "plat").must_equal(
:name => "pipes",
key => "datvalue"
)
end
it "rejects any value in transport data" do
DataMunger.new(
{
- :transport => {
+ transport: {
:name => "pipes",
- key => "imevil"
+ key => "imevil",
},
- :platforms => [
- { :name => "plat" }
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
{}
).transport_data_for("sweet", "plat").must_equal(
- :name => "pipes"
+ name: "pipes"
)
end
end
end
end
[:log_level].each do |key|
-
describe "for #{key}" do
-
describe "for #driver_data_for" do
-
it "is returned when provided" do
DataMunger.new(
{
- :driver => "chefy",
- :platforms => [
- { :name => "plat" }
+ driver: "chefy",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
- {
- key => "datvalue"
- }
+ key => "datvalue"
).driver_data_for("sweet", "plat").must_equal(
:name => "chefy",
key => "datvalue"
)
end
it "is returned when provided in user data" do
DataMunger.new(
{
- :kitchen => {
- key => "datvalue"
+ kitchen: {
+ key => "datvalue",
},
- :driver => "chefy",
- :platforms => [
- { :name => "plat" }
+ driver: "chefy",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
{}
).driver_data_for("sweet", "plat").must_equal(
:name => "chefy",
key => "datvalue"
@@ -1355,66 +1311,63 @@
end
it "user data value beats provided value" do
DataMunger.new(
{
- :kitchen => {
- key => "datvalue"
+ kitchen: {
+ key => "datvalue",
},
- :driver => "chefy",
- :platforms => [
- { :name => "plat" }
+ driver: "chefy",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
- {
- key => "ilose"
- }
+ key => "ilose"
).driver_data_for("sweet", "plat").must_equal(
:name => "chefy",
key => "datvalue"
)
end
it "rejects any value in driver data" do
DataMunger.new(
{
- :driver => {
+ driver: {
:name => "chefy",
- key => "imevil"
+ key => "imevil",
},
- :platforms => [
- { :name => "plat" }
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
{}
).driver_data_for("sweet", "plat").must_equal(
- :name => "chefy"
+ name: "chefy"
)
end
end
describe "for #provisioner_data_for" do
-
it "uses value in provisioner data" do
DataMunger.new(
{
- :provisioner => {
+ provisioner: {
:name => "chefy",
- key => "datvalue"
+ key => "datvalue",
},
- :platforms => [
- { :name => "plat" }
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
:name => "chefy",
key => "datvalue"
@@ -1422,63 +1375,60 @@
end
it "rejects any value in user data" do
DataMunger.new(
{
- :kitchen => {
- key => "imevil"
+ kitchen: {
+ key => "imevil",
},
- :provisioner => "chefy",
- :platforms => [
- { :name => "plat" }
+ provisioner: "chefy",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
- :name => "chefy"
+ name: "chefy"
)
end
end
describe "for #verifier_data_for" do
-
it "is returned when provided" do
DataMunger.new(
{
- :verifier => "chefy",
- :platforms => [
- { :name => "plat" }
+ verifier: "chefy",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
- {
- key => "datvalue"
- }
+ key => "datvalue"
).verifier_data_for("sweet", "plat").must_equal(
:name => "chefy",
key => "datvalue"
)
end
it "is returned when provided in user data" do
DataMunger.new(
{
- :kitchen => {
- key => "datvalue"
+ kitchen: {
+ key => "datvalue",
},
- :verifier => "chefy",
- :platforms => [
- { :name => "plat" }
+ verifier: "chefy",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
{}
).verifier_data_for("sweet", "plat").must_equal(
:name => "chefy",
key => "datvalue"
@@ -1486,86 +1436,81 @@
end
it "user data value beats provided value" do
DataMunger.new(
{
- :kitchen => {
- key => "datvalue"
+ kitchen: {
+ key => "datvalue",
},
- :verifier => "chefy",
- :platforms => [
- { :name => "plat" }
+ verifier: "chefy",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
- {
- key => "ilose"
- }
+ key => "ilose"
).verifier_data_for("sweet", "plat").must_equal(
:name => "chefy",
key => "datvalue"
)
end
it "rejects any value in verifier data" do
DataMunger.new(
{
- :verifier => {
+ verifier: {
:version => "chefy",
- key => "imevil"
+ key => "imevil",
},
- :platforms => [
- { :name => "plat" }
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
{}
).verifier_data_for("sweet", "plat").must_equal(
- :version => "chefy"
+ version: "chefy"
)
end
end
describe "for #transport_data_for" do
-
it "is returned when provided" do
DataMunger.new(
{
- :transport => "pipes",
- :platforms => [
- { :name => "plat" }
+ transport: "pipes",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
- {
- key => "datvalue"
- }
+ key => "datvalue"
).transport_data_for("sweet", "plat").must_equal(
:name => "pipes",
key => "datvalue"
)
end
it "is returned when provided in user data" do
DataMunger.new(
{
- :kitchen => {
- key => "datvalue"
+ kitchen: {
+ key => "datvalue",
},
- :transport => "pipes",
- :platforms => [
- { :name => "plat" }
+ transport: "pipes",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
{}
).transport_data_for("sweet", "plat").must_equal(
:name => "pipes",
key => "datvalue"
@@ -1573,373 +1518,366 @@
end
it "user data value beats provided value" do
DataMunger.new(
{
- :kitchen => {
- key => "datvalue"
+ kitchen: {
+ key => "datvalue",
},
- :transport => "pipes",
- :platforms => [
- { :name => "plat" }
+ transport: "pipes",
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
- {
- key => "ilose"
- }
+ key => "ilose"
).transport_data_for("sweet", "plat").must_equal(
:name => "pipes",
key => "datvalue"
)
end
it "rejects any value in transport data" do
DataMunger.new(
{
- :transport => {
+ transport: {
:name => "pipes",
- key => "imevil"
+ key => "imevil",
},
- :platforms => [
- { :name => "plat" }
+ platforms: [
+ { name: "plat" },
],
- :suites => [
- { :name => "sweet" }
- ]
+ suites: [
+ { name: "sweet" },
+ ],
},
{}
).transport_data_for("sweet", "plat").must_equal(
- :name => "pipes"
+ name: "pipes"
)
end
end
end
end
end
describe "legacy driver_config and driver_plugin" do
-
describe "from a single source" do
-
it "returns common driver name" do
DataMunger.new(
{
- :driver_plugin => "starship"
+ driver_plugin: "starship",
},
{}
).driver_data_for("suite", "platform").must_equal(
- :name => "starship"
+ name: "starship"
)
end
it "merges driver into driver_plugin if driver exists" do
DataMunger.new(
{
- :driver_plugin => "starship",
- :driver => "zappa"
+ driver_plugin: "starship",
+ driver: "zappa",
},
{}
).driver_data_for("suite", "platform").must_equal(
- :name => "zappa"
+ name: "zappa"
)
end
it "returns common driver config" do
DataMunger.new(
{
- :driver_plugin => "starship",
- :driver_config => {
- :speed => 42
- }
+ driver_plugin: "starship",
+ driver_config: {
+ speed: 42,
+ },
},
{}
).driver_data_for("suite", "platform").must_equal(
- :name => "starship",
- :speed => 42
+ name: "starship",
+ speed: 42
)
end
it "merges driver into driver_config if driver with name exists" do
DataMunger.new(
{
- :driver_config => {
- :eh => "yep"
+ driver_config: {
+ eh: "yep",
},
- :driver => "zappa"
+ driver: "zappa",
},
{}
).driver_data_for("suite", "platform").must_equal(
- :name => "zappa",
- :eh => "yep"
+ name: "zappa",
+ eh: "yep"
)
end
it "merges driver into driver_config if driver exists" do
DataMunger.new(
{
- :driver_plugin => "imold",
- :driver_config => {
- :eh => "yep",
- :color => "pink"
+ driver_plugin: "imold",
+ driver_config: {
+ eh: "yep",
+ color: "pink",
},
- :driver => {
- :name => "zappa",
- :color => "black"
- }
+ driver: {
+ name: "zappa",
+ color: "black",
+ },
},
{}
).driver_data_for("suite", "platform").must_equal(
- :name => "zappa",
- :eh => "yep",
- :color => "black"
+ name: "zappa",
+ eh: "yep",
+ color: "black"
)
end
it "returns platform driver name" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :driver_plugin => "flip"
- }
- ]
+ name: "plat",
+ driver_plugin: "flip",
+ },
+ ],
},
{}
).driver_data_for("suite", "plat").must_equal(
- :name => "flip"
+ name: "flip"
)
end
it "returns platform config containing driver hash" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :driver_plugin => "flip",
- :driver_config => {
- :flop => "yep"
- }
- }
- ]
+ name: "plat",
+ driver_plugin: "flip",
+ driver_config: {
+ flop: "yep",
+ },
+ },
+ ],
},
{}
).driver_data_for("suite", "plat").must_equal(
- :name => "flip",
- :flop => "yep"
+ name: "flip",
+ flop: "yep"
)
end
it "returns suite driver name" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
- :name => "sweet",
- :driver_plugin => "waz"
- }
- ]
+ name: "sweet",
+ driver_plugin: "waz",
+ },
+ ],
},
{}
).driver_data_for("sweet", "platform").must_equal(
- :name => "waz"
+ name: "waz"
)
end
it "returns suite config containing driver hash" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
- :name => "sweet",
- :driver_plugin => "waz",
- :driver_config => {
- :up => "nope"
- }
- }
- ]
+ name: "sweet",
+ driver_plugin: "waz",
+ driver_config: {
+ up: "nope",
+ },
+ },
+ ],
},
{}
).driver_data_for("sweet", "platform").must_equal(
- :name => "waz",
- :up => "nope"
+ name: "waz",
+ up: "nope"
)
end
end
describe "from multiple sources" do
-
it "suite into platform into common" do
DataMunger.new(
{
- :driver_plugin => "commony",
- :driver_config => {
- :color => "purple",
- :fruit => %w[apple pear],
- :deep => { :common => "junk" }
+ driver_plugin: "commony",
+ driver_config: {
+ color: "purple",
+ fruit: %w{apple pear},
+ deep: { common: "junk" },
},
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :driver_plugin => "platformy",
- :driver_config => {
- :fruit => ["banana"],
- :deep => { :platform => "stuff" }
- }
- }
+ name: "plat",
+ driver_plugin: "platformy",
+ driver_config: {
+ fruit: ["banana"],
+ deep: { platform: "stuff" },
+ },
+ },
],
- :suites => [
+ suites: [
{
- :name => "sweet",
- :driver_plugin => "suitey",
- :driver_config => {
- :vehicle => "car",
- :deep => { :suite => "things" }
- }
- }
- ]
+ name: "sweet",
+ driver_plugin: "suitey",
+ driver_config: {
+ vehicle: "car",
+ deep: { suite: "things" },
+ },
+ },
+ ],
},
{}
).driver_data_for("sweet", "plat").must_equal(
- :name => "suitey",
- :color => "purple",
- :fruit => ["banana"],
- :vehicle => "car",
- :deep => {
- :common => "junk",
- :platform => "stuff",
- :suite => "things"
+ name: "suitey",
+ color: "purple",
+ fruit: ["banana"],
+ vehicle: "car",
+ deep: {
+ common: "junk",
+ platform: "stuff",
+ suite: "things",
}
)
end
it "platform into common" do
DataMunger.new(
{
- :driver_plugin => "commony",
- :driver_config => {
- :color => "purple",
- :fruit => %w[apple pear],
- :deep => { :common => "junk" }
+ driver_plugin: "commony",
+ driver_config: {
+ color: "purple",
+ fruit: %w{apple pear},
+ deep: { common: "junk" },
},
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :driver_plugin => "platformy",
- :driver_config => {
- :fruit => ["banana"],
- :deep => { :platform => "stuff" }
- }
- }
- ]
+ name: "plat",
+ driver_plugin: "platformy",
+ driver_config: {
+ fruit: ["banana"],
+ deep: { platform: "stuff" },
+ },
+ },
+ ],
},
{}
).driver_data_for("sweet", "plat").must_equal(
- :name => "platformy",
- :color => "purple",
- :fruit => ["banana"],
- :deep => {
- :common => "junk",
- :platform => "stuff"
+ name: "platformy",
+ color: "purple",
+ fruit: ["banana"],
+ deep: {
+ common: "junk",
+ platform: "stuff",
}
)
end
it "suite into common" do
DataMunger.new(
{
- :driver_plugin => "commony",
- :driver_config => {
- :color => "purple",
- :fruit => %w[apple pear],
- :deep => { :common => "junk" }
+ driver_plugin: "commony",
+ driver_config: {
+ color: "purple",
+ fruit: %w{apple pear},
+ deep: { common: "junk" },
},
- :suites => [
+ suites: [
{
- :name => "sweet",
- :driver_plugin => "suitey",
- :driver_config => {
- :vehicle => "car",
- :deep => { :suite => "things" }
- }
- }
- ]
+ name: "sweet",
+ driver_plugin: "suitey",
+ driver_config: {
+ vehicle: "car",
+ deep: { suite: "things" },
+ },
+ },
+ ],
},
{}
).driver_data_for("sweet", "plat").must_equal(
- :name => "suitey",
- :color => "purple",
- :fruit => %w[apple pear],
- :vehicle => "car",
- :deep => {
- :common => "junk",
- :suite => "things"
+ name: "suitey",
+ color: "purple",
+ fruit: %w{apple pear},
+ vehicle: "car",
+ deep: {
+ common: "junk",
+ suite: "things",
}
)
end
it "suite into platform" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :driver_plugin => "platformy",
- :driver_config => {
- :fruit => ["banana"],
- :deep => { :platform => "stuff" }
- }
- }
+ name: "plat",
+ driver_plugin: "platformy",
+ driver_config: {
+ fruit: ["banana"],
+ deep: { platform: "stuff" },
+ },
+ },
],
- :suites => [
+ suites: [
{
- :name => "sweet",
- :driver_plugin => "suitey",
- :driver_config => {
- :vehicle => "car",
- :deep => { :suite => "things" }
- }
- }
- ]
+ name: "sweet",
+ driver_plugin: "suitey",
+ driver_config: {
+ vehicle: "car",
+ deep: { suite: "things" },
+ },
+ },
+ ],
},
{}
).driver_data_for("sweet", "plat").must_equal(
- :name => "suitey",
- :fruit => ["banana"],
- :vehicle => "car",
- :deep => {
- :platform => "stuff",
- :suite => "things"
+ name: "suitey",
+ fruit: ["banana"],
+ vehicle: "car",
+ deep: {
+ platform: "stuff",
+ suite: "things",
}
)
end
end
end
describe "legacy chef paths from suite" do
-
LEGACY_CHEF_PATHS = [
:data_path, :data_bags_path, :environments_path,
:nodes_path, :roles_path, :encrypted_data_bag_secret_key_path
- ]
+ ].freeze
LEGACY_CHEF_PATHS.each do |key|
-
it "moves #{key} into provisioner" do
DataMunger.new(
{
- :provisioner => "chefy",
- :suites => [
+ provisioner: "chefy",
+ suites: [
{
:name => "sweet",
- key => "mypath"
- }
- ]
+ key => "mypath",
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
:name => "chefy",
key => "mypath"
@@ -1947,17 +1885,17 @@
end
it "merges provisioner into data_path if provisioner exists" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
:name => "sweet",
key => "mypath",
- :provisioner => "chefy"
- }
- ]
+ :provisioner => "chefy",
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "plat").must_equal(
:name => "chefy",
key => "mypath"
@@ -1965,795 +1903,788 @@
end
end
end
describe "legacy require_chef_omnibus from driver" do
-
describe "from a single source" do
-
it "common driver value moves into provisioner" do
DataMunger.new(
{
- :provisioner => "chefy",
- :driver => {
- :name => "starship",
- :require_chef_omnibus => "it's probably fine"
- }
+ provisioner: "chefy",
+ driver: {
+ name: "starship",
+ require_chef_omnibus: "it's probably fine",
+ },
},
{}
).provisioner_data_for("suite", "platform").must_equal(
- :name => "chefy",
- :require_chef_omnibus => "it's probably fine"
+ name: "chefy",
+ require_chef_omnibus: "it's probably fine"
)
end
it "common driver value loses to existing provisioner value" do
DataMunger.new(
{
- :provisioner => {
- :name => "chefy",
- :require_chef_omnibus => "it's probably fine"
+ provisioner: {
+ name: "chefy",
+ require_chef_omnibus: "it's probably fine",
},
- :driver => {
- :name => "starship",
- :require_chef_omnibus => "dragons"
- }
+ driver: {
+ name: "starship",
+ require_chef_omnibus: "dragons",
+ },
},
{}
).provisioner_data_for("suite", "platform").must_equal(
- :name => "chefy",
- :require_chef_omnibus => "it's probably fine"
+ name: "chefy",
+ require_chef_omnibus: "it's probably fine"
)
end
it "suite driver value moves into provisioner" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
- :name => "sweet",
- :provisioner => "chefy",
- :driver => {
- :name => "starship",
- :require_chef_omnibus => "it's probably fine"
- }
- }
- ]
+ name: "sweet",
+ provisioner: "chefy",
+ driver: {
+ name: "starship",
+ require_chef_omnibus: "it's probably fine",
+ },
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "platform").must_equal(
- :name => "chefy",
- :require_chef_omnibus => "it's probably fine"
+ name: "chefy",
+ require_chef_omnibus: "it's probably fine"
)
end
it "suite driver value loses to existing provisioner value" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
- :name => "sweet",
- :provisioner => {
- :name => "chefy",
- :require_chef_omnibus => "it's probably fine"
+ name: "sweet",
+ provisioner: {
+ name: "chefy",
+ require_chef_omnibus: "it's probably fine",
},
- :driver => {
- :name => "starship",
- :require_chef_omnibus => "dragons"
- }
- }
- ]
+ driver: {
+ name: "starship",
+ require_chef_omnibus: "dragons",
+ },
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "platform").must_equal(
- :name => "chefy",
- :require_chef_omnibus => "it's probably fine"
+ name: "chefy",
+ require_chef_omnibus: "it's probably fine"
)
end
it "platform driver value moves into provisioner" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :provisioner => "chefy",
- :driver => {
- :name => "starship",
- :require_chef_omnibus => "it's probably fine"
- }
- }
- ]
+ name: "plat",
+ provisioner: "chefy",
+ driver: {
+ name: "starship",
+ require_chef_omnibus: "it's probably fine",
+ },
+ },
+ ],
},
{}
).provisioner_data_for("suite", "plat").must_equal(
- :name => "chefy",
- :require_chef_omnibus => "it's probably fine"
+ name: "chefy",
+ require_chef_omnibus: "it's probably fine"
)
end
it "platform driver value loses to existing provisioner value" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :provisioner => {
- :name => "chefy",
- :require_chef_omnibus => "it's probably fine"
+ name: "plat",
+ provisioner: {
+ name: "chefy",
+ require_chef_omnibus: "it's probably fine",
},
- :driver => {
- :name => "starship",
- :require_chef_omnibus => "dragons"
- }
- }
- ]
+ driver: {
+ name: "starship",
+ require_chef_omnibus: "dragons",
+ },
+ },
+ ],
},
{}
).provisioner_data_for("suite", "plat").must_equal(
- :name => "chefy",
- :require_chef_omnibus => "it's probably fine"
+ name: "chefy",
+ require_chef_omnibus: "it's probably fine"
)
end
end
end
describe "legacy http_proxy & https_proxy from driver" do
-
describe "from a single source" do
-
it "common driver value remains in driver" do
DataMunger.new(
{
- :provisioner => "chefy",
- :driver => {
- :name => "starship",
- :http_proxy => "http://proxy",
- :https_proxy => "https://proxy"
- }
+ provisioner: "chefy",
+ driver: {
+ name: "starship",
+ http_proxy: "http://proxy",
+ https_proxy: "https://proxy",
+ },
},
{}
).driver_data_for("suite", "platform").must_equal(
- :name => "starship",
- :http_proxy => "http://proxy",
- :https_proxy => "https://proxy"
+ name: "starship",
+ http_proxy: "http://proxy",
+ https_proxy: "https://proxy"
)
end
it "common driver value copies into provisioner" do
DataMunger.new(
{
- :provisioner => "chefy",
- :driver => {
- :name => "starship",
- :http_proxy => "http://proxy",
- :https_proxy => "https://proxy"
- }
+ provisioner: "chefy",
+ driver: {
+ name: "starship",
+ http_proxy: "http://proxy",
+ https_proxy: "https://proxy",
+ },
},
{}
).provisioner_data_for("suite", "platform").must_equal(
- :name => "chefy",
- :http_proxy => "http://proxy",
- :https_proxy => "https://proxy"
+ name: "chefy",
+ http_proxy: "http://proxy",
+ https_proxy: "https://proxy"
)
end
it "common driver value copies into verifier" do
DataMunger.new(
{
- :verifier => "bussy",
- :driver => {
- :name => "starship",
- :http_proxy => "http://proxy",
- :https_proxy => "https://proxy"
- }
+ verifier: "bussy",
+ driver: {
+ name: "starship",
+ http_proxy: "http://proxy",
+ https_proxy: "https://proxy",
+ },
},
{}
).verifier_data_for("suite", "platform").must_equal(
- :name => "bussy",
- :http_proxy => "http://proxy",
- :https_proxy => "https://proxy"
+ name: "bussy",
+ http_proxy: "http://proxy",
+ https_proxy: "https://proxy"
)
end
it "common driver value loses to existing provisioner value" do
DataMunger.new(
{
- :provisioner => {
- :name => "chefy",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
+ provisioner: {
+ name: "chefy",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta",
},
- :driver => {
- :name => "starship",
- :http_proxy => "dragons",
- :https_proxy => "cats"
- }
+ driver: {
+ name: "starship",
+ http_proxy: "dragons",
+ https_proxy: "cats",
+ },
},
{}
).provisioner_data_for("suite", "platform").must_equal(
- :name => "chefy",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
+ name: "chefy",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta"
)
end
it "common driver value loses to existing verifier value" do
DataMunger.new(
{
- :verifier => {
- :name => "bussy",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
+ verifier: {
+ name: "bussy",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta",
},
- :driver => {
- :name => "starship",
- :http_proxy => "dragons",
- :https_proxy => "cats"
- }
+ driver: {
+ name: "starship",
+ http_proxy: "dragons",
+ https_proxy: "cats",
+ },
},
{}
).verifier_data_for("suite", "platform").must_equal(
- :name => "bussy",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
+ name: "bussy",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta"
)
end
it "suite driver value remains in driver" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
- :name => "sweet",
- :provisioner => "chefy",
- :driver => {
- :name => "starship",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
- }
- }
- ]
+ name: "sweet",
+ provisioner: "chefy",
+ driver: {
+ name: "starship",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta",
+ },
+ },
+ ],
},
{}
).driver_data_for("sweet", "platform").must_equal(
- :name => "starship",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
+ name: "starship",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta"
)
end
it "suite driver value copies into provisioner" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
- :name => "sweet",
- :provisioner => "chefy",
- :driver => {
- :name => "starship",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
- }
- }
- ]
+ name: "sweet",
+ provisioner: "chefy",
+ driver: {
+ name: "starship",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta",
+ },
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "platform").must_equal(
- :name => "chefy",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
+ name: "chefy",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta"
)
end
it "suite driver value copies into verifier" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
- :name => "sweet",
- :verifier => "bussy",
- :driver => {
- :name => "starship",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
- }
- }
- ]
+ name: "sweet",
+ verifier: "bussy",
+ driver: {
+ name: "starship",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta",
+ },
+ },
+ ],
},
{}
).verifier_data_for("sweet", "platform").must_equal(
- :name => "bussy",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
+ name: "bussy",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta"
)
end
it "suite driver value loses to existing provisioner value" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
- :name => "sweet",
- :provisioner => {
- :name => "chefy",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
+ name: "sweet",
+ provisioner: {
+ name: "chefy",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta",
},
- :driver => {
- :name => "starship",
- :http_proxy => "dragons",
- :https_proxy => "cats"
- }
- }
- ]
+ driver: {
+ name: "starship",
+ http_proxy: "dragons",
+ https_proxy: "cats",
+ },
+ },
+ ],
},
{}
).provisioner_data_for("sweet", "platform").must_equal(
- :name => "chefy",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
+ name: "chefy",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta"
)
end
it "suite driver value loses to existing verifier value" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
- :name => "sweet",
- :verifier => {
- :name => "bussy",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
+ name: "sweet",
+ verifier: {
+ name: "bussy",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta",
},
- :driver => {
- :name => "starship",
- :http_proxy => "dragons",
- :https_proxy => "cats"
- }
- }
- ]
+ driver: {
+ name: "starship",
+ http_proxy: "dragons",
+ https_proxy: "cats",
+ },
+ },
+ ],
},
{}
).verifier_data_for("sweet", "platform").must_equal(
- :name => "bussy",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
+ name: "bussy",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta"
)
end
it "platform driver value remains in driver" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :provisioner => "chefy",
- :driver => {
- :name => "starship",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
- }
- }
- ]
+ name: "plat",
+ provisioner: "chefy",
+ driver: {
+ name: "starship",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta",
+ },
+ },
+ ],
},
{}
).driver_data_for("suite", "plat").must_equal(
- :name => "starship",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
+ name: "starship",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta"
)
end
it "platform driver value copies into provisioner" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :provisioner => "chefy",
- :driver => {
- :name => "starship",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
- }
- }
- ]
+ name: "plat",
+ provisioner: "chefy",
+ driver: {
+ name: "starship",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta",
+ },
+ },
+ ],
},
{}
).provisioner_data_for("suite", "plat").must_equal(
- :name => "chefy",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
+ name: "chefy",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta"
)
end
it "platform driver value copies into verifier" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :verifier => "bussy",
- :driver => {
- :name => "starship",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
- }
- }
- ]
+ name: "plat",
+ verifier: "bussy",
+ driver: {
+ name: "starship",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta",
+ },
+ },
+ ],
},
{}
).verifier_data_for("suite", "plat").must_equal(
- :name => "bussy",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
+ name: "bussy",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta"
)
end
it "platform driver value loses to existing provisioner value" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :provisioner => {
- :name => "chefy",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
+ name: "plat",
+ provisioner: {
+ name: "chefy",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta",
},
- :driver => {
- :name => "starship",
- :http_proxy => "dragons",
- :https_proxy => "cats"
- }
- }
- ]
+ driver: {
+ name: "starship",
+ http_proxy: "dragons",
+ https_proxy: "cats",
+ },
+ },
+ ],
},
{}
).provisioner_data_for("suite", "plat").must_equal(
- :name => "chefy",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
+ name: "chefy",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta"
)
end
it "platform driver value loses to existing verifier value" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :verifier => {
- :name => "bussy",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
+ name: "plat",
+ verifier: {
+ name: "bussy",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta",
},
- :driver => {
- :name => "starship",
- :http_proxy => "dragons",
- :https_proxy => "cats"
- }
- }
- ]
+ driver: {
+ name: "starship",
+ http_proxy: "dragons",
+ https_proxy: "cats",
+ },
+ },
+ ],
},
{}
).verifier_data_for("suite", "plat").must_equal(
- :name => "bussy",
- :http_proxy => "it's probably fine",
- :https_proxy => "la quinta"
+ name: "bussy",
+ http_proxy: "it's probably fine",
+ https_proxy: "la quinta"
)
end
end
end
describe "legacy busser blocks to verifier" do
-
describe "from a single source" do
-
it "merges old common busser name to version into verifier" do
DataMunger.new(
{
- :busser => "starship"
+ busser: "starship",
},
{}
).verifier_data_for("suite", "platform").must_equal(
- :name => "busser",
- :version => "starship"
+ name: "busser",
+ version: "starship"
)
end
it "merges old common busser name to version with exising verifier" do
DataMunger.new(
{
- :busser => "starship",
- :verifier => {
- :a => "b"
- }
+ busser: "starship",
+ verifier: {
+ a: "b",
+ },
},
{}
).verifier_data_for("suite", "platform").must_equal(
- :name => "busser",
- :version => "starship",
- :a => "b"
+ name: "busser",
+ version: "starship",
+ a: "b"
)
end
it "merges old common busser name to version into verifier with name" do
DataMunger.new(
{
- :busser => "starship",
- :verifier => "stellar"
+ busser: "starship",
+ verifier: "stellar",
},
{}
).verifier_data_for("suite", "platform").must_equal(
- :name => "stellar",
- :version => "starship"
+ name: "stellar",
+ version: "starship"
)
end
it "merges old busser data into verifier with name" do
DataMunger.new(
{
- :busser => {
- :a => "b"
+ busser: {
+ a: "b",
},
- :verifier => "stellar"
+ verifier: "stellar",
},
{}
).verifier_data_for("suite", "platform").must_equal(
- :name => "stellar",
- :a => "b"
+ name: "stellar",
+ a: "b"
)
end
it "merges old busser data into verifier data" do
DataMunger.new(
{
- :busser => {
- :a => "b",
- :both => "legacy"
+ busser: {
+ a: "b",
+ both: "legacy",
},
- :verifier => {
- :name => "stellar",
- :c => "d",
- :both => "modern"
- }
+ verifier: {
+ name: "stellar",
+ c: "d",
+ both: "modern",
+ },
},
{}
).verifier_data_for("suite", "platform").must_equal(
- :name => "stellar",
- :a => "b",
- :c => "d",
- :both => "modern"
+ name: "stellar",
+ a: "b",
+ c: "d",
+ both: "modern"
)
end
it "returns platform verifier name" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :busser => "flip"
- }
- ]
+ name: "plat",
+ busser: "flip",
+ },
+ ],
},
{}
).verifier_data_for("suite", "plat").must_equal(
- :name => "busser",
- :version => "flip"
+ name: "busser",
+ version: "flip"
)
end
it "return platform config containing verifier hash" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :busser => "flip",
- :verifier => {
- :flop => "yep"
- }
- }
- ]
+ name: "plat",
+ busser: "flip",
+ verifier: {
+ flop: "yep",
+ },
+ },
+ ],
},
{}
).verifier_data_for("suite", "plat").must_equal(
- :name => "busser",
- :version => "flip",
- :flop => "yep"
+ name: "busser",
+ version: "flip",
+ flop: "yep"
)
end
it "returns suite driver name" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
- :name => "sweet",
- :busser => "waz"
- }
- ]
+ name: "sweet",
+ busser: "waz",
+ },
+ ],
},
{}
).verifier_data_for("sweet", "platform").must_equal(
- :name => "busser",
- :version => "waz"
+ name: "busser",
+ version: "waz"
)
end
it "returns suite config containing verifier hash" do
DataMunger.new(
{
- :suites => [
+ suites: [
{
- :name => "sweet",
- :busser => "waz",
- :verifier => {
- :up => "nope"
- }
- }
- ]
+ name: "sweet",
+ busser: "waz",
+ verifier: {
+ up: "nope",
+ },
+ },
+ ],
},
{}
).verifier_data_for("sweet", "platform").must_equal(
- :name => "busser",
- :version => "waz",
- :up => "nope"
+ name: "busser",
+ version: "waz",
+ up: "nope"
)
end
end
describe "from multiple sources" do
-
it "suite into platform into common" do
DataMunger.new(
{
- :busser => {
- :version => "commony",
- :color => "purple",
- :fruit => %w[apple pear],
- :deep => { :common => "junk" }
+ busser: {
+ version: "commony",
+ color: "purple",
+ fruit: %w{apple pear},
+ deep: { common: "junk" },
},
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :busser => {
- :version => "platformy",
- :fruit => ["banana"],
- :deep => { :platform => "stuff" }
- }
- }
+ name: "plat",
+ busser: {
+ version: "platformy",
+ fruit: ["banana"],
+ deep: { platform: "stuff" },
+ },
+ },
],
- :suites => [
+ suites: [
{
- :name => "sweet",
- :busser => {
- :version => "suitey",
- :vehicle => "car",
- :deep => { :suite => "things" }
- }
- }
- ]
+ name: "sweet",
+ busser: {
+ version: "suitey",
+ vehicle: "car",
+ deep: { suite: "things" },
+ },
+ },
+ ],
},
{}
).verifier_data_for("sweet", "plat").must_equal(
- :name => "busser",
- :version => "suitey",
- :color => "purple",
- :fruit => ["banana"],
- :vehicle => "car",
- :deep => {
- :common => "junk",
- :platform => "stuff",
- :suite => "things"
+ name: "busser",
+ version: "suitey",
+ color: "purple",
+ fruit: ["banana"],
+ vehicle: "car",
+ deep: {
+ common: "junk",
+ platform: "stuff",
+ suite: "things",
}
)
end
it "platform into common" do
DataMunger.new(
{
- :busser => {
- :version => "commony",
- :color => "purple",
- :fruit => %w[apple pear],
- :deep => { :common => "junk" }
+ busser: {
+ version: "commony",
+ color: "purple",
+ fruit: %w{apple pear},
+ deep: { common: "junk" },
},
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :busser => {
- :version => "platformy",
- :fruit => ["banana"],
- :deep => { :platform => "stuff" }
- }
- }
- ]
+ name: "plat",
+ busser: {
+ version: "platformy",
+ fruit: ["banana"],
+ deep: { platform: "stuff" },
+ },
+ },
+ ],
},
{}
).verifier_data_for("sweet", "plat").must_equal(
- :name => "busser",
- :version => "platformy",
- :color => "purple",
- :fruit => ["banana"],
- :deep => {
- :common => "junk",
- :platform => "stuff"
+ name: "busser",
+ version: "platformy",
+ color: "purple",
+ fruit: ["banana"],
+ deep: {
+ common: "junk",
+ platform: "stuff",
}
)
end
it "suite into common" do
DataMunger.new(
{
- :busser => {
- :version => "commony",
- :color => "purple",
- :fruit => %w[apple pear],
- :deep => { :common => "junk" }
+ busser: {
+ version: "commony",
+ color: "purple",
+ fruit: %w{apple pear},
+ deep: { common: "junk" },
},
- :suites => [
+ suites: [
{
- :name => "sweet",
- :busser => {
- :version => "suitey",
- :vehicle => "car",
- :deep => { :suite => "things" }
- }
- }
- ]
+ name: "sweet",
+ busser: {
+ version: "suitey",
+ vehicle: "car",
+ deep: { suite: "things" },
+ },
+ },
+ ],
},
{}
).verifier_data_for("sweet", "plat").must_equal(
- :name => "busser",
- :version => "suitey",
- :color => "purple",
- :fruit => %w[apple pear],
- :vehicle => "car",
- :deep => {
- :common => "junk",
- :suite => "things"
+ name: "busser",
+ version: "suitey",
+ color: "purple",
+ fruit: %w{apple pear},
+ vehicle: "car",
+ deep: {
+ common: "junk",
+ suite: "things",
}
)
end
it "suite into platform" do
DataMunger.new(
{
- :platforms => [
+ platforms: [
{
- :name => "plat",
- :busser => {
- :version => "platformy",
- :fruit => ["banana"],
- :deep => { :platform => "stuff" }
- }
- }
+ name: "plat",
+ busser: {
+ version: "platformy",
+ fruit: ["banana"],
+ deep: { platform: "stuff" },
+ },
+ },
],
- :suites => [
+ suites: [
{
- :name => "sweet",
- :busser => {
- :version => "suitey",
- :vehicle => "car",
- :deep => { :suite => "things" }
- }
- }
- ]
+ name: "sweet",
+ busser: {
+ version: "suitey",
+ vehicle: "car",
+ deep: { suite: "things" },
+ },
+ },
+ ],
},
{}
).verifier_data_for("sweet", "plat").must_equal(
- :name => "busser",
- :version => "suitey",
- :fruit => ["banana"],
- :vehicle => "car",
- :deep => {
- :platform => "stuff",
- :suite => "things"
+ name: "busser",
+ version: "suitey",
+ fruit: ["banana"],
+ vehicle: "car",
+ deep: {
+ platform: "stuff",
+ suite: "things",
}
)
end
end
end