Пример #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)
Пример #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
Пример #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)
Пример #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)
Пример #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
Пример #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
Пример #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)
Пример #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)
Пример #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)
Пример #11
0
 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
Пример #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)
Пример #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"}
Пример #14
0
def test_sender_set_string():
    msg = Message()
    msg.sender = "agent@fakeserver"
Пример #15
0
def test_sender_set_not_string():
    msg = Message()
    with pytest.raises(TypeError):
        msg.sender = 1000
Пример #16
0
def test_sender_set_none():
    msg = Message()
    msg.sender = None
Пример #17
0
def test_sender_set_string():
    msg = Message()
    msg.sender = "agent@fakeserver"
Пример #18
0
def test_sender_set_not_string():
    msg = Message()
    with pytest.raises(TypeError):
        msg.sender = 1000
Пример #19
0
def test_sender_set_none():
    msg = Message()
    msg.sender = None