Brandon - hopefully that clarifies both the situation with what you are
trying to do as well as the problem you are trying to address
(over-dependence on overrides for payment processors) and recent work to
change the situation (multiple payment processors) :D

-c

On Sun, Aug 16, 2009 at 7:03 PM, Michael Dunstan
<[email protected]>wrote:

>
> On Mon, Aug 17, 2009 at 5:54 AM, Brandon Craig
> Rhodes<[email protected]> wrote:
> >
> > Lucie Lejard <[email protected]> writes:
> >
> >> this might help:
> >>
> >>
> http://plone.org/products/getpaid/documentation/how-to/how-do-i-run-tests-for-getpaid/
> >
> > Thank you, Lucie!  That document helped me get started, and in the
> > future it might possibly make a nice addition to the README of the
> > GetPaid buildout.
> >
> > I still can't run the tests for getpaid.googlecheckout, however.
> >
> >  1. The module, by default, is not in the path of "bin/test" so when I
> >     try running:
> >
> >     $ bin/test -s getpaid.googlecheckout
> >
> >     then I get the error:
> >
> >     ImportError: No module named googlecheckout
> >
> >     Sure enough, an inspection of the "bin/test" binary that buildout
> >     has created shows that "googlecheckout" is nowhere in the path that
> >     gets built.  Looking over the several instances of the string
> >     "googlecheckout" that do appear in the "buildout.cfg" of
> >     "getpaid.buildout" (all are commented out to begin with),
>
> getpaid.googlecheckout (along with other async processors) makes use
> of zcml overrides to patch PloneGetPaid. You need to opt in to which
> ever async processor you want to use. Essentially they are mutually
> exclusive from each other. And they change the behaviour of
> PloneGetPaid.
>
>
> >     none of
> >     them seem positioned to affect the binaries that "bin/test" can
> >     see.  So, I edited the "[test]" section and under the "eggs ="
> >     parameter added "getpaid.googlecheckout" and re-ran buildout.  The
> >     result was successful: the "googlecheckout" module became available
> >     for testing.
>
> Looks like the test part in the buildout is configured to just work
> for the more isolated packages. To run the tests for
> getpaid.googlecheckout use the second method detailed in that
> document:
>
>  bin/instance test -s getpaid.googlecheckout
>
>
> >  2. Now another error appeared.  Running "bin/test" again, like this:
> >
> >     $ bin/test -s getpaid.googlecheckout
> >
> >     returned with another import error:
> >
> >     File
> "/home/brandon/getpaid.buildout/src/getpaid.core/src/getpaid/core/fields.py",
> line 26, in ?
> >       from Products.validation import validation
> >     ImportError: No module named validation
> >
> >     that again prevented any tests from running.  I am not sure exactly
> >     what "Products.validation" is, but, looking all over the getpaid
> >     buildout, I certainly do not see it anywhere.  Both of the
> >     following commands do find some files:
> >
> >     $ cd ~/getpaid.buildout
> >     $ find -name 'Products'
> >     $ find -name 'validation'
> >
> >     but none of the resulting files has a "validation" module *inside*
> >     a package called "Products".  So, not being sure how to proceed, I
> >     manually added "Products.validation" as a dependency in the
> >     "setup.py" file of "getpaid.core", since that seems to be the
> >     module that imports it.  After re-running buildout, the import
> >     error went away.
> >
> >  3. Now I am faced with a third error deep.  Running:
> >
> >     $ bin/test -s getpaid.googlecheckout
> >
> >     returns:
> >
> >     File
> "/home/brandon/getpaid.buildout/parts/zope2/lib/python/App/ImageFile.py",
> line 46, in __init__
> >         data = open(path, 'rb').read()
> >     IOError: [Errno 2] No such file or directory:
> '/home/brandon/getpaid.buildout/src/Products.PloneGetPaid/AccessControl/www/User_icon.gif'
> >
> >     At this point I am reaching a bit beyond my expertise; I am not
> >     sure why the "User_icon.gif" file is being looked for beneath the
> >     "Products.PloneGetPaid" folder, when it's clearly somewhere else:
> >
> >     $ find -name 'User_icon.gif'
> >     ./parts/zope2/lib/python/AccessControl/www/User_icon.gif
> >
> >     Hence, my email to this list: I suspect that, in trying to get the
> >     module's tests running inside of the master buildout, and
> >     especially in they way that I'm trying to make
> >     "Products.validation" available, I'm going outside of what the
> >     whole Plone and getpaid buildout system intends.
>
> See how "bin/instance test" treats you.
>
>
> > Is it wrong to want the googlecheckout tests, and the tests of all of
> > the other getpaid modules in "src/", to run all at once?
>
> Unfortunately yes. :-(
>
> The problem is the necessarily use of overrides. For example
> getpaid.googlecheckout changes the behaviour of PloneGetPaid and so
> you can expect that it most likely breaks the tests of PloneGetPaid
> itself.
>
>
> > Should I
> > tackle the modules one at a time using their own "buildout.cfg" files
> > instead of wanting to test them all from a single "getpaid" buildout?
>
> Only the modules that make use of overrides require such an isolation.
>
> It's not ideal having to mess around with overrides. There is an issue
> that is use for at least auditing the extent of the problem:
>
>  http://code.google.com/p/getpaid/issues/detail?id=167
>
> There is an effort underway which should improve the situation. See
> the new getpaid.paymentprocessors package. Though I think that has a
> slightly different focus - it's interested in presenting multiple
> payment options to the shopper. Which necessary means that any one
> payment processor needs to be able to play along nicely next to other
> payment processors to support that. A side effect of that work may
> well be that several payment processors could be installed (and
> tested) at the same time even when a plone site is not offering
> multiple payment processors to the shopper. But I don't think that is
> a use case yet under consideration by getpaid.paymentprocessors.
>
> --
> Michael Dunstan
>
> >
>


-- 
Cofounder and CEO
ifPeople - Innovation for People
www.ifpeople.net
t: 678-608-3408
130 Boulevard NE, #6
Atlanta, GA 30312

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"getpaid-dev" 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/getpaid-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to