Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf7f163d

Browse files
The test suite of a probackup plugin is based on pytest
1 parent47a51a8 commitf7f163d

File tree

1 file changed

+32
-32
lines changed

1 file changed

+32
-32
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,66 @@
1-
importlogging
1+
from __future__importannotations
2+
23
importos
34
importshutil
4-
importunittest
5+
importpytest
6+
57
from ......importtestgres
68
from ...pg_probackup2.appimportProbackupApp
79
from ...pg_probackup2.init_helpersimportInit,init_params
810
from ..storage.fs_backupimportFSTestBackupDir
911

1012

11-
classTestUtils:
12-
@staticmethod
13-
defget_module_and_function_name(test_id):
14-
try:
15-
module_name=test_id.split('.')[-2]
16-
fname=test_id.split('.')[-1]
17-
exceptIndexError:
18-
logging.warning(f"Couldn't get module name and function name from test_id: `{test_id}`")
19-
module_name,fname=test_id.split('(')[1].split('.')[1],test_id.split('(')[0]
20-
returnmodule_name,fname
13+
classProbackupTest:
14+
pg_node:testgres.PostgresNode
15+
16+
@pytest.fixture(autouse=True,scope="function")
17+
defimplicit_fixture(self,request:pytest.FixtureRequest):
18+
assertisinstance(request,pytest.FixtureRequest)
19+
self.helper__setUp(request)
20+
yield
21+
self.helper__tearDown()
22+
23+
defhelper__setUp(self,request:pytest.FixtureRequest):
24+
assertisinstance(request,pytest.FixtureRequest)
2125

26+
self.helper__setup_test_environment(request)
27+
self.helper__setup_test_paths()
28+
self.helper__setup_backup_dir()
29+
self.helper__setup_probackup()
2230

23-
classProbackupTest(unittest.TestCase):
24-
defsetUp(self):
25-
self.setup_test_environment()
26-
self.setup_test_paths()
27-
self.setup_backup_dir()
28-
self.setup_probackup()
31+
defhelper__setup_test_environment(self,request:pytest.FixtureRequest):
32+
assertisinstance(request,pytest.FixtureRequest)
2933

30-
defsetup_test_environment(self):
3134
self.output=None
3235
self.cmd=None
3336
self.nodes_to_cleanup= []
34-
self.module_name,self.fname=TestUtils.get_module_and_function_name(self.id())
37+
self.module_name,self.fname=request.node.cls.__name__,request.node.name
3538
self.test_env=Init().test_env()
3639

37-
defsetup_test_paths(self):
40+
defhelper__setup_test_paths(self):
3841
self.rel_path=os.path.join(self.module_name,self.fname)
3942
self.test_path=os.path.join(init_params.tmp_path,self.rel_path)
4043
os.makedirs(self.test_path,exist_ok=True)
4144
self.pb_log_path=os.path.join(self.test_path,"pb_log")
4245

43-
defsetup_backup_dir(self):
44-
self.backup_dir=self.build_backup_dir('backup')
46+
defhelper__setup_backup_dir(self):
47+
self.backup_dir=self.helper__build_backup_dir('backup')
4548
self.backup_dir.cleanup()
4649

47-
defsetup_probackup(self):
50+
defhelper__setup_probackup(self):
4851
self.pg_node=testgres.NodeApp(self.test_path,self.nodes_to_cleanup)
4952
self.pb=ProbackupApp(self,self.pg_node,self.pb_log_path,self.test_env,
5053
auto_compress_alg='zlib',backup_dir=self.backup_dir)
5154

52-
deftearDown(self):
55+
defhelper__tearDown(self):
5356
ifos.path.exists(self.test_path):
5457
shutil.rmtree(self.test_path)
5558

56-
defbuild_backup_dir(self,backup='backup'):
59+
defhelper__build_backup_dir(self,backup='backup'):
5760
returnFSTestBackupDir(rel_path=self.rel_path,backup=backup)
5861

59-
classBasicTest(ProbackupTest):
62+
63+
classTestBasic(ProbackupTest):
6064
deftest_full_backup(self):
6165
# Setting up a simple test node
6266
node=self.pg_node.make_simple('node',pg_options={"fsync":"off","synchronous_commit":"off"})
@@ -75,8 +79,4 @@ def test_full_backup(self):
7579
out=self.pb.validate('node',backup_id)
7680

7781
# Check if the backup is valid
78-
self.assertIn(f"INFO: Backup{backup_id} is valid",out)
79-
80-
81-
if__name__=="__main__":
82-
unittest.main()
82+
assertf"INFO: Backup{backup_id} is valid"inout

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp