Project

General

Profile

Download (1.62 KB) Statistics
| Branch: | Tag: | Revision:
require 'test_helper'

class ReportObserverTest < ActiveSupport::TestCase
def setup
# Email recepient
SETTINGS[:administrator] = "admin@example.com"

# Host and Report creation
h = Host.create :name => "myfullhost", :mac => "aabbecddeeff", :ip => "123.05.02.03",
:domain => Domain.find_or_create_by_name("company.com"),
:operatingsystem => Operatingsystem.create(:name => "linux", :major => 389),
:architecture => Architecture.find_or_create_by_name("i386"),
:environment => Environment.find_or_create_by_name("envy"),
:disk => "empty partition"
h.update_attribute :owner, User.first if SETTINGS[:ldap]

p = Puppet::Transaction::Report.new
p.save

@report = Report.new :host => h, :log => p, :reported_at => Date.today
end

test "when notification fails, if report has an error a mail to admin should be sent" do
SETTINGS[:failed_report_email_notification] = true
assert_difference 'ActionMailer::Base.deliveries.size' do
@report.status = 16781381 # Error status.
@report.save!
@report
end
end

test "when notification doesn't fails, if report has an error, no mail should be sent" do
SETTINGS[:failed_report_email_notification] = false
assert_no_difference 'ActionMailer::Base.deliveries.size' do
@report.status = 16781381 # Error status.
@report.save!
end
end

test "if report has no error, no mail should be sent" do
assert_no_difference 'ActionMailer::Base.deliveries.size' do
@report.status = 79
@report.save!
end
end
end
(22-22/26)