Skip to content
Snippets Groups Projects
Commit 17478140 authored by Jorrit Schaap's avatar Jorrit Schaap
Browse files

SW-796: fixed (not-so-complete) test_ra_service_and_rpc

parent 764d8d76
No related branches found
No related tags found
2 merge requests!40Merge Lofar release 4 0 into master,!26Resolve SW-796
...@@ -14,9 +14,9 @@ from lofar.common import dbcredentials ...@@ -14,9 +14,9 @@ from lofar.common import dbcredentials
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
class RADBServiceMessageHandler(ServiceMessageHandler): class RADBServiceMessageHandler(ServiceMessageHandler):
def __init__(self, dbcreds: dbcredentials.Credentials, log_queries: bool=False): def __init__(self, dbcreds: dbcredentials.Credentials):
super().__init__() super().__init__()
self.radb = radb.RADatabase(dbcreds=dbcreds, log_queries=log_queries) self.radb = radb.RADatabase(dbcreds=dbcreds)
def init_service_handler(self, service_name: str=DEFAULT_RADB_SERVICENAME): def init_service_handler(self, service_name: str=DEFAULT_RADB_SERVICENAME):
super().init_service_handler(service_name) super().init_service_handler(service_name)
...@@ -399,7 +399,6 @@ def main(): ...@@ -399,7 +399,6 @@ def main():
description='runs the resourceassignment database service') description='runs the resourceassignment database service')
parser.add_option('-b', '--broker', dest='broker', type='string', default=DEFAULT_BROKER, help='Address of the qpid broker, default: %default') parser.add_option('-b', '--broker', dest='broker', type='string', default=DEFAULT_BROKER, help='Address of the qpid broker, default: %default')
parser.add_option("-e", "--exchange", dest="exchange", type="string", default=DEFAULT_BUSNAME, help="Name of the bus exchange on the broker, default: %default") parser.add_option("-e", "--exchange", dest="exchange", type="string", default=DEFAULT_BUSNAME, help="Name of the bus exchange on the broker, default: %default")
parser.add_option('-q', '--log-queries', dest='log_queries', action='store_true', help='log all pqsl queries')
parser.add_option('-V', '--verbose', dest='verbose', action='store_true', help='verbose logging') parser.add_option('-V', '--verbose', dest='verbose', action='store_true', help='verbose logging')
parser.add_option_group(dbcredentials.options_group(parser)) parser.add_option_group(dbcredentials.options_group(parser))
parser.set_defaults(dbcredentials="RADB") parser.set_defaults(dbcredentials="RADB")
...@@ -414,7 +413,6 @@ def main(): ...@@ -414,7 +413,6 @@ def main():
with createService(exchange=options.exchange, with createService(exchange=options.exchange,
broker=options.broker, broker=options.broker,
log_queries=options.log_queries,
dbcreds=dbcreds): dbcreds=dbcreds):
waitForInterrupt() waitForInterrupt()
......
...@@ -3,15 +3,25 @@ ...@@ -3,15 +3,25 @@
import unittest import unittest
import datetime import datetime
import logging import logging
logger = logging.getLogger(__name__)
logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s', level=logging.INFO)
from lofar.messaging import TemporaryExchange from lofar.messaging import TemporaryExchange
from lofar.sas.resourceassignment.resourceassignmentservice.service import createService from lofar.sas.resourceassignment.resourceassignmentservice.service import createService
from lofar.sas.resourceassignment.resourceassignmentservice.rpc import RARPC from lofar.sas.resourceassignment.resourceassignmentservice.rpc import RADBRPC
from unittest.mock import patch from unittest.mock import patch
class Test1(unittest.TestCase):
'''Test'''
def test(self):
'''basic test '''
with TemporaryExchange(__name__) as tmp_exchange: with TemporaryExchange(__name__) as tmp_exchange:
logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s', level=logging.INFO)
logger = logging.getLogger(__name__)
# the system under test is the service and the rpc, not the RADatabase # the system under test is the service and the rpc, not the RADatabase
# so, patch (mock) the RADatabase class during these tests. # so, patch (mock) the RADatabase class during these tests.
...@@ -32,12 +42,9 @@ with TemporaryExchange(__name__) as tmp_exchange: ...@@ -32,12 +42,9 @@ with TemporaryExchange(__name__) as tmp_exchange:
mock.getTask.side_effect = lambda x: mock.getTasks.return_value[0] if x == 5 else None mock.getTask.side_effect = lambda x: mock.getTasks.return_value[0] if x == 5 else None
mock.getResourceClaims.return_value = [{'username': 'paulus', 'status': 'CLAIMED', 'user_id': 1, 'task_id': 5, 'status_id': 1, 'resource_id': 1, 'session_id': 1, 'claim_size': 10, 'starttime': datetime.datetime(2015, 11, 30, 12, 0), 'endtime': datetime.datetime(2015, 11, 30, 12, 0), 'id': 5}] mock.getResourceClaims.return_value = [{'username': 'paulus', 'status': 'CLAIMED', 'user_id': 1, 'task_id': 5, 'status_id': 1, 'resource_id': 1, 'session_id': 1, 'claim_size': 10, 'starttime': datetime.datetime(2015, 11, 30, 12, 0), 'endtime': datetime.datetime(2015, 11, 30, 12, 0), 'id': 5}]
class Test1(unittest.TestCase): # create and run the service
'''Test''' with createService(exchange=tmp_exchange.address):
with RADBRPC.create(exchange=tmp_exchange.address, timeout=1) as rpc:
def test(self):
'''basic test '''
with RARPC(exchange=tmp_exchange.address, timeout=1) as rpc:
self.assertEqual(mock.getTaskStatuses.return_value, rpc.getTaskStatuses()) self.assertEqual(mock.getTaskStatuses.return_value, rpc.getTaskStatuses())
self.assertEqual(mock.getTaskTypes.return_value, rpc.getTaskTypes()) self.assertEqual(mock.getTaskTypes.return_value, rpc.getTaskTypes())
self.assertEqual(mock.getResourceClaimStatuses.return_value, rpc.getResourceClaimStatuses()) self.assertEqual(mock.getResourceClaimStatuses.return_value, rpc.getResourceClaimStatuses())
...@@ -62,9 +69,8 @@ with TemporaryExchange(__name__) as tmp_exchange: ...@@ -62,9 +69,8 @@ with TemporaryExchange(__name__) as tmp_exchange:
#rpc.rpc('GetTasks', timeout=1, fooarg='bar') #rpc.rpc('GetTasks', timeout=1, fooarg='bar')
#self.assertTrue('got an unexpected keyword argument \'fooarg\'' in str(cm.exception)) #self.assertTrue('got an unexpected keyword argument \'fooarg\'' in str(cm.exception))
# create and run the service
with createService(exchange=tmp_exchange.address):
# and run all tests if __name__ == '__main__':
# run all tests
unittest.main() unittest.main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment