Exemplo n.º 1
0
def create_default_coap_message_factory():
    return coap.CoapMessageFactory(
        options_factory=coap.CoapOptionsFactory(),
        uri_path_based_payload_factories=
        create_default_uri_path_based_payload_factories(),
        message_id_to_uri_path_binder=coap.CoapMessageIdToUriPathBinder(),
    )
Exemplo n.º 2
0
    def test_should_create_CoapMessage_from_solicit_response_data_when_parse_method_is_called(
            self):
        # GIVEN
        data = bytearray([
            0x62, 0x44, 0x00, 0xbd, 0x65, 0xee, 0xff, 0x04, 0x01, 0x00, 0x02,
            0x02, 0x00, 0x00, 0x07, 0x09, 0x76, 0x80, 0x00, 0x01, 0x00, 0x00,
            0x00, 0x00, 0x00
        ])

        mid_binder = coap.CoapMessageIdToUriPathBinder()
        mid_binder.add_uri_path_for(189, bytearray([0x65, 0xee]), "/a/as")

        factory = coap.CoapMessageFactory(
            options_factory=coap.CoapOptionsFactory(),
            uri_path_based_payload_factories={
                "/a/as": self._create_dummy_payload_factory()
            },
            message_id_to_uri_path_binder=mid_binder)

        # WHEN
        coap_message = factory.parse(io.BytesIO(data), None)

        # THEN
        self.assertEqual(1, coap_message.version)
        self.assertEqual(2, coap_message.type)
        self.assertEqual(2, coap_message.tkl)
        self.assertEqual("2.04", coap_message.code)
        self.assertEqual(189, coap_message.message_id)
        self.assertEqual(bytearray([0x65, 0xee]), coap_message.token)
        self.assertEqual(None, coap_message.uri_path)
        self.assertEqual(
            bytearray([
                0x04, 0x01, 0x00, 0x02, 0x02, 0x00, 0x00, 0x07, 0x09, 0x76,
                0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
            ]), coap_message.payload)
Exemplo n.º 3
0
 def _create_coap_message_factory(self):
     return coap.CoapMessageFactory(
         options_factory=coap.CoapOptionsFactory(),
         uri_path_based_payload_factories={
             "/a/as": self._create_dummy_payload_factory()
         },
         message_id_to_uri_path_binder=coap.CoapMessageIdToUriPathBinder())
Exemplo n.º 4
0
    def test_should_raise_KeyError_when_get_uri_path_for_is_called_but_it_is_not_present_in_database(self):
        # GIVEN
        message_id = any_message_id()
        token = any_token()
        any_uri_path()

        binder = coap.CoapMessageIdToUriPathBinder()

        # THEN
        self.assertRaises(RuntimeError, binder.get_uri_path_for, message_id, token)
Exemplo n.º 5
0
    def test_should_add_uri_path_to_binds_when_add_uri_path_for_method_is_called(self):
        # GIVEN
        message_id = any_message_id()
        token = any_token()
        uri_path = any_uri_path()

        binder = coap.CoapMessageIdToUriPathBinder()

        # WHEN
        binder.add_uri_path_for(message_id, token, uri_path)

        # THEN
        self.assertEqual(uri_path, binder.get_uri_path_for(message_id, token))