Mercurial > p > roundup > code
view test/test_instance.py @ 7704:5b1163dca9e1
test: actually test output from running demo server code
I was invoking demo mode, but not testing the output to verify it was
making it to the point where it would start the server.
Check that an expected database file was created to verify that the db
setting was honored.
Also test TEMPLATE-INFO.txt to verify that the correct template was
being instantiated.
Tested under 3.13 as wel using docker command line (wrapped):
docker run -it -u 1000 --rm -v $PWD:/usr/src/myapp -w
/usr/src/myapp python:3.13.0a1-alpine3.18 sh -c 'export
HOME=/tmp/home; mkdir $HOME; python -m pip install pytest
pytest-env requests jinja2; python -m pytest -v test/test_demo.py'
If demo mode tries to start as root, it exits with an error, so it
must be run with -u uid.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Mon, 20 Nov 2023 21:59:40 -0500 |
| parents | 778a9f455067 |
| children | 9c3ec0a5c7fc |
line wrap: on
line source
# # Copyright (C) 2020 John Rouillard # All rights reserved. # For license terms see the file COPYING.txt. # from __future__ import print_function import unittest, os, shutil, errno, sys, difflib from roundup import instance from roundup.instance import TrackerError try: # python2 import pathlib2 as pathlib except ImportError: # python3 import pathlib from . import db_test_base class InstanceTest(unittest.TestCase): backend = 'anydbm' def setUp(self): self.dirname = '_test_instance' # set up and open a tracker self.instance = db_test_base.setupTracker(self.dirname, self.backend) # open the database self.db = self.instance.open('admin') self.db.commit() self.db.close() def tearDown(self): if self.db: self.db.close() try: shutil.rmtree(self.dirname) except OSError as error: if error.errno not in (errno.ENOENT, errno.ESRCH): raise def testOpenOldStyle(self): pathlib.Path(os.path.join(self.dirname, "dbinit.py")).touch() # no longer support old style tracker configs self.assertRaises(TrackerError, instance.open, self.dirname)
