view test/session_common.py @ 5168:9e41254430fe

issue2550755: exceptions.NotFound(msg) msg is not reported to user in cgi fix tests Correct tests so they now expect NotFound exception rather than SeriousError. Renamed: test/test_cgi.py::FormTestCase::testCSVExportFailPermission to test/test_cgi.py::FormTestCase::testCSVExportFailPermissionBadColumn I think this test should return Unauthorised rather than NotFound. Discussion is on the issue. Also added a new test case to verify that exceptions.Unauthorised is raised if all columns are valid and the user is not allowed to access the class.
author John Rouillard <rouilj@ieee.org>
date Thu, 01 Sep 2016 21:26:59 -0400
parents 63c79c0992ae
children 62de601bdf6f
line wrap: on
line source

import os, shutil, unittest

from db_test_base import config


class SessionTest(object):
    def setUp(self):
        # remove previous test, ignore errors
        if os.path.exists(config.DATABASE):
            shutil.rmtree(config.DATABASE)
        os.makedirs(config.DATABASE + '/files')
        self.db = self.module.Database(config, 'admin')
        self.sessions = self.sessions_module.Sessions(self.db)
        self.otks = self.sessions_module.OneTimeKeys(self.db)

    def tearDown(self):
        del self.otks
        del self.sessions
        if hasattr(self, 'db'):
            self.db.close()
        if os.path.exists(config.DATABASE):
            shutil.rmtree(config.DATABASE)

    def testList(self):
        self.sessions.list()
        self.sessions.set('random_key', text='hello, world!')
        self.sessions.list()

    def testGetAll(self):
        self.sessions.set('random_key', text='hello, world!')
        self.assertEqual(self.sessions.getall('random_key'),
            {'text': 'hello, world!'})

    def testDestroy(self):
        self.sessions.set('random_key', text='hello, world!')
        self.assertEquals(self.sessions.getall('random_key'),
            {'text': 'hello, world!'})
        self.sessions.destroy('random_key')
        self.assertRaises(KeyError, self.sessions.getall, 'random_key')

    def testSetSession(self):
        self.sessions.set('random_key', text='hello, world!')
        self.assertEqual(self.sessions.get('random_key', 'text'),
            'hello, world!')

    def testUpdateSession(self):
        self.sessions.set('random_key', text='hello, world!')
        self.assertEqual(self.sessions.get('random_key', 'text'),
            'hello, world!')
        self.sessions.set('random_key', text='nope')
        self.assertEqual(self.sessions.get('random_key', 'text'), 'nope')

class DBMTest(SessionTest):
    import roundup.backends.sessions_dbm as sessions_module

class RDBMSTest(SessionTest):
    import roundup.backends.sessions_rdbms as sessions_module


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