Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
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
Beispiel #4
0
    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
Beispiel #5
0
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()
Beispiel #6
0
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
Beispiel #7
0
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
Beispiel #8
0
from __future__ import print_function