def test_this(): """ send_receive class basic usage """ '''Initial config''' # conf = sonata_send_recieve_properties.SonataSendReceiveProperties() '''INI based config''' conf = sonata_suite_config.SonataSuiteConfig() conf.curr_test = "test_sonata_messages01" # conf.set_current_test("test_sonata_messages01") # conf.set_current_test("test_sonata_messages02") sr = SendReceiveSonata(conf) sr = conf.sender_receiver # conf.curr_test = "test_sonata_messages01" conf.set_current_test("test_sonata_messages02") sr.load_test_messages() sr.set_udp_sender() # sr.curr_logger('Debug module send_receive_sonata ') curr_udp_srv = sr.udp_server_listen_on() ''' Start UDP server listening for messages from KD ''' logger = logging.getLogger('client') # logger.info('Server on %s:%s', self.c onf.) sr.udp_send_to() # sr.udp_send_to_threaded() sr.udp_server_stop_listen_on() sr.close_UDP_socket() logger = logging.getLogger('client') #logger.debug('Current status of UDP server is: ' + sr.udp_server.isAlive()) return
def test_proc_srv(): from test_bl.test_sonata_plugin.configs_sonata import sonata_suite_config from test_bl.test_bl_tools import udp_server ''' TO BECOME properly initialised Server needs logger ''' # conf = sonata_send_recieve_properties.SonataSendReceiveProperties() conf = sonata_suite_config.SonataSuiteConfig() lt = conf.logging_tools ''' Server needs iterable to store data_from in ''' data_in = [] ''' Server needs listening prefs ''' address = ('10.11.10.12', 55557) # address = ('localhost', 0) # let the kernel give us a port server = udp_server.UdpServerProc(address, UdpPayloadHandler, data_in, lt, conf) server.start() return
def test_threaded_srv(): import threading from test_bl.test_bl_tools import udp_server ''' TO BECOME properly initialised Server needs logger ''' # conf = sonata_send_recieve_properties.SonataSendReceiveProperties() conf = sonata_suite_config.SonataSuiteConfig() lt = conf.logging_tools ''' Server needs iterable to store data_from in ''' data_in = [] ''' Server needs listening prefs ''' server02 = conf.sender_receiver.udp_server # ip, port = server.server_address # find out what port we were given ip02, port02 = server02.server_address # server02.serve_forever() t01 = threading.Thread(target=server02.serve_forever) t01.setDaemon(True) # don't hang on exit t01.start() t01.join server02.stop_serve_forever = False address = ('10.11.10.12', 55557) # address = ('localhost', 0) # let the kernel give us a port server = udp_server.UdpServer(address, UdpPayloadHandler, data_in, lt, conf) t = threading.Thread(target=server.serve_forever) t.setDaemon(True) # don't hang on exit t.start() t.join # server.RequestHandlerClass.srv_shutdown = True # server.serve_forever() ''' Stop UDP server. NB! When attempt is made to use flag. It is not checked until the moment when the new service request comes in ''' # server.stop_serve_forever = False # don't hang on exit '''Regular procedure is a shutdown method call. It sets flag checked authomatically''' server02.stop_server() server.stop_server() return
def setUpClass(self): """ SETUP ENV FOR Sonata Module Test Suite : 1) INITIAL CONFIG 2) UDP SERVER to listen for BL responses 3) UDP Sender 4) Start Test VM from appropriate image 5) Start BL with Sonata configs copied to test VM :return: """ '''GET TOOLS OUT''' self.__tools__ = var_utils.Varutils() '''SETUP CONFIG FILE FOR SUITE''' self.conf = sonata_suite_config.SonataSuiteConfig() '''SET TEST NAMES QUEUE''' self.test_case = deque(self.conf.sonata_tests_names) self.curr_logger = self.conf.logging_tools.get_logger(__name__) self.__tools__.build_test_banner( mod_name='SONATA', suit_name='SUITE' + __name__, ending='SETS UP SENDER AND RECIEVER FOR TEST CLASS', logging_level='DEBUG', logger=self.curr_logger) '''SETUP EVERYTHING that pertains to sending receiving (UDP Server/sender data and so on)''' self.sr = self.conf.sender_receiver self.udp_srv = self.sr.udp_server_listen_on() '''SETUP VIRTUAL TEST ENVIRONMENT ON THIS HOST (VBOX AND IMAGES ASSUMED)''' self.__tools__.build_test_banner( mod_name='SONATA', suit_name='SUITE' + __name__, ending='SETS UP VIRTUAL ENV FOR TEST CLASS', logging_level='DEBUG', logger=self.curr_logger) self.ext_scripts = external_scripts.ExtScripts(self.conf) '''Log server is started from bootstrap script BUT for for debugging it should be turned on here''' #self.ext_scripts.start_log_server() self.ext_scripts.set_test_env() #self.exclude_tests = [] self.exclude_tests = [ "test_sonata_messages01", "test_sonata_messages02", "test_sonata_messages03", "test_sonata_messages04" ] return
def test_content_processing_ind_values(): from mimesis.schema import Field, Schema from test_bl.test_bl_tools.read_test_data import ReadData import time from test_bl.test_sonata_plugin.test_tools_sonata import send_receive_sonata, sonata_nmea_msgs_content_process conf = sonata_suite_config.SonataSuiteConfig() conf.curr_test = "test_sonata_messages01" sr = conf.sender_receiver # conf.curr_test = "test_sonata_messages01" conf.set_current_test("test_sonata_messages01") sr.load_test_messages() sr.set_udp_sender() curr_udp_srv = sr.udp_server_listen_on() logger = logging.getLogger('client') # logger.info('Server on %s:%s', self.c onf.) sr.udp_send_to() # sr.udp_send_to_threaded() '''Lets check what is uP''' time.sleep(random.randrange(3, 15)) snmea = conf.content_proc total_messages = conf.data_received.__len__() indx = 0 snmea.packet_indx = indx snmea.parse_nmea() snmea.nmea_parser.data_to = snmea.data_to_list[indx] # snmea.key_sent = 'sonata_id=\"sonata_id\"' # snmea.compare_fields() res_sonata_id = snmea.nmea_parser.compare_fields(sonata_id="sonata_id") res_lat = snmea.nmea_parser.compare_fields(lat="lat") res_lon = snmea.nmea_parser.compare_fields(lon="lon") res_vel = snmea.nmea_parser.compare_fields(vel="vel") res_course = snmea.nmea_parser.compare_fields(course="course") res_vel_knots = snmea.nmea_parser.compare_fields(vel_knots="vel_knots") sr.udp_server_stop_listen_on() sr.close_UDP_socket()
def test_content_processing_positive(): import time from test_bl.test_sonata_plugin.test_tools_sonata import send_receive_sonata, sonata_nmea_msgs_content_process """ send recieve class usage """ '''Initial config''' # conf = sonata_send_recieve_properties.SonataSendReceiveProperties() '''INI based config''' conf = sonata_suite_config.SonataSuiteConfig() '''this needed to properly initialise sender i this test''' conf.curr_test = "test_sonata_messages01" # conf.set_current_test("test_sonata_messages01") # conf.set_current_test("test_sonata_messages02") sr = SendReceiveSonata(conf) sr = conf.sender_receiver # conf.curr_test = "test_sonata_messages01" # conf.set_current_test("test_sonata_messages05") conf.set_current_test("test_sonata_messages05") sr.load_test_messages() sr.set_udp_sender() # sr.curr_logger('Debug module send_receive_sonata ') curr_udp_srv = sr.udp_server_listen_on() ''' Start UDP server listening for messages from KD ''' logger = logging.getLogger('client') # logger.info('Server on %s:%s', self.c onf.) sr.udp_send_to() time.sleep(random.randrange(3, 6)) '''positive case''' #snmea = sonata_nmea_msgs_content_process.SonataNmeaMsgsContentProcessing(conf,conf.data_received,conf.data_sent) snmea = conf.content_proc snmea.parse_nmea_auto() results = snmea.compare_fields_auto() sr.udp_server_stop_listen_on() sr.close_UDP_socket() logger = logging.getLogger('client') #logger.debug('Current status of UDP server is: ' + sr.udp_server.isAlive()) return
def test_this(): import threading from test_bl.test_bl_tools import logging_tools, udp_server, udp_sender from test_bl.test_sonata_plugin.configs_sonata import sonata_suite_config ''' TO BECOME properly initialised Server needs logger ''' #conf = sonata_send_recieve_properties.SonataSendReceiveProperties() conf = sonata_suite_config.SonataSuiteConfig() lt = conf.logging_tools ''' Server needs iterable to store data_from in ''' data_in = [] ''' Server needs listening prefs ''' address = ('10.11.10.12', 55556) #address = ('localhost', 0) # let the kernel give us a port server = udp_server.UdpServer(address, UdpPayloadHandler, data_in, lt, conf) ip, port = server.server_address # find out what port we were given t = threading.Thread(target=server.serve_forever) t.setDaemon(True) # don't hang on exit t.start() t.join ''' Pure debug ''' logger = logging.getLogger('External call to logger') logger.info('Server on %s:%s', ip, port) ''' Stop UDP server ''' t.stop_serve_forever = False # don't hang on exit return
from __future__ import print_function