Exemple #1
0
    def test_account_read_only_off(self):
        conf = {}

        ro = read_only.filter_factory(conf)(FakeApp())
        ro.logger = FakeLogger()

        with mock.patch('swift.common.middleware.read_only.get_info',
                        return_value={'sysmeta': {'read-only': 'false'}}):
            for method in read_methods + write_methods:
                req = Request.blank('/v/a')
                req.method = method
                resp = ro(req.environ, start_response)
                self.assertTrue(resp[0].startswith('204'))
Exemple #2
0
    def test_account_read_only_off(self):
        conf = {}

        ro = read_only.filter_factory(conf)(FakeApp())
        ro.logger = FakeLogger()

        with mock.patch('swift.common.middleware.read_only.get_info',
                        return_value={'sysmeta': {'read-only': 'false'}}):
            for method in read_methods + write_methods:
                req = Request.blank('/v/a')
                req.method = method
                resp = ro(req.environ, start_response)
                self.assertEqual(resp, [b'Some Content'])
Exemple #3
0
    def test_account_read_only_on_allow_deletes(self):
        conf = {
            'allow_deletes': 'true',
        }

        ro = read_only.filter_factory(conf)(FakeApp())
        ro.logger = FakeLogger()

        with mock.patch('swift.common.middleware.read_only.get_info',
                        return_value={'sysmeta': {'read-only': 'on'}}):
            req = Request.blank('/v/a')
            req.method = "DELETE"
            resp = ro(req.environ, start_response)
            self.assertTrue(resp[0].startswith('204'))
Exemple #4
0
    def test_account_read_only_on_allow_deletes(self):
        conf = {
            'allow_deletes': 'true',
        }

        ro = read_only.filter_factory(conf)(FakeApp())
        ro.logger = FakeLogger()

        with mock.patch('swift.common.middleware.read_only.get_info',
                        return_value={'sysmeta': {'read-only': 'on'}}):
            req = Request.blank('/v/a')
            req.method = "DELETE"
            resp = ro(req.environ, start_response)
            self.assertEqual(resp, [b'Some Content'])
Exemple #5
0
    def test_global_read_only_off_src_acct_on_dest_acct_on_on_copy(self):
        conf = {}

        ro = read_only.filter_factory(conf)(FakeApp())
        ro.logger = FakeLogger()

        with mock.patch(
                'swift.common.middleware.read_only.ReadOnlyMiddleware.' +
                'account_read_only',
                return_value='true'):
            headers = {'Destination-Account': 'b'}
            req = Request.blank('/v/a', headers=headers)
            req.method = "COPY"
            resp = ro(req.environ, start_response)
            self.assertEqual(ro_resp, resp)
Exemple #6
0
    def test_global_read_only_off(self):
        conf = {
            'read_only': 'false',
        }

        ro = read_only.filter_factory(conf)(FakeApp())
        ro.logger = FakeLogger()

        with mock.patch('swift.common.middleware.read_only.get_info',
                        return_value={}):
            for method in read_methods + write_methods:
                req = Request.blank('/v/a')
                req.method = method
                resp = ro(req.environ, start_response)
                self.assertEqual(resp, [b'Some Content'])
Exemple #7
0
    def test_global_read_only_off_src_acct_on_dest_acct_on_on_copy(self):
        conf = {}

        ro = read_only.filter_factory(conf)(FakeApp())
        ro.logger = FakeLogger()

        with mock.patch(
                'swift.common.middleware.read_only.ReadOnlyMiddleware.' +
                'account_read_only',
                return_value='true'):
            headers = {'Destination-Account': 'b'}
            req = Request.blank('/v/a', headers=headers)
            req.method = "COPY"
            resp = ro(req.environ, start_response)
            self.assertEqual(ro_resp, resp)
Exemple #8
0
    def test_global_read_only_on_allow_deletes(self):
        conf = {
            'read_only': 'true',
            'allow_deletes': 'true',
        }

        ro = read_only.filter_factory(conf)(FakeApp())
        ro.logger = FakeLogger()

        with mock.patch('swift.common.middleware.read_only.get_info',
                        return_value={}):
            req = Request.blank('/v/a')
            req.method = "DELETE"
            resp = ro(req.environ, start_response)
            self.assertEqual(resp, [b'Some Content'])
Exemple #9
0
    def test_global_read_only_off(self):
        conf = {
            'read_only': 'false',
        }

        ro = read_only.filter_factory(conf)(FakeApp())
        ro.logger = FakeLogger()

        with mock.patch('swift.common.middleware.read_only.get_info',
                        return_value={}):
            for method in read_methods + write_methods:
                req = Request.blank('/v/a')
                req.method = method
                resp = ro(req.environ, start_response)
                self.assertTrue(resp[0].startswith('204'))
Exemple #10
0
    def test_global_read_only_on_allow_deletes(self):
        conf = {
            'read_only': 'true',
            'allow_deletes': 'true',
        }

        ro = read_only.filter_factory(conf)(FakeApp())
        ro.logger = FakeLogger()

        with mock.patch('swift.common.middleware.read_only.get_info',
                        return_value={}):
            req = Request.blank('/v/a')
            req.method = "DELETE"
            resp = ro(req.environ, start_response)
            self.assertTrue(resp[0].startswith('204'))
Exemple #11
0
    def test_account_read_only_off(self):
        conf = {}

        ro = read_only.filter_factory(conf)(FakeApp())
        ro.logger = FakeLogger()

        def get_fake_read_only(*args, **kwargs):
            return {'sysmeta': {'read-only': 'false'}}

        with mock.patch('swift.common.middleware.read_only.get_info',
                        get_fake_read_only):
            for method in read_methods + write_methods:
                req = Request.blank('/v/a')
                req.method = method
                resp = ro(req.environ, start_response)
                self.assertTrue(resp[0].startswith('204'))
Exemple #12
0
    def test_account_read_only_on_allow_deletes(self):
        conf = {
            'allow_deletes': 'true',
        }

        ro = read_only.filter_factory(conf)(FakeApp())
        ro.logger = FakeLogger()

        def get_fake_read_only(*args, **kwargs):
            return {'sysmeta': {'read-only': 'on'}}

        with mock.patch('swift.common.middleware.read_only.get_info',
                        get_fake_read_only):
            req = Request.blank('/v/a')
            req.method = "DELETE"
            resp = ro(req.environ, start_response)
            self.assertTrue(resp[0].startswith('204'))
Exemple #13
0
    def test_global_read_only_off_destination_account_on_on_copy(self):
        conf = {}

        ro = read_only.filter_factory(conf)(FakeApp())
        ro.logger = FakeLogger()

        def get_fake_read_only(*args, **kwargs):
            if 'b' in args:
                return {'sysmeta': {'read-only': 'true'}}
            return {}

        with mock.patch('swift.common.middleware.read_only.get_info',
                        get_fake_read_only):
            headers = {'Destination-Account': 'b'}
            req = Request.blank('/v/a', headers=headers)
            req.method = "COPY"
            resp = ro(req.environ, start_response)
            self.assertEqual(ro_resp, resp)
Exemple #14
0
    def test_global_read_only_off_destination_account_on_on_copy(self):
        conf = {}

        ro = read_only.filter_factory(conf)(FakeApp())
        ro.logger = FakeLogger()

        def get_fake_read_only(*args, **kwargs):
            if 'b' in args:
                return {'sysmeta': {'read-only': 'true'}}
            return {}

        with mock.patch('swift.common.middleware.read_only.get_info',
                        get_fake_read_only):
            headers = {'Destination-Account': 'b'}
            req = Request.blank('/v/a', headers=headers)
            req.method = "COPY"
            resp = ro(req.environ, start_response)
            self.assertEqual(ro_resp, resp)
Exemple #15
0
    def test_global_read_only_off_src_acct_on_dest_acct_off_on_copy(self):
        conf = {}

        ro = read_only.filter_factory(conf)(FakeApp())
        ro.logger = FakeLogger()

        def fake_account_read_only(self, req, account):
            if account == 'a':
                return 'on'
            return ''

        with mock.patch(
                'swift.common.middleware.read_only.ReadOnlyMiddleware.' +
                'account_read_only', fake_account_read_only):
            headers = {'Destination-Account': 'b'}
            req = Request.blank('/v/a', headers=headers)
            req.method = "COPY"
            resp = ro(req.environ, start_response)
            self.assertTrue(resp[0].startswith('204'))
Exemple #16
0
    def test_global_read_only_off_src_acct_on_dest_acct_off_on_copy(self):
        conf = {}

        ro = read_only.filter_factory(conf)(FakeApp())
        ro.logger = FakeLogger()

        def fake_account_read_only(self, req, account):
            if account == 'a':
                return 'on'
            return ''

        with mock.patch(
                'swift.common.middleware.read_only.ReadOnlyMiddleware.' +
                'account_read_only',
                fake_account_read_only):
            headers = {'Destination-Account': 'b'}
            req = Request.blank('/v/a', headers=headers)
            req.method = "COPY"
            resp = ro(req.environ, start_response)
            self.assertTrue(resp[0].startswith('204'))