view test/session_common.py @ 6582:3e8f2104753b

issue2551186 - replace socket.sslerror in mailgw.py. roundup/mailgw.py: replaced socket.sslerror with anypy/ssl_.SSLError also looks like a socket.sslerror was removed from pops handling. added it back using method above. roundupanypy/ssl_.py: defines replacement SSLError suitable for python2 or 3 tested by running nc -lp 995 or 993 (pop3s/imaps) and sending gibberish when mailgw connects. This generates a bad version number SSLError. I need to get my imap and pop mock servers included for testing at some point, but I am not sure how to make them bind to the right port as they are priv ports.
author John Rouillard <rouilj@ieee.org>
date Tue, 04 Jan 2022 18:39:40 -0500
parents 95a366d46065
children 044dcf3608a2
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.db.getSessionManager()
        self.otks = self.db.getOTKManager()

    def tearDown(self):
        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.assertEqual(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')


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