Example #1
0
 def test_with_real_data(self):
     lcv = CV()
     d = {'current values': lcv}
     cv = CurrentValues(d)
     listeners = []
     data = {'device': '0x13a200409029bf', 'port': 'adc-1'}
     value, data, listeners = cv.step(1, data, listeners)
     self.assertAlmostEqual(value, 1, 2)
     test_value = lcv.get_current_value('0x13a200409029bf', 'adc-1')
     self.assertEqual(test_value['current_value'], 1)
Example #2
0
 def test_store_with_valid_values(self):
     device = 'device'
     port = 'port'
     arg = 555
     name = 'xbee'
     units = 'C'
     time = '12/12/2012 12:12:12'
     data = {Constants.DataPacket.arrival_time: time, \
             Constants.DataPacket.units: units, \
             Constants.DataPacket.name: name}
     val = CurrentValues()
     val.store(arg, device, port, data)
     self.check_current_values(device, port, arg, name, time, val)
Example #3
0
 def test_buildDataBlock(self):
     arg = 555
     name = 'xbee'
     units = 'C'
     time = '12/12/2012 12:12:12'
     data = {Constants.DataPacket.arrival_time: time, \
             Constants.DataPacket.units: units, \
             Constants.DataPacket.name: name}
     val = CurrentValues()
     currentvalue = val.buildDataBlock(arg, data)
     self.assertEqual(currentvalue[Constants.DataPacket.name], name)
     self.assertEqual(currentvalue[Constants.DataPacket.arrival_time], time)
     self.assertEqual(currentvalue[Constants.DataPacket.units], units)
     self.assertEqual(currentvalue[Constants.DataPacket.current_value], arg)
Example #4
0
    def test_store_one_device_and_two_ports_with_valid_values(self):
        device = ['device0', 'device1']
        port = ['port0', 'port1']
        arg = [555, 666]
        name = ['xbee', 'xyz']
        units = ['C', 'F']
        time = ['12/12/2012 12:12:12', '12/12/2012 12:12:13']
        data = [{Constants.DataPacket.arrival_time: time[0], \
                Constants.DataPacket.units: units[0], \
                Constants.DataPacket.name: name[0]},
                {Constants.DataPacket.arrival_time: time[1], \
                Constants.DataPacket.units: units[1], \
                Constants.DataPacket.name: name[1]}]

        val = CurrentValues()
        val.store(arg[0], device[0], port[0], data[0])
        val.store(arg[1], device[0], port[1], data[1])
        self.check_current_values(device[0], port[0], arg[0], name[0], time[0], val)
        self.check_current_values(device[0], port[1], arg[1], name[1], time[1], val)
Example #5
0
    def test_get_current_value(self):
        device = ['device0', 'device1']
        port = ['port0', 'port1']
        arg = [555, 666]
        name = ['xbee', 'xyz']
        units = ['C', 'F']
        time = ['12/12/2012 12:12:12', '12/12/2012 12:12:13']
        data = [{Constants.DataPacket.arrival_time: time[0], \
                Constants.DataPacket.units: units[0], \
                Constants.DataPacket.name: name[0]},
                {Constants.DataPacket.arrival_time: time[1], \
                Constants.DataPacket.units: units[1], \
                Constants.DataPacket.name: name[1]}]

        val = CurrentValues()
        val.store(arg[0], device[0], port[0], data[0])
        val.store(arg[1], device[0], port[1], data[1])
        val.store(arg[1], device[1], port[0], data[1])
        val.store(arg[0], device[1], port[1], data[0])
        dict = val.get_current_value(device[0], port[0])
        self.assertEqual(dict[Constants.DataPacket.current_value], arg[0])
        dict = val.get_current_value(device[1], port[1])
        self.assertEqual(dict[Constants.DataPacket.current_value], arg[0])
    def run(self):

        self.logger.debug('Setting up global_data')
        global_data = {}
        global_data[Constants.GlobalData.CURRENT_VALUES] = CurrentValues()
        global_data[Constants.GlobalData.OPTIONS] = self.options
        global_data[Constants.GlobalData.ARGS] = self.args
        global_data[Constants.GlobalData.START_TIME] = datetime.utcnow()
        global_data[Constants.GlobalData.INPUT_QUEUE] = HMQueue("Input")

        self.module_loader = ModuleLoader()
        self.module_loader.load(global_data)

        self.startOutputs(global_data)

        self.startInputs(global_data)

        self.pubAid = PubSubAid()

        # Endless loop will never return
        self.input.input()

        self.logger.debug("Exiting")
Example #7
0
def instantuate_me(data):
    ''' This function will be called to instantiate this class. '''
    return CurrentValues(data)