Beispiel #1
0
    def test_container7listing(self):
        # container7 has web-listings = f, web-error=error.html
        resp = Request.blank('/v1/a/c7/').get_response(self.test_staticweb)
        self.assertEqual(resp.status_int, 404)
        self.assertIn("Web Listing Disabled", resp.body)

        # expect 301 if auth'd but no trailing '/'
        resp = Request.blank('/v1/a/c7').get_response(self.test_staticweb)
        self.assertEqual(resp.status_int, 301)

        # expect default 401 if request is not auth'd and no trailing '/'
        test_staticweb = FakeAuthFilter(
            staticweb.filter_factory({})(self.app), deny_listing=True,
            deny_objects=True)
        resp = Request.blank('/v1/a/c7').get_response(test_staticweb)
        self.assertEqual(resp.status_int, 401)
        self.assertNotIn("Hey, you're not authorized to see this!", resp.body)

        # expect custom 401 if request is not auth'd for listing
        test_staticweb = FakeAuthFilter(
            staticweb.filter_factory({})(self.app), deny_listing=True)
        resp = Request.blank('/v1/a/c7/').get_response(test_staticweb)
        self.assertEqual(resp.status_int, 401)
        self.assertIn("Hey, you're not authorized to see this!", resp.body)

        # expect default 401 if request is not auth'd for listing or object GET
        test_staticweb = FakeAuthFilter(
            staticweb.filter_factory({})(self.app), deny_listing=True,
            deny_objects=True)
        resp = Request.blank('/v1/a/c7/').get_response(test_staticweb)
        self.assertEqual(resp.status_int, 401)
        self.assertNotIn("Hey, you're not authorized to see this!", resp.body)
Beispiel #2
0
    def test_container7listing(self):
        # container7 has web-listings = f, web-error=error.html
        resp = Request.blank('/v1/a/c7/').get_response(self.test_staticweb)
        self.assertEqual(resp.status_int, 404)
        self.assertIn("Web Listing Disabled", resp.body)

        # expect 301 if auth'd but no trailing '/'
        resp = Request.blank('/v1/a/c7').get_response(self.test_staticweb)
        self.assertEqual(resp.status_int, 301)

        # expect default 401 if request is not auth'd and no trailing '/'
        test_staticweb = FakeAuthFilter(
            staticweb.filter_factory({})(self.app), deny_listing=True,
            deny_objects=True)
        resp = Request.blank('/v1/a/c7').get_response(test_staticweb)
        self.assertEqual(resp.status_int, 401)
        self.assertNotIn("Hey, you're not authorized to see this!", resp.body)

        # expect custom 401 if request is not auth'd for listing
        test_staticweb = FakeAuthFilter(
            staticweb.filter_factory({})(self.app), deny_listing=True)
        resp = Request.blank('/v1/a/c7/').get_response(test_staticweb)
        self.assertEqual(resp.status_int, 401)
        self.assertIn("Hey, you're not authorized to see this!", resp.body)

        # expect default 401 if request is not auth'd for listing or object GET
        test_staticweb = FakeAuthFilter(
            staticweb.filter_factory({})(self.app), deny_listing=True,
            deny_objects=True)
        resp = Request.blank('/v1/a/c7/').get_response(test_staticweb)
        self.assertEqual(resp.status_int, 401)
        self.assertNotIn("Hey, you're not authorized to see this!", resp.body)
Beispiel #3
0
    def test_container6listing(self):
        # container6 has web-listings = t, web-error=error.html
        resp = Request.blank("/v1/a/c6/").get_response(self.test_staticweb)
        self.assertEqual(resp.status_int, 200)

        # expect custom 401 if request is not auth'd for listing but is auth'd
        # to GET objects
        test_staticweb = FakeAuthFilter(staticweb.filter_factory({})(self.app), deny_listing=True)
        resp = Request.blank("/v1/a/c6/").get_response(test_staticweb)
        self.assertEqual(resp.status_int, 401)
        self.assertIn("Hey, you're not authorized to see this!", resp.body)

        # expect default 401 if request is not auth'd for listing or object GET
        test_staticweb = FakeAuthFilter(staticweb.filter_factory({})(self.app), deny_listing=True, deny_objects=True)
        resp = Request.blank("/v1/a/c6/").get_response(test_staticweb)
        self.assertEqual(resp.status_int, 401)
        self.assertNotIn("Hey, you're not authorized to see this!", resp.body)
Beispiel #4
0
 def test_no_auth_middleware(self):
     resp = Request.blank('/v1/a/c3').get_response(self.test_staticweb)
     self.assertEqual(resp.status_int, 301)
     # Test without an authentication middleware before staticweb
     # This is no longer handled by staticweb middleware, thus not returning
     # a 301 redirect
     self.test_staticweb = staticweb.filter_factory({})(self.app)
     resp = Request.blank('/v1/a/c3').get_response(self.test_staticweb)
     self.assertEqual(resp.status_int, 200)
Beispiel #5
0
 def test_no_auth_middleware(self):
     resp = Request.blank('/v1/a/c3').get_response(self.test_staticweb)
     self.assertEqual(resp.status_int, 301)
     # Test without an authentication middleware before staticweb
     # This is no longer handled by staticweb middleware, thus not returning
     # a 301 redirect
     self.test_staticweb = staticweb.filter_factory({})(self.app)
     resp = Request.blank('/v1/a/c3').get_response(self.test_staticweb)
     self.assertEqual(resp.status_int, 200)
Beispiel #6
0
 def test_container3subdirz_scheme(self):
     path = '/v1/a/c3/subdirz'
     scheme = 'https'
     test_staticweb = FakeAuthFilter(
         staticweb.filter_factory({'url_base': 'https://'})(self.app))
     resp = Request.blank(path).get_response(test_staticweb)
     self.assertEqual(resp.status_int, 301)
     parsed = urlparse(resp.location)
     self.assertEqual(parsed.scheme, scheme)
     # We omit comparing netloc here, because swob is free to add port.
     self.assertEqual(parsed.path, path + '/')
Beispiel #7
0
    def test_container6listing(self):
        # container6 has web-listings = t, web-error=error.html
        resp = Request.blank('/v1/a/c6/').get_response(self.test_staticweb)
        self.assertEqual(resp.status_int, 200)

        # expect custom 401 if request is not auth'd for listing but is auth'd
        # to GET objects
        test_staticweb = FakeAuthFilter(
            staticweb.filter_factory({})(self.app), deny_listing=True)
        resp = Request.blank('/v1/a/c6/').get_response(test_staticweb)
        self.assertEqual(resp.status_int, 401)
        self.assertIn("Hey, you're not authorized to see this!", resp.body)

        # expect default 401 if request is not auth'd for listing or object GET
        test_staticweb = FakeAuthFilter(
            staticweb.filter_factory({})(self.app), deny_listing=True,
            deny_objects=True)
        resp = Request.blank('/v1/a/c6/').get_response(test_staticweb)
        self.assertEqual(resp.status_int, 401)
        self.assertNotIn("Hey, you're not authorized to see this!", resp.body)
Beispiel #8
0
 def test_container3subdirz_scheme(self):
     path = '/v1/a/c3/subdirz'
     scheme = 'https'
     test_staticweb = FakeAuthFilter(
         staticweb.filter_factory({'url_base': 'https://'})(self.app))
     resp = Request.blank(path).get_response(test_staticweb)
     self.assertEqual(resp.status_int, 301)
     parsed = urlparse(resp.location)
     self.assertEqual(parsed.scheme, scheme)
     # We omit comparing netloc here, because swob is free to add port.
     self.assertEqual(parsed.path, path + '/')
Beispiel #9
0
 def test_container3subdirz_both(self):
     path = '/v1/a/c3/subdirz'
     scheme = 'http'
     netloc = 'example.com'
     test_staticweb = FakeAuthFilter(
         staticweb.filter_factory({
             'url_base': 'http://example.com'})(self.app))
     resp = Request.blank(path).get_response(test_staticweb)
     self.assertEqual(resp.status_int, 301)
     parsed = urlparse(resp.location)
     self.assertEqual(parsed.scheme, scheme)
     self.assertEqual(parsed.netloc, netloc)
     self.assertEqual(parsed.path, path + '/')
Beispiel #10
0
 def test_container3subdirz_host(self):
     path = '/v1/a/c3/subdirz'
     netloc = 'example.com'
     test_staticweb = FakeAuthFilter(
         staticweb.filter_factory({
             'url_base': '//%s' % (netloc,)})(self.app))
     resp = Request.blank(path).get_response(test_staticweb)
     self.assertEqual(resp.status_int, 301)
     parsed = urlparse(resp.location)
     # We compare scheme with the default. This may change, but unlikely.
     self.assertEqual(parsed.scheme, 'http')
     self.assertEqual(parsed.netloc, netloc)
     self.assertEqual(parsed.path, path + '/')
Beispiel #11
0
 def test_container3subdirz_host(self):
     path = '/v1/a/c3/subdirz'
     netloc = 'example.com'
     test_staticweb = FakeAuthFilter(
         staticweb.filter_factory({
             'url_base': '//%s' % (netloc,)})(self.app))
     resp = Request.blank(path).get_response(test_staticweb)
     self.assertEqual(resp.status_int, 301)
     parsed = urlparse(resp.location)
     # We compare scheme with the default. This may change, but unlikely.
     self.assertEqual(parsed.scheme, 'http')
     self.assertEqual(parsed.netloc, netloc)
     self.assertEqual(parsed.path, path + '/')
Beispiel #12
0
 def test_container3subdirz_both(self):
     path = '/v1/a/c3/subdirz'
     scheme = 'http'
     netloc = 'example.com'
     test_staticweb = FakeAuthFilter(
         staticweb.filter_factory({
             'url_base': 'http://example.com'})(self.app))
     resp = Request.blank(path).get_response(test_staticweb)
     self.assertEqual(resp.status_int, 301)
     parsed = urlparse(resp.location)
     self.assertEqual(parsed.scheme, scheme)
     self.assertEqual(parsed.netloc, netloc)
     self.assertEqual(parsed.path, path + '/')
 def test_conf_set(self):
     conf = {'blah': 1}
     sw = staticweb.filter_factory(conf)(FakeApp())
     self.assertEquals(sw.conf, conf)
 def setUp(self):
     self.app = FakeApp()
     self.test_staticweb = staticweb.filter_factory({})(self.app)
     self._orig_get_container_info = staticweb.get_container_info
     staticweb.get_container_info = mock_get_container_info
 def test_app_set(self):
     app = FakeApp()
     sw = staticweb.filter_factory({})(app)
     self.assertEquals(sw.app, app)
Beispiel #16
0
 def test_cache_timeout_unset(self):
     sw = staticweb.filter_factory({})(FakeApp())
     self.assertEquals(sw.cache_timeout, 300)
Beispiel #17
0
 def test_cache_timeout_set(self):
     sw = staticweb.filter_factory({'cache_timeout': '1'})(FakeApp())
     self.assertEquals(sw.cache_timeout, 1)
Beispiel #18
0
 def test_cache_timeout_set(self):
     sw = staticweb.filter_factory({'cache_timeout': '1'})(FakeApp())
     self.assertEquals(sw.cache_timeout, 1)
Beispiel #19
0
 def setUp(self):
     self.app = FakeApp()
     self.test_staticweb = staticweb.filter_factory({})(self.app)
Beispiel #20
0
 def test_cache_timeout_unset(self):
     sw = staticweb.filter_factory({})(FakeApp())
     self.assertEquals(sw.cache_timeout, 300)
Beispiel #21
0
 def test_conf_set(self):
     conf = {'blah': 1}
     sw = staticweb.filter_factory(conf)(FakeApp())
     self.assertEquals(sw.conf, conf)
Beispiel #22
0
 def test_app_set(self):
     app = FakeApp()
     sw = staticweb.filter_factory({})(app)
     self.assertEquals(sw.app, app)
Beispiel #23
0
 def setUp(self):
     self.test_staticweb = staticweb.filter_factory({})(FakeApp())
Beispiel #24
0
 def setUp(self):
     self.app = FakeApp()
     self.test_staticweb = staticweb.filter_factory({})(self.app)
     self._orig_get_container_info = staticweb.get_container_info
     staticweb.get_container_info = mock_get_container_info