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)
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
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)
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