Пример #1
0
    def test_add_resource_exception_if_duplicate_lock_check(self):
        def func():
            pss.RESOURCE_MAP[self.resource_name] = {}

        t = Thread(target=hold_lock, args=(_resource_lock, 0.1, func))
        t.start()

        with self.assertRaises(ResourceAlreadyDefinedError):
            add_resource(self.resource_name, lambda: set(), 'http')

        t.join()
Пример #2
0
    def test_add_resource_exception_if_duplicate_lock_check(self):
        # Intermittent failure in Python 2.7
        if sys.version_info.major < 3:
            return

        def func():
            pss.RESOURCE_MAP[self.resource_name] = {}

        t = Thread(target=hold_lock, args=(_resource_lock, 0.1, func))
        t.start()

        with self.assertRaises(ResourceAlreadyDefinedError):
            add_resource(self.resource_name, lambda: set(), 'http')

        t.join()
Пример #3
0
 def test_get_resources_returns_correct(self):
     expected = set(pss.RESOURCE_MAP.keys()).union({self.resource_name})
     add_resource(self.resource_name, lambda: set(), 'http')
     actual = set(get_resources())
     self.assertSetEqual(expected, actual)
Пример #4
0
 def test_add_resource_none_resource_types(self):
     add_resource(self.resource_name, lambda: set(), None)
     self.assertIn(self.resource_name, pss.RESOURCE_MAP)
Пример #5
0
    def test_add_resource_multiple_resource_types(self):
        add_resource(self.resource_name, lambda: set(), ['http', 'socks4'])

        self.assertIn(self.resource_name, pss.RESOURCE_MAP)
        self.assertIn(self.resource_name, pss.RESOURCE_TYPE_MAP['http'])
        self.assertIn(self.resource_name, pss.RESOURCE_TYPE_MAP['socks4'])
Пример #6
0
    def test_add_resource_single_resource_type(self):
        add_resource(self.resource_name, lambda: set(), 'http')

        self.assertIn(self.resource_name, pss.RESOURCE_MAP)
        self.assertIn(self.resource_name, pss.RESOURCE_TYPE_MAP['http'])
Пример #7
0
 def test_add_resource_exception_if_invalid_resource_type(self):
     with self.assertRaises(InvalidResourceTypeError):
         add_resource(self.resource_name, lambda: set(), 'invalid')
Пример #8
0
    def test_add_resource_exception_if_duplicate(self):
        add_resource(self.resource_name, lambda: set(), 'http')

        with self.assertRaises(ResourceAlreadyDefinedError):
            add_resource(self.resource_name, lambda: set(), 'http')