Sha256: 163d881c9065cc9eb44e61f42e01fd53b76d01edb8b3690b93f342241bcf9809

Contents?: true

Size: 1.74 KB

Versions: 1

Compression:

Stored size: 1.74 KB

Contents

# frozen_string_literal: true

require 'test_plugin_helper'

class AnsibleReportsHelperTest < ActiveSupport::TestCase
  include ForemanAnsible::AnsibleReportsHelper
  include ActionView::Helpers::TagHelper

  test 'module message extraction' do
    log_value = <<-ANSIBLELOG.strip_heredoc
    {"msg": "Nothing to do", "changed": false, "results": [], "rc": 0, "invocation": {"module_args": {"name": ["openssh"], "state": "present", "allow_downgrade": false, "autoremove": false, "bugfix": false, "disable_gpg_check": false, "disable_plugin": [], "disablerepo": [], "download_only": false, "enable_plugin": [], "enablerepo": [], "exclude": [], "installroot": "/", "install_repoquery": true, "install_weak_deps": true, "security": false, "skip_broken": false, "update_cache": false, "update_only": false, "validate_certs": true, "lock_timeout": 30, "conf_file": null, "disable_excludes": null, "download_dir": null, "list": null, "releasever": null}}, "_ansible_no_log": false, "failed": false, "module": "package"}
ANSIBLELOG
    message = FactoryBot.build(:message)
    message.value = log_value
    log = FactoryBot.build(:log)
    log.message = message
    assert_match(
      /Nothing to do/,
      ansible_module_message(log).to_s
    )
  end

  test 'module message extraction with error' do
    log_value = <<-ANSIBLELOG.strip_heredoc
    {"msg": "AnsibleUndefinedVariable", "changed": false, "_ansible_no_log": false, "failed": true, "module": "template", "exception": "raise AnsibleUndefinedVariable"}
ANSIBLELOG
    message = FactoryBot.build(:message, value: log_value)
    log = FactoryBot.build(:log, message: message)
    log.message = message

    assert_match(
      'Execution error: AnsibleUndefinedVariable',
      ansible_module_message(log).to_s
    )
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
foreman_ansible-11.0.0 test/unit/helpers/ansible_reports_helper_test.rb