spec/unit/policyfile/lock_applier_spec.rb in chef-dk-3.0.36 vs spec/unit/policyfile/lock_applier_spec.rb in chef-dk-3.1.0
- old
+ new
@@ -1,100 +1,100 @@
-#
-# Copyright:: Copyright (c) 2017 Chef Software Inc.
-# License:: Apache License, Version 2.0
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-require "spec_helper"
-require "chef-dk/policyfile/lock_applier"
-require "chef-dk/policyfile_compiler"
-require "chef-dk/policyfile_lock"
-
-describe ChefDK::Policyfile::LockApplier do
- let(:lock) { instance_double("ChefDK::Policyfile::PolicyfileLock") }
- let(:compiler) { instance_double("ChefDK::Policyfile::PolicyfileCompiler") }
- let(:lock_applier) { ChefDK::Policyfile::LockApplier.new(lock, compiler) }
-
- let(:included_policy_1) do
- instance_double("ChefDK::Policyfile::PolicyfileLocationSpec",
- name: "policy1")
- end
-
- let(:included_policy_2) do
- instance_double("ChefDK::Policyfile::PolicyfileLocationSpec",
- name: "policy2")
- end
-
- let(:included_policy_lock_1) do
- {
- "name" => "policy1",
- "source_options" => {
- "some_name" => "policy1_name",
- },
- }
- end
-
- let(:included_policy_lock_2) do
- {
- "name" => "policy2",
- "source_options" => {
- "some_name" => "policy2_name",
- },
- }
- end
-
- let(:lock_location_specs) { [] }
- let(:included_policy_locks) { [] }
-
- before do
- allow(compiler).to receive(:included_policies).and_return(lock_location_specs)
- allow(lock).to receive(:included_policy_locks).and_return(included_policy_locks)
- end
-
- context "when no included policies are unlocked" do
- let(:lock_location_specs) { [included_policy_1, included_policy_2] }
- let(:included_policy_locks) { [included_policy_lock_1, included_policy_lock_2] }
-
- it "provides the locked source options for all policies" do
- expect(included_policy_1).to receive(:apply_locked_source_options).with(included_policy_lock_1["source_options"])
- expect(included_policy_2).to receive(:apply_locked_source_options).with(included_policy_lock_2["source_options"])
- lock_applier.apply!
- end
- end
-
- context "when a included policy is unlocked" do
- let(:lock_location_specs) { [included_policy_1, included_policy_2] }
- let(:included_policy_locks) { [included_policy_lock_1, included_policy_lock_2] }
-
- it "does not provide the locked source options for that policy" do
- expect(included_policy_1).not_to receive(:apply_locked_source_options)
- expect(included_policy_2).to receive(:apply_locked_source_options).with(included_policy_lock_2["source_options"])
- lock_applier.
- with_unlocked_policies(["policy1"]).
- apply!
- end
- end
-
- context "when all included policies are unlocked" do
- let(:lock_location_specs) { [included_policy_1, included_policy_2] }
- let(:included_policy_locks) { [included_policy_lock_1, included_policy_lock_2] }
-
- it "does not provide locked source options for any policies" do
- expect(included_policy_1).not_to receive(:apply_locked_source_options)
- expect(included_policy_2).not_to receive(:apply_locked_source_options).with(included_policy_lock_2["source_options"])
- lock_applier.
- with_unlocked_policies(:all).
- apply!
- end
- end
-end
+#
+# Copyright:: Copyright (c) 2017 Chef Software Inc.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+require "spec_helper"
+require "chef-dk/policyfile/lock_applier"
+require "chef-dk/policyfile_compiler"
+require "chef-dk/policyfile_lock"
+
+describe ChefDK::Policyfile::LockApplier do
+ let(:lock) { instance_double("ChefDK::Policyfile::PolicyfileLock") }
+ let(:compiler) { instance_double("ChefDK::Policyfile::PolicyfileCompiler") }
+ let(:lock_applier) { ChefDK::Policyfile::LockApplier.new(lock, compiler) }
+
+ let(:included_policy_1) do
+ instance_double("ChefDK::Policyfile::PolicyfileLocationSpec",
+ name: "policy1")
+ end
+
+ let(:included_policy_2) do
+ instance_double("ChefDK::Policyfile::PolicyfileLocationSpec",
+ name: "policy2")
+ end
+
+ let(:included_policy_lock_1) do
+ {
+ "name" => "policy1",
+ "source_options" => {
+ "some_name" => "policy1_name",
+ },
+ }
+ end
+
+ let(:included_policy_lock_2) do
+ {
+ "name" => "policy2",
+ "source_options" => {
+ "some_name" => "policy2_name",
+ },
+ }
+ end
+
+ let(:lock_location_specs) { [] }
+ let(:included_policy_locks) { [] }
+
+ before do
+ allow(compiler).to receive(:included_policies).and_return(lock_location_specs)
+ allow(lock).to receive(:included_policy_locks).and_return(included_policy_locks)
+ end
+
+ context "when no included policies are unlocked" do
+ let(:lock_location_specs) { [included_policy_1, included_policy_2] }
+ let(:included_policy_locks) { [included_policy_lock_1, included_policy_lock_2] }
+
+ it "provides the locked source options for all policies" do
+ expect(included_policy_1).to receive(:apply_locked_source_options).with(included_policy_lock_1["source_options"])
+ expect(included_policy_2).to receive(:apply_locked_source_options).with(included_policy_lock_2["source_options"])
+ lock_applier.apply!
+ end
+ end
+
+ context "when a included policy is unlocked" do
+ let(:lock_location_specs) { [included_policy_1, included_policy_2] }
+ let(:included_policy_locks) { [included_policy_lock_1, included_policy_lock_2] }
+
+ it "does not provide the locked source options for that policy" do
+ expect(included_policy_1).not_to receive(:apply_locked_source_options)
+ expect(included_policy_2).to receive(:apply_locked_source_options).with(included_policy_lock_2["source_options"])
+ lock_applier.
+ with_unlocked_policies(["policy1"]).
+ apply!
+ end
+ end
+
+ context "when all included policies are unlocked" do
+ let(:lock_location_specs) { [included_policy_1, included_policy_2] }
+ let(:included_policy_locks) { [included_policy_lock_1, included_policy_lock_2] }
+
+ it "does not provide locked source options for any policies" do
+ expect(included_policy_1).not_to receive(:apply_locked_source_options)
+ expect(included_policy_2).not_to receive(:apply_locked_source_options).with(included_policy_lock_2["source_options"])
+ lock_applier.
+ with_unlocked_policies(:all).
+ apply!
+ end
+ end
+end