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
-~----------~----~----~----~------~----~------~--~---

Reply via email to