
From the related change of ECDuplication, Swift have a couple of Test classes for EC policy, normal EC and EC Duplication, in the test/unit/proxy/test_server.py. To enable the classes, the related change abstracts the EC test cases as the ECTestMixin class to gather test methods into one place but it was worse because TestObjectController did still have both test cases for replication and for ec that may be hard to understand the test class structure. Hence, this patch attempts to refactor the structure as From: ECTestMixin | ------------------------------------- | | TestObjectController TestObjectControllerECDuplication (for replication and EC) (for EC Duplication Policy) To: BaseTestObjectController | -------------------------------------- | | TestReplicatedObjectController BaseTestECObjectController (for replication) | --------------------------------- | | TestECObjectController TestECDuplicationObjectController (for EC policy) (for EC Duplication Policy) Some more cleanups are in follow up patches because this patch shows a lot of moving code chunks which could be hard to compare the diff. To make the review easy, this patch forcus on ONLY the structure changes as possible. Related-Change: Idd155401982a2c48110c30b480966a863f6bd305 Related-Change: I25a3f8fc837706d78dca226fe282d9e5ead65a0d Change-Id: Ifd3d0fa66773e640bb61cc528f7a1b2358e97d91
80 lines
1.8 KiB
Python
80 lines
1.8 KiB
Python
# Copyright (c) 2010-2013 OpenStack, LLC.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
# implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
import unittest
|
|
|
|
from test.unit.proxy import test_server
|
|
from test.unit.proxy.test_server import teardown
|
|
|
|
from swift.obj import mem_server
|
|
|
|
|
|
def setup():
|
|
test_server.do_setup(mem_server)
|
|
|
|
|
|
class TestController(test_server.TestController):
|
|
pass
|
|
|
|
|
|
class TestProxyServer(test_server.TestProxyServer):
|
|
pass
|
|
|
|
|
|
class TestReplicatedObjectController(
|
|
test_server.TestReplicatedObjectController):
|
|
def test_PUT_no_etag_fallocate(self):
|
|
# mem server doesn't call fallocate(), believe it or not
|
|
pass
|
|
|
|
# these tests all go looking in the filesystem
|
|
def test_policy_IO(self):
|
|
pass
|
|
|
|
|
|
class TestECObjectController(test_server.TestECObjectController):
|
|
def test_PUT_ec(self):
|
|
pass
|
|
|
|
def test_PUT_ec_multiple_segments(self):
|
|
pass
|
|
|
|
def test_PUT_ec_fragment_archive_etag_mismatch(self):
|
|
pass
|
|
|
|
def test_reload_ring_ec(self):
|
|
pass
|
|
|
|
|
|
class TestContainerController(test_server.TestContainerController):
|
|
pass
|
|
|
|
|
|
class TestAccountController(test_server.TestAccountController):
|
|
pass
|
|
|
|
|
|
class TestAccountControllerFakeGetResponse(
|
|
test_server.TestAccountControllerFakeGetResponse):
|
|
pass
|
|
|
|
|
|
if __name__ == '__main__':
|
|
setup()
|
|
try:
|
|
unittest.main()
|
|
finally:
|
|
teardown()
|