Example #1
0
    def test_complete_neighbourhood(self):
        req = MockRequester({
            0: {1, 2, 4, 5},
            1: {6},
            2: {5},
            3: {2, 4},
            4: {1},
            5: {1, 7},
            6: {7},
            7: {0, 6}
        })

        nm = NodeManager(req)

        _run(nm.complete_neighbourhood(0))

        self._assert_graph(
            {
                1: {2, 4, 5},
                2: {1, 4, 5},
                4: {1, 2, 5},
                5: {1, 2, 4}
            }, req)
Example #2
0
    def test_concurrent_execution(self):
        req = MockRequester(
            {
                0: {1, 2, 3, 4, 5, 6, 7},
                1: set(),
                2: set(),
                3: set(),
                4: set(),
                5: set(),
                6: set(),
                7: set()
            },
            add_sleep=1)

        nm = NodeManager(req)

        try:
            # 7 * 6 / 2 = 21 connections to be added
            _run(asyncio.wait_for(nm.complete_neighbourhood(0), timeout=5))
        except asyncio.TimeoutError:
            self.fail("Timeout reached!")

        self._assert_graph({i: (set(range(1, 8)) - {i})
                            for i in range(1, 8)}, req)