Yes, in my case I deal with the database connection in the unit test
setUp() and don't touch sqlahelper.

To my mind the issue was why the code was being called - it was not under
test.

Ben

On 6 March 2012 17:21, Mike Orr <sluggos...@gmail.com> wrote:

> ``sqlahelper.reset()`` exists mainly for SQLAHelper's own unit tests.
> I don't know whether it's appropriate for Pyramid app tests. I can
> clarify this in the documentation if we decide one way or the other.
>
> I wonder if Pyramid needs a Nose plugin like Pylons does, so that
> --with-pylons=test.ini loads a configuration that sets the db binding
> globally, so that it doesn't have to be set for each test.
>
> On Tue, Mar 6, 2012 at 5:05 AM, Atsushi Odagiri <aod...@gmail.com> wrote:
> > Hi
> >
> > I have some question for this problem.
> >
> > when do you call `sqlahelper.add_engine`?
> > and don't you call `sqlahelper.reset`?
> >
> > if you call `sqlahelper.reset`, and you must reload `models` module.
> >
> > regards
> >
> >
> > 2012/3/6 Benjamin Sims <benjamins...@gmail.com>
> >>
> >> I'm not sure specifically why it would be triggered (not experienced
> this
> >> before with other projects using Deform).
> >>
> >> In any case, I was able to solve by refining the test suite setting in
> >> setup.py, specifing myproject.tests rather than just myproject.
> >>
> >> Thanks,
> >> Ben
> >>
> >>
> >> On 5 March 2012 20:41, Mike Orr <sluggos...@gmail.com> wrote:
> >>>
> >>> So Deform is trying to resolve a table schema at import. I don't know
> >>> about Deform schemas, but what's probably happening is that with
> >>> pserve, the engine is configured and bound before the view scan is
> >>> called, but in the test environment it's importing the model looking
> >>> for tests, and thus triggering the code before main() has been called.
> >>> This often happens in unit tests, in Pylons and other frameworks. The
> >>> general solution is to move the code into a function or arrange for
> >>> that module not to be scanned, but I don't know how to apply this to
> >>> Deform.
> >>>
> >>> On Mon, Mar 5, 2012 at 2:31 AM, Benjamin Sims <benjamins...@gmail.com>
> >>> wrote:
> >>> > Thanks for the help,
> >>> >
> >>> > Relevant section of the traceback is as follows:
> >>> >
> >>> >
> >>> > File
> >>> >
> >>> >
> "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/loader.py",
> >>> > line 91, in loadTestsFromName
> >>> >     module = __import__('.'.join(parts_copy))
> >>> >   File "/Users/benjamin/Project/app/dev/Project/project/schemas.py",
> >>> > line
> >>> > 171, in <module>
> >>> >     class TheSchema(colander.Schema):
> >>> >   File "/Users/benjamin/Project/app/dev/Project/project/schemas.py",
> >>> > line
> >>> > 176, in TheSchema
> >>> >     widget = deform.widget.SelectWidget(values=helper()),
> >>> >   File "/Users/benjamin/Project/app/dev/Project/project/schemas.py",
> >>> > line
> >>> > 168, in helper
> >>> >     # SQLA query is done here
> >>> >
> >>> > It seems that the unittest loader is loading the schema class as one
> of
> >>> > its
> >>> > tests, which then makes the helper call and fails.
> >>> >
> >>> > Commenting out the TheSchema class allows the test to run as normal.
> >>> >
> >>> > Thanks,
> >>> > Ben
> >>> >
> >>> > On 2 March 2012 19:05, Mike Orr <sluggos...@gmail.com> wrote:
> >>> >>
> >>> >> On Fri, Mar 2, 2012 at 3:16 AM, Benjamin Sims <
> benjamins...@gmail.com>
> >>> >> wrote:
> >>> >> > on the grounds that there is no bind for DBSession in helper()
> >>> >> > above. I
> >>> >> > understand that there is no bind, but helper is not called
> >>> >> > explicitly
> >>> >> > nor
> >>> >> > required by anything in the tests.
> >>> >>
> >>> >> Does the traceback say who called helper()? What happens if you
> >>> >> comment out the helper function?
> >>> >>
> >>> >> --
> >>> >> Mike Orr <sluggos...@gmail.com>
> >>> >>
> >>> >> --
> >>> >> You received this message because you are subscribed to the Google
> >>> >> Groups
> >>> >> "pylons-discuss" group.
> >>> >> To post to this group, send email to
> pylons-discuss@googlegroups.com.
> >>> >> To unsubscribe from this group, send email to
> >>> >> pylons-discuss+unsubscr...@googlegroups.com.
> >>> >> For more options, visit this group at
> >>> >> http://groups.google.com/group/pylons-discuss?hl=en.
> >>> >>
> >>> >
> >>> > --
> >>> > You received this message because you are subscribed to the Google
> >>> > Groups
> >>> > "pylons-discuss" group.
> >>> > To post to this group, send email to pylons-discuss@googlegroups.com
> .
> >>> > To unsubscribe from this group, send email to
> >>> > pylons-discuss+unsubscr...@googlegroups.com.
> >>> > For more options, visit this group at
> >>> > http://groups.google.com/group/pylons-discuss?hl=en.
> >>>
> >>>
> >>>
> >>> --
> >>> Mike Orr <sluggos...@gmail.com>
> >>>
> >>> --
> >>> You received this message because you are subscribed to the Google
> Groups
> >>> "pylons-discuss" group.
> >>> To post to this group, send email to pylons-discuss@googlegroups.com.
> >>> To unsubscribe from this group, send email to
> >>> pylons-discuss+unsubscr...@googlegroups.com.
> >>> For more options, visit this group at
> >>> http://groups.google.com/group/pylons-discuss?hl=en.
> >>>
> >>
> >> --
> >> You received this message because you are subscribed to the Google
> Groups
> >> "pylons-discuss" group.
> >> To post to this group, send email to pylons-discuss@googlegroups.com.
> >> To unsubscribe from this group, send email to
> >> pylons-discuss+unsubscr...@googlegroups.com.
> >> For more options, visit this group at
> >> http://groups.google.com/group/pylons-discuss?hl=en.
> >
> >
> >
> >
> > --
> > /*
> > Atsushi Odagiri
> > http://blog.aodag.jp
> > mailto:aod...@gmail.com
> > */
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "pylons-discuss" group.
> > To post to this group, send email to pylons-discuss@googlegroups.com.
> > To unsubscribe from this group, send email to
> > pylons-discuss+unsubscr...@googlegroups.com.
> > For more options, visit this group at
> > http://groups.google.com/group/pylons-discuss?hl=en.
>
>
>
> --
> Mike Orr <sluggos...@gmail.com>
>
> --
> You received this message because you are subscribed to the Google Groups
> "pylons-discuss" group.
> To post to this group, send email to pylons-discuss@googlegroups.com.
> To unsubscribe from this group, send email to
> pylons-discuss+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/pylons-discuss?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to pylons-discuss@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.

Reply via email to