Beispiel #1
0
 def test_valid_name_casevariants(self):
     for s, p in [
         (POLICY_SCRAPY_DEFAULT, DefaultReferrerPolicy),
         (POLICY_NO_REFERRER, NoReferrerPolicy),
         (POLICY_NO_REFERRER_WHEN_DOWNGRADE, NoReferrerWhenDowngradePolicy),
         (POLICY_SAME_ORIGIN, SameOriginPolicy),
         (POLICY_ORIGIN, OriginPolicy),
         (POLICY_STRICT_ORIGIN, StrictOriginPolicy),
         (POLICY_ORIGIN_WHEN_CROSS_ORIGIN, OriginWhenCrossOriginPolicy),
         (POLICY_STRICT_ORIGIN_WHEN_CROSS_ORIGIN, StrictOriginWhenCrossOriginPolicy),
         (POLICY_UNSAFE_URL, UnsafeUrlPolicy),
     ]:
         settings = Settings({'REFERRER_POLICY': s.upper()})
         mw = RefererMiddleware(settings)
         self.assertEqual(mw.default_policy, p)
Beispiel #2
0
    def test(self):

        origin = 'http://www.scrapy.org'
        target = 'http://www.example.com'

        for settings, response_headers, request_meta, policy_class, check_warning in self.params[3:]:
            mw = RefererMiddleware(Settings(settings))

            response = Response(origin, headers=response_headers)
            request = Request(target, meta=request_meta)

            with warnings.catch_warnings(record=True) as w:
                policy = mw.policy(response, request)
                self.assertIsInstance(policy, policy_class)

                if check_warning:
                    self.assertEqual(len(w), 1)
                    self.assertEqual(w[0].category, RuntimeWarning, w[0].message)
Beispiel #3
0
 def setUp(self):
     self.spider = Spider('foo')
     settings = Settings(self.settings)
     self.referrermw = RefererMiddleware(settings)
     self.redirectmw = RedirectMiddleware(settings)
Beispiel #4
0
 def test_invalid_name(self):
     settings = Settings({'REFERRER_POLICY': 'some-custom-unknown-policy'})
     with self.assertRaises(RuntimeError):
         RefererMiddleware(settings)
Beispiel #5
0
 def setUp(self):
     self.spider = Spider('foo')
     settings = Settings(self.settings)
     self.mw = RefererMiddleware(settings)
Beispiel #6
0
 def setUp(self):
     self.spider = Spider('foo')
     self.mw = RefererMiddleware()