11import os
22import unittest
3- from .helpers .ptrack_helpers import ProbackupTest
3+ from .helpers .ptrack_helpers import ProbackupTest , ProbackupException
44
55
66module_name = 'show'
@@ -14,7 +14,8 @@ def test_show_1(self):
1414 """Status DONE and OK"""
1515 fname = self .id ().split ('.' )[3 ]
1616 backup_dir = os .path .join (self .tmp_path , module_name , fname , 'backup' )
17- node = self .make_simple_node (base_dir = "{0}/{1}/node" .format (module_name , fname ),
17+ node = self .make_simple_node (
18+ base_dir = "{0}/{1}/node" .format (module_name , fname ),
1819 initdb_params = ['--data-checksums' ],
1920 pg_options = {'wal_level' : 'replica' }
2021 )
@@ -25,7 +26,9 @@ def test_show_1(self):
2526 node .start ()
2627
2728 self .assertEqual (
28- self .backup_node (backup_dir , 'node' , node , options = ["--log-level-console=panic" ]),
29+ self .backup_node (
30+ backup_dir , 'node' , node ,
31+ options = ["--log-level-console=panic" ]),
2932 None
3033 )
3134 self .assertIn ("OK" , self .show_pb (backup_dir , 'node' , as_text = True ))
@@ -38,7 +41,8 @@ def test_corrupt_2(self):
3841 """Status CORRUPT"""
3942 fname = self .id ().split ('.' )[3 ]
4043 backup_dir = os .path .join (self .tmp_path , module_name , fname , 'backup' )
41- node = self .make_simple_node (base_dir = "{0}/{1}/node" .format (module_name , fname ),
44+ node = self .make_simple_node (
45+ base_dir = "{0}/{1}/node" .format (module_name , fname ),
4246 initdb_params = ['--data-checksums' ],
4347 pg_options = {'wal_level' : 'replica' }
4448 )
@@ -51,10 +55,28 @@ def test_corrupt_2(self):
5155 backup_id = self .backup_node (backup_dir , 'node' , node )
5256
5357 # delete file which belong to backup
54- file = os .path .join (backup_dir , "backups" , "node" , backup_id , "database" , "postgresql.conf" )
58+ file = os .path .join (
59+ backup_dir , "backups" , "node" ,
60+ backup_id , "database" , "postgresql.conf" )
5561 os .remove (file )
5662
57- self .validate_pb (backup_dir , 'node' , backup_id )
63+ try :
64+ self .validate_pb (backup_dir , 'node' , backup_id )
65+ # we should die here because exception is what we expect to happen
66+ self .assertEqual (
67+ 1 , 0 ,
68+ "Expecting Error because backup corrupted.\n "
69+ " Output: {0} \n CMD: {1}" .format (
70+ repr (self .output ), self .cmd
71+ )
72+ )
73+ except ProbackupException as e :
74+ self .assertIn (
75+ 'data files are corrupted\n ' ,
76+ e .message ,
77+ '\n Unexpected Error Message: {0}\n '
78+ ' CMD: {1}' .format (repr (e .message ), self .cmd )
79+ )
5880 self .assertIn ("CORRUPT" , self .show_pb (backup_dir , as_text = True ))
5981
6082 # Clean after yourself
0 commit comments