require File.join(File.dirname(__FILE__), 'test_helper') class ResourceLimitsTest < MiniTest::Test def setup @orig_limits = MojoMagick.get_default_limits end def test_set_limits # set area to 32mb limit MojoMagick.set_limits(area: '32mb') new_limits = MojoMagick.get_current_limits assert_equal '32mb', new_limits[:area].downcase end def test_get_limits assert(@orig_limits.size >= 7) end def test_resource_limits orig_limits_test = @orig_limits.dup orig_limits_test.delete_if do |resource, _value| assert %i[throttle area map disk memory file thread time].include?(resource), "Found unexpected resource #{resource}" true end assert_equal 0, orig_limits_test.size end def test_get_current_limits # remove limits on area MojoMagick.remove_limits(:area) new_limits = MojoMagick.get_current_limits assert_equal @orig_limits[:area], new_limits[:area] end def test_set_limits_again # set memory to 64 mb, disk to 0 and MojoMagick.set_limits(memory: '64mb', disk: '0b') new_limits = MojoMagick.get_current_limits(show_actual_values: true) assert_equal 61, new_limits[:memory] assert_equal 0, new_limits[:disk] end def test_unset_limits # return to original/default limit values MojoMagick.unset_limits new_limits = MojoMagick.get_current_limits assert_equal @orig_limits, new_limits end end