Esempio n. 1
0
def test_match_xor():
    t1 = Template()
    t1.sender = "sender1@host"
    t2 = Template()
    t2.to = "recv1@host"
    t2.metadata = {"performative": "query"}

    m1 = Message()
    m1.sender = "sender1@host"

    assert (t1 ^ t2).match(m1)

    m2 = Message()
    m2.to = "recv1@host"
    m2.metadata = {"performative": "query"}

    assert (t1 ^ t2).match(m2)

    m3 = Message()
    m3.sender = "sender2@host"
    m3.to = "recv1@host"
    m3.metadata = {"performative": "inform"}

    assert not (t1 ^ t2).match(m3)

    t1 = Template()
    t1.sender = "sender1@host"
    t2 = Template()
    t2.sender = "sender1@host"
    m4 = Message()
    m4.sender = "sender1@host"

    assert not (t1 ^ t2).match(m4)
Esempio n. 2
0
def test_match_ior():
    t1 = Template()
    t1.sender = "sender1@host"
    t2 = Template()
    t2.to = "recv1@host"
    t2.metadata = {"performative": "query"}

    m1 = Message()
    m1.sender = "sender1@host"

    t1 |= t2

    assert t1.match(m1)

    m2 = Message()
    m2.to = "recv1@host"
    m2.metadata = {"performative": "query"}

    assert t1.match(m2)

    m3 = Message()
    m3.sender = "sender2@host"
    m3.to = "recv1@host"
    m3.metadata = {"performative": "inform"}

    assert not t1.match(m3)
def build_message(performative, endpoint, name, body, to):
    msg = Message(to=to)  # Instantiate the message
    msg.set_metadata("performative",
                     performative)  # Set the "inform" FIPA performative
    msg.set_metadata("endpoint", endpoint)
    msg.sender = name
    msg.body = body
    return msg
Esempio n. 4
0
 async def run(self):
     global user_message
     if (user_message != "failure"):
         msg = Message(to="chattingAgent@localhost")
         msg.sender = "twitterAgent@localhost"
         msg.body = user_message
         msg.set_metadata("performative", "inform")
         msg.set_metadata("ontology", "research-theme")
         await self.send(msg)
     self.set_next_state(RECIEVE_STATE)
Esempio n. 5
0
def test_match_false_sender():
    template = Template()
    template.sender = "sender2@host"

    message = Message()

    assert not template.match(message)

    message.sender = "sender1@host"

    assert not template.match(message)
Esempio n. 6
0
def formMessage(sender, to, performative, ontology, other=None):
    message = Message()
    message.sender = sender
    message.to = to
    message.set_metadata("performative", performative)
    message.set_metadata("ontology", ontology)
    if other:
        for value in other.items():
            message.set_metadata(value[0], value[1])

    return message
Esempio n. 7
0
    async def send(self, msg: Message):
        """
        Sends a message.

        Args:
            msg (spade.message.Message): the message to be sent.
        """
        if not msg.sender:
            msg.sender = str(self.jid)
            logger.debug(f"Adding artifact's jid as sender to message: {msg}")
        aioxmpp_msg = msg.prepare()
        await self.client.send(aioxmpp_msg)
        msg.sent = True
Esempio n. 8
0
def test_match_not():
    t1 = Template()
    t1.sender = "sender1@host"
    t1.to = "recv1@host"
    t1.metadata = {"performative": "query"}

    m1 = Message()
    m1.sender = "sender1@host"

    assert (~t1).match(m1)

    m2 = Message()
    m2.sender = "sender1@host"
    m2.to = "recv1@host"

    assert (~t1).match(m2)

    m3 = Message()
    m3.sender = "sender1@host"
    m3.to = "recv1@host"
    m3.metadata = {"performative": "query"}

    assert not (~t1).match(m3)
Esempio n. 9
0
def test_behaviour_match_without_template():
    class TestBehaviour(OneShotBehaviour):
        async def run(self):
            pass

    behaviour = TestBehaviour()

    msg = Message()
    msg.sender = "sender1@host"
    msg.to = "recv1@host"
    msg.body = "Hello World"
    msg.thread = "thread-id"
    msg.set_metadata("performative", "query")

    assert behaviour.match(msg)
Esempio n. 10
0
def test_behaviour_match_without_template():
    class TestBehaviour(OneShotBehaviour):
        async def run(self):
            pass

    behaviour = TestBehaviour()

    msg = Message()
    msg.sender = "sender1@host"
    msg.to = "recv1@host"
    msg.body = "Hello World"
    msg.thread = "thread-id"
    msg.set_metadata("performative", "query")

    assert behaviour.match(msg)
 def create_message(
     self, agent_jid: str, performative: str, conversation_id: str, content_object
 ) -> Message:
     msg = Message()
     msg.to = agent_jid
     msg.sender = self.agent_id
     msg.set_metadata(CONVERSATION, conversation_id)
     msg.set_metadata(PERFORMATIVE, performative)
     msg.body = MessageCodification.pickle_object(content_object)
     logger.info(
         "{}: message to send to: {} | dialogue_id: {}".format(
             self.name, msg.to, msg.get_metadata(CONVERSATION)
         )
     )
     return msg
Esempio n. 12
0
def test_match():
    template = Template()
    template.sender = "sender1@host"
    template.to = "recv1@host"
    template.body = "Hello World"
    template.thread = "thread-id"
    template.metadata = {"performative": "query"}

    message = Message()
    message.sender = "sender1@host"
    message.to = "recv1@host"
    message.body = "Hello World"
    message.thread = "thread-id"
    message.set_metadata("performative", "query")

    assert template.match(message)
Esempio n. 13
0
from spade.template import Template

print("1 -- Templates")

template = Template()
# template.sender = "sender1@host"
template.sender = "madks@Temp3rr0r-pc"
# template.to = "recv1@host"
template.to = "admin@Temp3rr0r-pc"
template.body = "Hello World"
template.thread = "thread-id"
template.metadata = {"performative": "query"}

message = Message()
# message.sender = "sender1@host"
message.sender = "madks@Temp3rr0r-pc"
# message.to = "recv1@host"
message.to = "admin@Temp3rr0r-pc"
message.body = "Hello World"
message.thread = "thread-id"
message.set_metadata("performative", "query")

assert template.match(message)

t1 = Template()
# t1.sender = "sender1@host"
t1.sender = "madks@Temp3rr0r-pc"
t2 = Template()
# t2.to = "recv1@host"
t2.to = "admin@Temp3rr0r-pc"
t2.metadata = {"performative": "query"}
Esempio n. 14
0
def test_sender_set_string():
    msg = Message()
    msg.sender = "agent@fakeserver"
Esempio n. 15
0
def test_sender_set_not_string():
    msg = Message()
    with pytest.raises(TypeError):
        msg.sender = 1000
Esempio n. 16
0
def test_sender_set_none():
    msg = Message()
    msg.sender = None
Esempio n. 17
0
def test_sender_set_string():
    msg = Message()
    msg.sender = "agent@fakeserver"
Esempio n. 18
0
def test_sender_set_not_string():
    msg = Message()
    with pytest.raises(TypeError):
        msg.sender = 1000
Esempio n. 19
0
def test_sender_set_none():
    msg = Message()
    msg.sender = None