Hello, Ryan. Ryan said: > I'm following the instructions > at http://code.gustavonarea.net/repoze.who-testutil/HowTo/TestingProtected > Areas.html for forging authentication for the purpose of functional > testing. I've written three tests so far. When I run my test suite, one > test fails on account of a 403 error, and the other two pass. However, if > I comment out the two passing tests, running only the test that previously > failed, it passes.
Are you reusing the webtest.TestApp object across tests? I mean something like this: class TestFoo(TestCase): def __init__(self, *args, **kwargs): TestCase.__init__(self, *args, **kwargs) self.app = webtest.TestApp(... whatever ...) def test_one(self): self.app.get(...) def test_two(self): self.app.get(...) test_one() and test_two() wouldn't be isolated. The first test to be run could affect the result of the second one if cookies are used. > Is there some kind of setup or teardown necessary in order to ensure the > forged auth works every time? Making sure that each test uses a fresh test application should be enough. A setUp() like this following is all you should need: def setUp(self): wsgiapp = loadapp('config:test.ini', relative_to=conf_dir) self.app = TestApp(wsgiapp) Although if you're using Pylons it'd need a few more lines: https://bitbucket.org/Gustavo/whatpylonsproject/src/5be101c223b0/pylonssecuredapp/tests/__init__.py#cl-39 Please let me know if that solves the problem. If not, please post the test case with the three tests, and the setUp() and __init__() methods. -- Gustavo Narea <xri://=Gustavo>. | Tech blog: =Gustavo/(+blog)/tech ~ About me: =Gustavo/about | _______________________________________________ Repoze-dev mailing list Repoze-dev@lists.repoze.org http://lists.repoze.org/listinfo/repoze-dev