Project

General

Profile

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

class PuppetclassTest < ActiveSupport::TestCase
test "name can't be blank" do
puppet_class = Puppetclass.new
assert !puppet_class.save
end

test "name can't contain trailing white spaces" do
puppet_class = Puppetclass.new :name => " test class "
assert !puppet_class.name.strip.squeeze(" ").empty?
assert !puppet_class.save

puppet_class.name.strip!.squeeze!(" ")
assert puppet_class.save
end

test "name must be unique" do
puppet_class = Puppetclass.new :name => "test class"
assert puppet_class.save

other_puppet_class = Puppetclass.new :name => "test class"
assert !other_puppet_class.save
end

test "scanForClasses should retrieve puppetclasses from .pp files" do
path = "/some/path"
puppet_classes = ["class some_puppet_class {","class other_puppet_class{","class yet_another_puppet_class{"]
mock(Dir).glob("#{path}/*/manifests/**/*.pp") { puppet_classes }
puppet_classes.each do |puppet_class|
mock(File).read(anything) { StringIO.new(puppet_class) }
end

klasses = Puppetclass.scanForClasses path
assert klasses[0].name == "some_puppet_class"
assert klasses[1].name == "other_puppet_class"
assert klasses[2].name == "yet_another_puppet_class"
end
end
(21-21/25)