示例#1
0
    def test_exitFilter_no_port(self):
        exit_fprint = 'exit_fprint'
        rel_stat = mock.Mock()
        rel_stat.flags = (Flag.RUNNING, Flag.VALID, Flag.STABLE, Flag.FAST)
        rel_stat.digest = 'exit_digest'
        desc = mock.Mock()
        desc.ntor_onion_key = 'ntor-key'
        desc.exit_policy = mock.Mock()
        desc.exit_policy.can_exit_to = mock.Mock()
        desc.exit_policy.can_exit_to.return_value = False
        desc.exit_policy.is_exiting_allowed = 'test retval'
        cons_rel_stats = {'exit_fprint': rel_stat}
        descriptors = {'exit_digest': desc}
        fast = True
        stable = True
        internal = False
        port = None

        self.assertEqual(path.exitFilter(
            exit_fprint,
            cons_rel_stats,
            descriptors,
            fast,
            stable,
            internal,
            port),
            'test retval')
示例#2
0
    def test_exitFilter_no_consensus_entry(self):
        exit_fprint = 'exit_fprint'
        cons_rel_stats = {}
        descriptors = {'exit_fprint': 'exit_desc'}
        fast = True
        stable = True
        internal = False
        port = 0

        self.assertFalse(
            path.exitFilter(exit_fprint, cons_rel_stats, descriptors, fast,
                            stable, internal, port))
示例#3
0
    def test_exitFilter_no_descriptor(self):
        exit_fprint = 'exit_fprint'
        rel_stat = mock.Mock()
        rel_stat.digest = 'exit_digest'
        cons_rel_stats = {'exit_fprint': rel_stat}
        descriptors = {}
        fast = True
        stable = True
        internal = False
        port = 0

        self.assertFalse(
            path.exitFilter(exit_fprint, cons_rel_stats, descriptors, fast,
                            stable, internal, port))
示例#4
0
    def test_exitFilter_no_ntor_key(self):
        exit_fprint = 'exit_fprint'
        rel_stat = mock.Mock()
        rel_stat.digest = 'exit_digest'
        desc = mock.Mock()
        desc.ntor_onion_key = None
        cons_rel_stats = {'exit_fprint': rel_stat}
        descriptors = {'exit_digest': desc}
        fast = True
        stable = True
        internal = False
        port = 0

        self.assertFalse(
            path.exitFilter(exit_fprint, cons_rel_stats, descriptors, fast,
                            stable, internal, port))
示例#5
0
    def test_exitFilter_not_stable_want_stable(self):
        exit_fprint = 'exit_fprint'
        rel_stat = mock.Mock()
        rel_stat.flags = (Flag.RUNNING, Flag.VALID, Flag.FAST)
        rel_stat.digest = 'exit_digest'
        desc = mock.Mock()
        desc.ntor_onion_key = 'ntor-key'
        cons_rel_stats = {'exit_fprint': rel_stat}
        descriptors = {'exit_digest': desc}
        fast = True
        stable = True
        internal = False
        port = 0

        self.assertFalse(
            path.exitFilter(exit_fprint, cons_rel_stats, descriptors, fast,
                            stable, internal, port))
示例#6
0
    def test_exitFilter_no_consensus_entry(self):
        exit_fprint = 'exit_fprint'
        cons_rel_stats = {}
        descriptors = {'exit_fprint': 'exit_desc'}
        fast = True
        stable = True
        internal = False
        port = 0

        self.assertFalse(path.exitFilter(
            exit_fprint,
            cons_rel_stats,
            descriptors,
            fast,
            stable,
            internal,
            port))
示例#7
0
    def test_exitFilter_no_descriptor(self):
        exit_fprint = 'exit_fprint'
        rel_stat = mock.Mock()
        rel_stat.digest = 'exit_digest'
        cons_rel_stats = {'exit_fprint': rel_stat}
        descriptors = {}
        fast = True
        stable = True
        internal = False
        port = 0

        self.assertFalse(path.exitFilter(
            exit_fprint,
            cons_rel_stats,
            descriptors,
            fast,
            stable,
            internal,
            port))
示例#8
0
    def test_exitFilter_no_port(self):
        exit_fprint = 'exit_fprint'
        rel_stat = mock.Mock()
        rel_stat.flags = (Flag.RUNNING, Flag.VALID, Flag.STABLE, Flag.FAST)
        rel_stat.digest = 'exit_digest'
        desc = mock.Mock()
        desc.ntor_onion_key = 'ntor-key'
        desc.exit_policy = mock.Mock()
        desc.exit_policy.can_exit_to = mock.Mock()
        desc.exit_policy.can_exit_to.return_value = False
        desc.exit_policy.is_exiting_allowed = 'test retval'
        cons_rel_stats = {'exit_fprint': rel_stat}
        descriptors = {'exit_digest': desc}
        fast = True
        stable = True
        internal = False
        port = None

        self.assertEqual(
            path.exitFilter(exit_fprint, cons_rel_stats, descriptors, fast,
                            stable, internal, port), 'test retval')
示例#9
0
    def test_exitFilter_no_ntor_key(self):
        exit_fprint = 'exit_fprint'
        rel_stat = mock.Mock()
        rel_stat.digest = 'exit_digest'
        desc = mock.Mock()
        desc.ntor_onion_key = None
        cons_rel_stats = {'exit_fprint': rel_stat}
        descriptors = {'exit_digest': desc}
        fast = True
        stable = True
        internal = False
        port = 0

        self.assertFalse(path.exitFilter(
            exit_fprint,
            cons_rel_stats,
            descriptors,
            fast,
            stable,
            internal,
            port))
示例#10
0
    def test_exitFilter_not_stable_want_stable(self):
        exit_fprint = 'exit_fprint'
        rel_stat = mock.Mock()
        rel_stat.flags = (Flag.RUNNING, Flag.VALID, Flag.FAST)
        rel_stat.digest = 'exit_digest'
        desc = mock.Mock()
        desc.ntor_onion_key = 'ntor-key'
        cons_rel_stats = {'exit_fprint': rel_stat}
        descriptors = {'exit_digest': desc}
        fast = True
        stable = True
        internal = False
        port = 0

        self.assertFalse(path.exitFilter(
            exit_fprint,
            cons_rel_stats,
            descriptors,
            fast,
            stable,
            internal,
            port))