示例#1
0
def test_agent_with_processing(mocker):
    src = SourceSampleOrion(count=5, delay=0)
    sink = SinkNull()
    mocker.spy(sink, "write")
    agent = NgsiAgent.create_agent(src, sink, build_entity_sample_orion)
    agent.run()
    agent.close()
    assert sink.write.call_count == 5  # pylint: disable=no-member
    assert agent.stats == agent.Stats(5, 5, 5, 0, 0)
示例#2
0
def init_agent():
    global agent
    Source.register_extension("xlsx", SourceMicrosoftExcel)
    src = ServerHttpUpload()
    sink = SinkNull()
    agent = NgsiAgent.create_agent(src, sink)
    _thread.start_new_thread(agent.run, ())
    time.sleep(1)  # let time for the server to setup
    yield
    assert agent.server_status.calls == 3
    agent.close()
    time.sleep(1)  # let time for the server to shutdown
示例#3
0
def test_agent_with_side_effect(mocker):
    def side_effect(row, sink, datamodel):
        # each time we acquire data from sensors in a room, we create (or override) a side-entity
        # here the side-entity is a room entity for a Building datamodel
        m = DataModel(id=f"Building:MainBuilding:Room:{datamodel['id']}",
                      type="Room")
        sink.write(m.json())
        return 1  # number of entities created in the function

    src = SourceSampleOrion(count=5, delay=0)
    sink = SinkNull()
    mocker.spy(sink, "write")
    agent = NgsiAgent.create_agent(src, sink, build_entity_sample_orion,
                                   side_effect)
    agent.run()
    agent.close()
    assert sink.write.call_count == 10  # pylint: disable=no-member
    assert agent.stats == agent.Stats(5, 5, 5, 0, 0, 5)
示例#4
0
def test_sink_null(mocker):
    sink = SinkNull()
    mocker.spy(sink, "write")
    sink.write(msg="dummy")
    assert sink.write.call_count == 1  # pylint: disable=no-member