Hi Dave, Thanks for the clarifications :)
I've fixed the issues with test cases and updated the merge request <https://forge-allura.apache.org/p/allura/git/merge-requests/255/>. Please review it and let me know if any improvements required Regards! On Wed, Jun 6, 2018 at 8:56 PM Dave Brondsema <d...@brondsema.net> wrote: > On 6/6/18 5:37 AM, Deshani Geethika wrote: > > Hi Dave, > > > > I need some help in understanding an error related to test cases. > > > > I was trying to write a test case to check the '/neighborhood' route in > > Allura/allura/tests/functional/test_root.py as below. > > > > def test_neighborhood(self): > >> response = self.app.get('/neighborhood/') > > > > > > But I get the following error, when I run the above test case. > > > > Traceback (most recent call last): > >> File > >> > "/home/deshani/env-allura/local/lib/python2.7/site-packages/nose/case.py", > >> line 197, in runTest > >> self.test(*self.arg) > >> File > >> "/home/deshani/src/allura/Allura/allura/tests/functional/test_root.py", > >> line 58, in test_neighborhood > >> response = self.app.get('/neighborhood/') > >> File "/home/deshani/src/allura/AlluraTest/alluratest/validation.py", > >> line 322, in get > >> resp = super(ValidatingTestApp, self).get(*args, **kw) > >> File "/home/deshani/src/allura/AlluraTest/alluratest/validation.py", > >> line 269, in get > >> return super(PostParamCheckingTestApp, self).get(*args, **kwargs) > >> File > >> > "/home/deshani/env-allura/local/lib/python2.7/site-packages/webtest/app.py", > >> line 756, in get > >> expect_errors=expect_errors) > >> File > >> > "/home/deshani/env-allura/local/lib/python2.7/site-packages/webtest/app.py", > >> line 1118, in do_request > >> self._check_status(status, res) > >> File > >> > "/home/deshani/env-allura/local/lib/python2.7/site-packages/webtest/app.py", > >> line 1154, in _check_status > >> res) > >> AppError: Bad response: 404 Not Found (not 200 OK or 3xx redirect for > >> http://localhost/neighborhood/) > > > > > > Can you help me to understand why this error comes up? > > > > Regards! > > > Wow, this was a tricky one! I was stumped about this for a while too. Its > happening because of some helper code for tests, that is not very > obvious. In > Allura/allura/controllers/basetest_project_root.py a modified root > controller is > used for tests, which makes some project & tool testing easier. This > controller > is used because test.ini specifies "override_root=basetest_project_root" > > And then in this controller on line 71 there is a list of root controller > attributes that is hardcoded. So you will have to add 'neighborhood' and > 'dashboard' to that list. > > I would also recommend adding a comment on the real RootController > mentioning > the BasetestProjectRootController so that anyone else in the future who > adds a > root url knows that they have to update the other place too. > > > > -- > Dave Brondsema : d...@brondsema.net > http://www.brondsema.net : personal > http://www.splike.com : programming > <>< > -- *Deshani Geethika* Undergraduate at Department of Computer Science and Engineering Faculty of Engineering - University of Moratuwa Sri Lanka LinkedIn <https://www.linkedin.com/in/deshanigeethika/> | GitHub <https://github.com/deshanigtk> | Mobile - +94776383034