frappy/test/test_server.py
Georg Brandl 1851c0ac43 server: better handling of cfgfile argument
No reason to keep stringly-typed data on that level

Change-Id: Iba8d88301bf36ef6051031d1916d1bac84ede546
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34893
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
2024-11-28 18:03:37 +01:00

73 lines
2.2 KiB
Python

# *****************************************************************************
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc.,
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# Module authors:
# Alexander Zaft <a.zaft@fz-juelich.de>
#
# *****************************************************************************
import pytest
# pylint: disable=redefined-outer-name
from frappy.server import Server
from .test_config import direc # pylint: disable=unused-import
class LoggerStub:
def __init__(self):
self.parent = self
def debug(self, fmt, *args):
pass
def getChild(self, *args):
return self
def addHandler(self, *args):
pass
info = warning = exception = error = debug
handlers = []
@pytest.fixture
def log():
return LoggerStub()
def test_name_only(direc, log):
"""only see that this does not throw. get config from name."""
s = Server('pyfile', log)
s._processCfg()
def test_file(direc, log):
"""only see that this does not throw. get config from cfgfiles."""
s = Server('foo', log, cfgfiles=['pyfile_cfg.py'])
s._processCfg()
def test_basic_description(direc, log):
"""only see that this does not throw. get config from cfgfiles."""
s = Server('foo', log, cfgfiles=['pyfile_cfg.py'])
s._processCfg()
desc = s.secnode.get_descriptive_data('')
# secnode properties correctly exported
assert set(desc.keys()) == set(['modules', 'description', 'equipment_id', 'firmware', '_secnode_prop'])
assert desc['_secnode_prop'] == 'secnode_prop'
assert set(desc['modules'].keys()) == set(['foo', 'baz'])