Esempio n. 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()
Esempio n. 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()
Esempio n. 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)
Esempio n. 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)
Esempio n. 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'])
Esempio n. 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'])
Esempio n. 7
0
 def test_add_resource_exception_if_invalid_resource_type(self):
     with self.assertRaises(InvalidResourceTypeError):
         add_resource(self.resource_name, lambda: set(), 'invalid')
Esempio n. 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')