Can you provide some comments in here on what these helpers are used
for? It's a lot of scaffolding code, and it'd be nice if we could
find a way for it not to be necessary, because it makes the tests
harder to read in place.
On May 24, 2009, at 10:55 AM, joel r wrote:
>
> diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
> index 2f47d4f..2b652af 100644
> --- a/spec/spec_helper.rb
> +++ b/spec/spec_helper.rb
> @@ -1,6 +1,7 @@
> dir = File.expand_path(File.dirname(__FILE__))
>
> $LOAD_PATH.unshift("#{dir}/")
> +$LOAD_PATH.unshift("#{dir}/lib")
> $LOAD_PATH.unshift("#{dir}/../lib")
> $LOAD_PATH.unshift("#{dir}/../test/lib") # Add the old test dir, so
> that we can still find our local mocha and spec
> diff --git a/spec/lib/windowstest.rb b/spec/lib/windowstest.rb
> new file mode 100644
> index 0000000..8bd9d3e
> --- /dev/null
> +++ b/spec/lib/windowstest.rb
> @@ -0,0 +1,110 @@
> +#require File.dirname(__FILE__) + '/../../../lib/puppet/util/
> windows_system.rb'
> +require File.dirname(__FILE__) + '/../../lib/puppet/util/
> windows_system.rb'
> +
> +module WindowsTest
> + include Puppet::Util::Windows
> +
> + class List
> + def initialize
> + @list = []
> + end
> +
> + def clear
> + destroy
> + @list = []
> + end
> +
> + def register(item)
> + @list << item
> + end
> + end
> +
> + class Groups < List
> + include Puppet::Util::Windows
> +
> + def destroy
> + @list.each {|group|
> + begin
> + Group.delete(group)
> + rescue
> + puts "Group #{group} not found"
> + end
> + }
> + end
> + end
> +
> + class Users < List
> + include Puppet::Util::Windows
> +
> + def destroy
> + @list.each {|user|
> + begin
> + User.delete(user)
> + rescue
> + puts "User #{user} not found"
> + end
> + }
> + end
> + end
> +
> + def helper_users
> + @users = Users.new if @users == nil
> + @users
> + end
> +
> + def helper_groups
> + @groups = Groups.new if @groups == nil
> + @groups
> + end
> +
> + def clear
> + helper_groups.clear
> + helper_users.clear
> + end
> +
> + def register_group(name)
> + helper_groups.register name
> + end
> +
> + def register_user(name)
> + helper_users.register name
> + end
> +
> + def mkuser(name, password = "1234567")
> + User.create(name, password) { register_user name }
> + end
> +
> + def mkgroup(name)
> + Group.create(name) { register_group name }
> + end
> +
> + def mkusers(names)
> + names.collect {|name| mkuser name }
> + end
> +
> + def mkgroups(names)
> + names.collect {|name| mkgroup name }
> + end
> +
> + def group(name)
> + Group.new(name)
> + end
> +
> + def user(name)
> + User.new(name)
> + end
> +
> + def assert_no_missing_member(group, expected_members)
> + members = group.members
> + expected_members.each {|member|
> assert(members.include?(member), "#{member} should be a member") }
> + end
> +
> + def should_have_no_missing_member(testgroup, expected_members)
> + members = testgroup.members
> + expected_members.each {|member|
> members.include?(member).should be_true }
> + end
> +
> + def teardown
> + clear
> + end
> +end
>
> >
--
The conception of two people living together for twenty-five years
without having a cross word suggests a lack of spirit only to be
admired in sheep. --Alan Patrick Herbert
---------------------------------------------------------------------
Luke Kanies | http://reductivelabs.com | http://madstop.com
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Puppet Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/puppet-dev?hl=en
-~----------~----~----~----~------~----~------~--~---