Beispiel #1
0
    def test_ping_cycle(self):
        scenarios = [[[SimpleCapability(str(CapabilityRegister.AGENT))], 1],
                     [[], 1],
                     [[SimpleCapability(str(CapabilityRegister.POOL))], 0],
                     [[SimpleCapability("MadeUpCapability")], 0]]

        for scenario in scenarios:
            reqd_cap, expected_notification = scenario
            logging.info(
                "\n\nTesting Ping Cycle with capabilities [{}]\n\n".format(
                    str(reqd_cap)))
            sa = SimpleAgent(
                'test agent',
                start_state=State.S0,
                end_state=State.S1,
                capacity=1,
                task_consumption_policy=GreedyTaskConsumptionPolicy(),
                trace=True)
            time.sleep(.5)

            ping_srcsink = DummySrcSink("PingSrcSink", ping_topic=sa.topic)
            ping_workref = ping_srcsink.send_ping(
                required_capabilities=reqd_cap)

            time.sleep(1)
            self.assertEqual(expected_notification,
                             len(ping_srcsink.ping_notifications))
            if expected_notification > 0:
                self.assertEqual(
                    ping_workref.id,
                    ping_srcsink.ping_notifications[0].sender_work_ref.id)
            pub.unsubAll()
        return
Beispiel #2
0
    def test_ping_cycle(self):

        _ = SimpleEther("TestEther1")

        scenarios = [[[SimpleCapability(str(CapabilityRegister.POOL))], 1],
                     [[], 1],
                     [[SimpleCapability(str(CapabilityRegister.AGENT))], 0],
                     [[SimpleCapability("MadeUpCapability")], 0]]

        for scenario in scenarios:
            reqd_cap, expected_notification = scenario
            logging.info(
                "\n\nTesting Ping Cycle with capabilities [{}]\n\n".format(
                    str(reqd_cap)))
            ping_srcsink = DummySrcSink("PingSrcSink")
            task_pool = SimpleTaskPool('Task Pool 1')
            time.sleep(.25)

            ping_workref = ping_srcsink.send_ping(
                required_capabilities=reqd_cap)

            time.sleep(1)
            self.assertEqual(expected_notification,
                             len(ping_srcsink.ping_notifications))
            if expected_notification > 0:
                self.assertEqual(
                    ping_workref.id,
                    ping_srcsink.ping_notifications[0].sender_work_ref.id)
            pub.unsubAll()
            del task_pool
            del ping_srcsink
        return