async def test_write_link_escaped(self):
        # Given
        envelope = LinkRequest('/unit/5', '/unit/3')
        expected = '@link(node:"/unit/5",lane:"/unit/3")'

        # When
        actual = await envelope.to_recon()

        # Then
        self.assertEqual(expected, actual)
    async def test_write_link(self):
        # Given
        envelope = LinkRequest('test', 'foo')
        expected = '@link(node:test,lane:foo)'

        # When
        actual = await envelope.to_recon()

        # Then
        self.assertEqual(expected, actual)
    async def test_write_link_body_string(self):
        # Given
        envelope = LinkRequest('/unit/5',
                               '/unit/3',
                               body=Text.create_from('spam and \\ham/'))
        expected = '@link(node:"/unit/5",lane:"/unit/3")"spam and \\ham/"'

        # When
        actual = await envelope.to_recon()

        # Then
        self.assertEqual(expected, actual)
    async def test_write_link_body_bool(self):
        # Given
        envelope = LinkRequest('/unit/5',
                               '/unit/3',
                               body=Bool.create_from(False))
        expected = '@link(node:"/unit/5",lane:"/unit/3")false'

        # When
        actual = await envelope.to_recon()

        # Then
        self.assertEqual(expected, actual)
    async def test_write_link_body_float(self):
        # Given
        envelope = LinkRequest('/unit/5',
                               '/unit/3',
                               body=Num.create_from(-100.0))
        expected = '@link(node:"/unit/5",lane:"/unit/3")-100.0'

        # When
        actual = await envelope.to_recon()

        # Then
        self.assertEqual(expected, actual)
 def test_link_request_empty_body(self):
     # Given
     node_uri = 'foo_link_node'
     lane_uri = 'bar_link_lane'
     # When
     actual = LinkRequest(node_uri, lane_uri)
     # Then
     self.assertEqual('foo_link_node', actual.node_uri)
     self.assertEqual('bar_link_lane', actual.lane_uri)
     self.assertEqual('link', actual.tag)
     self.assertEqual('foo_link_node/bar_link_lane', actual.route)
     self.assertEqual(Absent.get_absent(), actual.body)
     self.assertIsInstance(actual.form, LinkRequestForm)
    async def test_write_link_prio_rate(self):
        # Given
        envelope = LinkRequest('/unit/5',
                               '/unit/3',
                               prio=22.11,
                               rate=0.2,
                               body=Text.create_from('spam and \\ham/'))
        expected = '@link(node:"/unit/5",lane:"/unit/3",prio:22.11,rate:0.2)"spam and \\ham/"'

        # When
        actual = await envelope.to_recon()

        # Then
        self.assertEqual(expected, actual)
Esempio n. 8
0
 def test_link_form_mold(self):
     # Given
     form = LinkRequestForm()
     envelope = LinkRequest('link_node', 'link_lane', prio=1, rate=2, body=Text.create_from('Moo'))
     # When
     actual = form.mold(envelope)
     # Then
     self.assertIsInstance(actual, RecordMap)
     self.assertEqual(2, actual.size)
     self.assertEqual('link', actual.tag)
     self.assertEqual('link_node', actual.get_item(0).value.get_item(0).value.value)
     self.assertEqual('link_lane', actual.get_item(0).value.get_item(1).value.value)
     self.assertEqual(1, actual.get_item(0).value.get_item(2).value.value)
     self.assertEqual(2, actual.get_item(0).value.get_item(3).value.value)
     self.assertEqual('Moo', actual.get_item(1).value)
 def test_link_request_existing_body(self):
     # Given
     node_uri = 'foo_link_node'
     lane_uri = 'bar_link_lane'
     body = Text.create_from('Link_Body')
     priority = 13.1
     rate = 11.3
     # When
     actual = LinkRequest(node_uri, lane_uri, priority, rate, body)
     # Then
     self.assertEqual('foo_link_node', actual.node_uri)
     self.assertEqual('bar_link_lane', actual.lane_uri)
     self.assertEqual('link', actual.tag)
     self.assertEqual('foo_link_node/bar_link_lane', actual.route)
     self.assertEqual(body, actual.body)
     self.assertIsInstance(actual.form, LinkRequestForm)
Esempio n. 10
0
 async def establish_downlink(self) -> None:
     link_request = LinkRequest(self.node_uri, self.lane_uri)
     await self.connection.send_message(await link_request.to_recon())