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)


Roundup Issue Tracker: http://roundup-tracker.org/