コード例 #1
0
    def test_getPath_exception(self, mock_se):
        mock_ns = mock.Mock()
        mock_gm = mock.Mock()

        mock_exit_rs = mock.Mock()
        mock_exit_rs.digest = 'exit digest'
        mock_middle_rs = mock.Mock()
        mock_middle_rs.digest = 'middle digest'
        mock_guard_rs = mock.Mock()
        mock_guard_rs.digest = 'guard digest'

        mock_consensus = mock.Mock()
        mock_consensus.routers = {
            'exit_fprint': mock_exit_rs,
            'middle_fprint': mock_middle_rs,
            'guard_fprint': mock_guard_rs
        }

        mock_consensus.bandwidth_weights = 'bandwidth weights'
        mock_exit_request = mock.Mock()
        mock_exit_request.port = 'port'

        mock_descriptors = {
            'exit digest': 'exit_fprint',
            'middle digest': 'middle_fprint',
            'guard digest': 'guard_fprint'
        }

        mock_ns.getMicroconsensus = mock.Mock()
        mock_ns.getMicroconsensus.return_value = defer.succeed(mock_consensus)
        mock_ns.getMicrodescriptorsForCircuit = mock.Mock()
        mock_ns.getMicrodescriptorsForCircuit.return_value = \
            defer.succeed(mock_descriptors)
        mock_gm.getUsableGuards = mock.Mock()
        mock_gm.getUsableGuards.return_value = defer.succeed('guards')

        mock_fast = True
        mock_stable = True
        mock_internal = False

        mock_bwweightscale = path.DEFAULT_BWWEIGHTSCALE

        self.assertEqual(
            self.failureResultOf(
                path.getPath(mock_ns,
                             mock_gm,
                             mock_exit_request,
                             mock_fast,
                             mock_stable,
                             mock_internal))\
                                .trap(path.PathSelectionFailedException),
            path.PathSelectionFailedException)
コード例 #2
0
ファイル: test_path.py プロジェクト: nskinkel/oppy
    def test_getPath_exception(self, mock_se):
        mock_ns = mock.Mock()
        mock_gm = mock.Mock()

        mock_exit_rs = mock.Mock()
        mock_exit_rs.digest = 'exit digest'
        mock_middle_rs = mock.Mock()
        mock_middle_rs.digest = 'middle digest'
        mock_guard_rs = mock.Mock()
        mock_guard_rs.digest = 'guard digest'


        mock_consensus = mock.Mock()
        mock_consensus.routers = {'exit_fprint': mock_exit_rs,
                                  'middle_fprint': mock_middle_rs,
                                  'guard_fprint': mock_guard_rs}

        mock_consensus.bandwidth_weights = 'bandwidth weights'
        mock_exit_request = mock.Mock()
        mock_exit_request.port = 'port'

        mock_descriptors = {'exit digest': 'exit_fprint',
                            'middle digest': 'middle_fprint',
                            'guard digest': 'guard_fprint'}

        mock_ns.getMicroconsensus = mock.Mock()
        mock_ns.getMicroconsensus.return_value = defer.succeed(mock_consensus)
        mock_ns.getMicrodescriptorsForCircuit = mock.Mock()
        mock_ns.getMicrodescriptorsForCircuit.return_value = \
            defer.succeed(mock_descriptors)
        mock_gm.getUsableGuards = mock.Mock()
        mock_gm.getUsableGuards.return_value = defer.succeed('guards')

        mock_fast = True
        mock_stable = True
        mock_internal = False

        mock_bwweightscale = path.DEFAULT_BWWEIGHTSCALE

        self.assertEqual(
            self.failureResultOf(
                path.getPath(mock_ns,
                             mock_gm,
                             mock_exit_request,
                             mock_fast,
                             mock_stable,
                             mock_internal))\
                                .trap(path.PathSelectionFailedException),
            path.PathSelectionFailedException)
コード例 #3
0
ファイル: circuitbuildtask.py プロジェクト: nskinkel/oppy
    def build(self):
        if self._building is True:
            msg = "Circuit {} already started build process."
            raise RuntimeError(msg.format(self.circuit_id))

        try:
            # TODO: update for stable/fast flags based on circuit_type
            self._tasks = path.getPath(self._netstatus, self._guard_manager, exit_request=self.request)
        except Exception as e:
            self._buildFailed(e)
            return

        self._current_task = self._tasks
        self._tasks.addCallback(self._build)
        self._tasks.addCallback(self._buildSucceeded)
        self._tasks.addErrback(self._buildFailed)
        self._building = True
コード例 #4
0
ファイル: circuitbuildtask.py プロジェクト: zyk2290/oppy
    def build(self):
        if self._building is True:
            msg = "Circuit {} already started build process."
            raise RuntimeError(msg.format(self.circuit_id))

        try:
            # TODO: update for stable/fast flags based on circuit_type
            self._tasks = path.getPath(self._netstatus,
                                       self._guard_manager,
                                       exit_request=self.request)
        except Exception as e:
            self._buildFailed(e)
            return

        self._current_task = self._tasks
        self._tasks.addCallback(self._build)
        self._tasks.addCallback(self._buildSucceeded)
        self._tasks.addErrback(self._buildFailed)
        self._building = True
コード例 #5
0
    def test_getPath(self, mock_sm, mock_sg, mock_se):
        mock_ns = mock.Mock()
        mock_gm = mock.Mock()

        mock_exit_rs = mock.Mock()
        mock_exit_rs.digest = 'exit digest'
        mock_middle_rs = mock.Mock()
        mock_middle_rs.digest = 'middle digest'
        mock_guard_rs = mock.Mock()
        mock_guard_rs.digest = 'guard digest'

        mock_consensus = mock.Mock()
        mock_consensus.routers = {
            'exit_fprint': mock_exit_rs,
            'middle_fprint': mock_middle_rs,
            'guard_fprint': mock_guard_rs
        }

        mock_consensus.bandwidth_weights = 'bandwidth weights'
        mock_exit_request = mock.Mock()
        mock_exit_request.port = 'port'

        mock_descriptors = {
            'exit digest': 'exit_fprint',
            'middle digest': 'middle_fprint',
            'guard digest': 'guard_fprint'
        }

        mock_ns.getMicroconsensus = mock.Mock()
        mock_ns.getMicroconsensus.return_value = defer.succeed(mock_consensus)
        mock_ns.getMicrodescriptorsForCircuit = mock.Mock()
        mock_ns.getMicrodescriptorsForCircuit.return_value = \
            defer.succeed(mock_descriptors)
        mock_gm.getUsableGuards = mock.Mock()
        mock_gm.getUsableGuards.return_value = defer.succeed('guards')

        mock_fast = True
        mock_stable = True
        mock_internal = False

        mock_bwweightscale = path.DEFAULT_BWWEIGHTSCALE

        ret = path.getPath(mock_ns, mock_gm, mock_exit_request, mock_fast,
                           mock_stable, mock_internal)

        mock_se.assert_called_once_with(mock_consensus.bandwidth_weights,
                                        mock_bwweightscale,
                                        mock_consensus.routers,
                                        mock_descriptors, mock_fast,
                                        mock_stable, mock_internal,
                                        mock_exit_request.port)

        mock_sg.assert_called_once_with(mock_consensus.routers,
                                        mock_descriptors, 'guards', mock_fast,
                                        mock_stable, 'exit_fprint',
                                        mock_exit_rs)

        mock_sm.assert_called_once_with(
            mock_consensus.bandwidth_weights, mock_bwweightscale,
            mock_consensus.routers, mock_descriptors, mock_fast, mock_stable,
            'exit_fprint', mock_exit_rs, 'guard_fprint', mock_guard_rs)

        self.assertEqual(
            self.successResultOf(ret),
            path.Path(path.PathNode('guard_fprint', mock_guard_rs),
                      path.PathNode('middle_fprint', mock_middle_rs),
                      path.PathNode('exit_fprint', mock_exit_rs)))
コード例 #6
0
ファイル: test_path.py プロジェクト: nskinkel/oppy
    def test_getPath(self, mock_sm, mock_sg, mock_se):
        mock_ns = mock.Mock()
        mock_gm = mock.Mock()

        mock_exit_rs = mock.Mock()
        mock_exit_rs.digest = 'exit digest'
        mock_middle_rs = mock.Mock()
        mock_middle_rs.digest = 'middle digest'
        mock_guard_rs = mock.Mock()
        mock_guard_rs.digest = 'guard digest'


        mock_consensus = mock.Mock()
        mock_consensus.routers = {'exit_fprint': mock_exit_rs,
                                  'middle_fprint': mock_middle_rs,
                                  'guard_fprint': mock_guard_rs}

        mock_consensus.bandwidth_weights = 'bandwidth weights'
        mock_exit_request = mock.Mock()
        mock_exit_request.port = 'port'

        mock_descriptors = {'exit digest': 'exit_fprint',
                            'middle digest': 'middle_fprint',
                            'guard digest': 'guard_fprint'}

        mock_ns.getMicroconsensus = mock.Mock()
        mock_ns.getMicroconsensus.return_value = defer.succeed(mock_consensus)
        mock_ns.getMicrodescriptorsForCircuit = mock.Mock()
        mock_ns.getMicrodescriptorsForCircuit.return_value = \
            defer.succeed(mock_descriptors)
        mock_gm.getUsableGuards = mock.Mock()
        mock_gm.getUsableGuards.return_value = defer.succeed('guards')

        mock_fast = True
        mock_stable = True
        mock_internal = False

        mock_bwweightscale = path.DEFAULT_BWWEIGHTSCALE
        
        ret = path.getPath(mock_ns, mock_gm, mock_exit_request, mock_fast,
                           mock_stable, mock_internal)

        mock_se.assert_called_once_with(mock_consensus.bandwidth_weights,
                                        mock_bwweightscale,
                                        mock_consensus.routers,
                                        mock_descriptors,
                                        mock_fast,
                                        mock_stable,
                                        mock_internal,
                                        mock_exit_request.port)

        mock_sg.assert_called_once_with(mock_consensus.routers,
                                        mock_descriptors,
                                        'guards',
                                        mock_fast,
                                        mock_stable,
                                        'exit_fprint',
                                        mock_exit_rs)
        
        mock_sm.assert_called_once_with(mock_consensus.bandwidth_weights,
                                        mock_bwweightscale,
                                        mock_consensus.routers,
                                        mock_descriptors,
                                        mock_fast,
                                        mock_stable,
                                        'exit_fprint',
                                        mock_exit_rs,
                                        'guard_fprint',
                                        mock_guard_rs)

        self.assertEqual(self.successResultOf(ret),
            path.Path(path.PathNode('guard_fprint', mock_guard_rs),
                      path.PathNode('middle_fprint', mock_middle_rs),
                      path.PathNode('exit_fprint', mock_exit_rs)))