diff options
Diffstat (limited to 'spec/unit/data_collector_spec.rb')
-rw-r--r-- | spec/unit/data_collector_spec.rb | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/spec/unit/data_collector_spec.rb b/spec/unit/data_collector_spec.rb index 24f8807d2e..eb698d6661 100644 --- a/spec/unit/data_collector_spec.rb +++ b/spec/unit/data_collector_spec.rb @@ -164,7 +164,7 @@ describe Chef::DataCollector do "after" => after_resource&.state_for_resource_reporter || {}, "before" => before_resource&.state_for_resource_reporter || {}, "cookbook_name" => cookbook_name, - "cookbook_version" => cookbook_version.version, + "cookbook_version" => cookbook_version&.version, "delta" => resource_has_diff(new_resource, status) ? new_resource.diff : "", "duration" => duration, "id" => new_resource.identity, @@ -567,6 +567,29 @@ describe Chef::DataCollector do it_behaves_like "sends a converge message" end + context "when the run contains a file resource that is up-to-date from a @recipe_files, returns nil for the version" do + let(:total_resource_count) { 1 } + let(:updated_resource_count) { 0 } + let(:cookbook_name) { "@recipe_files" } + let(:resource_record) { [ resource_record_for(new_resource, current_resource, after_resource, :create, "up-to-date", "1234") ] } + let(:status) { "success" } + let(:cookbook_version) { nil } + + before do + allow(new_resource).to receive(:cookbook_version).and_call_original + events.resource_action_start(new_resource, :create) + events.resource_current_state_loaded(new_resource, :create, current_resource) + events.resource_up_to_date(new_resource, :create) + events.resource_after_state_loaded(new_resource, :create, after_resource) + new_resource.instance_variable_set(:@elapsed_time, 1.2345) + events.resource_completed(new_resource) + events.converge_complete + run_status.stop_clock + end + + it_behaves_like "sends a converge message" + end + context "when the run contains a file resource that is updated" do let(:total_resource_count) { 1 } let(:updated_resource_count) { 1 } |