> > So I am actually planning to make tests for this, I just wanted some 
> > wider consensus that this isn't going to break the REST auth system, 
> > even though the existing tests run fine.

> I don't think the change you're proposing would break anything, though. 
> But since I failed already once when I made this change, you might not 
> take my advice into account :-)

Removing the special casing of :opaque strings at the very top of
matchname?() -- so that munge_name is always called -- doesn't break any
case I have been able to think of.

Removing the brackets around value in the else clause of parse() (so
that @pattern is a string sometimes instead of always being an array)
breaks a few things, for example the specificity ordering of tests:

    describe "when comparing patterns" do
        before :each do
            @ip        =
Puppet::Network::AuthStore::Declaration.new(:allow,'127.0.0.1')
            @host_name =
Puppet::Network::AuthStore::Declaration.new(:allow,'www.hard_knocks.edu')
            @opaque    =
Puppet::Network::AuthStore::Declaration.new(:allow,'hey_dude')
        end
        it "should consider ip addresses before host names" do
            (@ip < @host_name).should be_true
        end
        it "should consider ip addresses before opaque strings" do
            (@ip < @opaque).should be_true
        end
        it "should consider host_names before opaque strings" do
            (@host_name < @opaque).should be_true
        end
    end

This works with the present code and works if the "unless @name
== :opaque" is removed from matchname?() but fails if the brackets are
taken off of value in the "@pattern = [value]" near the end of parse().

There are a number of solutions but IMHO whatever we do should be
uniform and simplifying rather than adding special cases.  I wouldn't
object to having @pattern _always_ be a string (say, the string assigned
to self.pattern = ?) but having it change class arbitrarily and then
peppering the code with special case logic to handle it seems like the
road to madness.

-- Markus

P.S. If we do decide to take the road to madness (which I still don't
recommend) there's this cool little cantina I know right past the
turnoff to nihilistic pointer envy.



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