# Copyright (C) 2010 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions
# of the GNU General Public License v.2.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

require 'test/unit'
require 'pathname'
require 'schedule_file'

class TestScheduleFile < Test::Unit::TestCase
  def test_reading
    p = Pathname.new("report-generators/test/example.schedule")
    p.open do |f|
      s = Schedule.read(p.dirname, f)

      assert_equal(3, s.schedules.size)
      assert_equal(s.schedules[2].desc, "this comment is prefixed with whitespace")
      assert_equal(s.schedules[0].command_line, "$TEST_TOOL ls")
    end
  end

  def test_running
    p = Pathname.new("report-generators/test/example.schedule")
    p.open do |f|
      s = Schedule.read(p.dirname, f)
      s.run

      s.schedules.each do |t|
        assert(t.status.success?)
      end
    end
  end
end