Ejemplo n.º 1
0
    def test_processing_loop_window1(self):
        def messages_handler(messages):
            print(messages)
            assert len(messages) == 1
            assert messages == [{'actual': 1.1, 'time': 1, 'total': 10.1}] or \
                   messages == [{'actual': 22.2, 'time': 2, 'total': 100.1}]

        stmp.processing_loop(self.istream, 1, messages_handler, timeout=2)
Ejemplo n.º 2
0
    def test_processing_loop_window1(self):
        def messages_handler(messages):
            print(messages)
            assert len(messages) == 1
            assert messages == [{'time': 118137421,
                                 'total': 5378499.0,
                                 'total_tariff1': 5378499.0,
                                 'total_tariff2': 0.0}] \
                   or messages == [{'time': 118137423,
                                    'total': 5378499.1,
                                    'total_tariff1': 5378499.1,
                                    'total_tariff2': 0.0}]

        stmp.processing_loop(self.istream, 1, messages_handler, timeout=2)
Ejemplo n.º 3
0
    def test_processing_loop_invalid(self):
        ## before
        istream = io.StringIO()
        istream.write("""129-129:199.130.3*255#EMH#
            1-0:1.8.0*255#5378499.0Wh
            1-0:16.7.0*255#1.1#W
            act_sensor_time#1#
            """)
        istream.seek(0)

        def messages_handler(messages):
            print(messages)
            assert len(messages) == 1
            assert messages == [{'actual': 1.1, 'time': 1}]

        stmp.processing_loop(istream, 2, messages_handler, timeout=2)
Ejemplo n.º 4
0
    def test_processing_loop_invalid(self):
        ## before
        istream = io.StringIO()
        istream.write("""1-0:96.50.1*1#ISK#
            1-0:96.1.0*255#0a 01 49 53 4b 00 04 32 5e c5 #
            1-0:1.8.0*255#10Wh
            1-0:16.7.0*255#1.1#W
            act_sensor_time#1#
            """)
        istream.seek(0)

        def messages_handler(messages):
            print(messages)
            assert len(messages) == 1
            assert messages == [{'actual': 1.1, 'time': 1}]

        stmp.processing_loop(istream, 2, messages_handler, timeout=2)
Ejemplo n.º 5
0
def __processfile(filepath, window_size):
    global n

    ## call external binary and capture STDOUT
    cmd = "%s %s" % (os.path.join(
        __script_dir, '../sml_server_time/sml_server_time'), filepath)
    proc = Popen(shlex.split(cmd), stdout=PIPE)

    ## reset counter
    n = 0

    ## aggregation callback
    def data_handler(data):
        ## just count how often this has been called
        global n
        n += 1

    stmp.processing_loop(proc.stdout, window_size, data_handler, timeout=1)

    return n