Skip to content

Commit 70143fc

Browse files
committed
[Issue #146] tests update
1 parent 2c1c19a commit 70143fc

File tree

4 files changed

+153
-334
lines changed

4 files changed

+153
-334
lines changed

tests/backup.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2726,7 +2726,7 @@ def test_note_sanity(self):
27262726
node.slow_start()
27272727

27282728
# FULL backup
2729-
self.backup_node(
2729+
backup_id = self.backup_node(
27302730
backup_dir, 'node', node,
27312731
options=['--stream', '--log-level-file=LOG', '--note=test_note'])
27322732

@@ -2736,5 +2736,13 @@ def test_note_sanity(self):
27362736

27372737
self.assertEqual(show_backups[0]['note'], "test_note")
27382738

2739+
self.set_backup(backup_dir, 'node', backup_id, options=['--note=none'])
2740+
2741+
backup_meta = self.show_pb(backup_dir, 'node', backup_id)
2742+
2743+
self.assertNotIn(
2744+
'note',
2745+
backup_meta)
2746+
27392747
# Clean after yourself
27402748
self.del_test_dir(module_name, fname)

tests/merge.py

Lines changed: 57 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ def test_basic_merge_full_page(self):
2222
# Initialize instance and backup directory
2323
node = self.make_simple_node(
2424
base_dir=os.path.join(module_name, fname, 'node'),
25-
initdb_params=["--data-checksums"]
26-
)
25+
initdb_params=["--data-checksums"])
2726

2827
self.init_pb(backup_dir)
2928
self.add_instance(backup_dir, "node", node)
@@ -1981,8 +1980,7 @@ def test_merge_backup_from_future(self):
19811980
base_dir=os.path.join(module_name, fname, 'node'),
19821981
set_replication=True,
19831982
initdb_params=['--data-checksums'],
1984-
pg_options={
1985-
'autovacuum': 'off'})
1983+
pg_options={'autovacuum': 'off'})
19861984

19871985
backup_dir = os.path.join(self.tmp_path, module_name, fname, 'backup')
19881986
self.init_pb(backup_dir)
@@ -2384,5 +2382,60 @@ def test_idempotent_merge(self):
23842382

23852383
self.del_test_dir(module_name, fname)
23862384

2385+
def test_merge_correct_inheritance(self):
2386+
"""
2387+
Make sure that backup metainformation fields
2388+
'note' and 'expire-time' are correctly inherited
2389+
during merge
2390+
"""
2391+
fname = self.id().split('.')[3]
2392+
backup_dir = os.path.join(self.tmp_path, module_name, fname, 'backup')
2393+
node = self.make_simple_node(
2394+
base_dir=os.path.join(module_name, fname, 'node'),
2395+
set_replication=True,
2396+
initdb_params=['--data-checksums'],
2397+
pg_options={'autovacuum': 'off'})
2398+
2399+
self.init_pb(backup_dir)
2400+
self.add_instance(backup_dir, 'node', node)
2401+
self.set_archiving(backup_dir, 'node', node)
2402+
node.slow_start()
2403+
2404+
# add database
2405+
node.safe_psql(
2406+
'postgres',
2407+
'CREATE DATABASE testdb')
2408+
2409+
# take FULL backup
2410+
self.backup_node(backup_dir, 'node', node, options=['--stream'])
2411+
2412+
# create database
2413+
node.safe_psql(
2414+
'postgres',
2415+
'create DATABASE testdb1')
2416+
2417+
# take PAGE backup
2418+
page_id = self.backup_node(
2419+
backup_dir, 'node', node, backup_type='page')
2420+
2421+
self.set_backup(
2422+
backup_dir, 'node', page_id, options=['--note=hello', '--ttl=20d'])
2423+
2424+
page_meta = self.show_pb(backup_dir, 'node', page_id)
2425+
2426+
self.merge_backup(backup_dir, 'node', page_id)
2427+
2428+
print(self.show_pb(backup_dir, 'node', page_id))
2429+
2430+
self.assertEqual(
2431+
page_meta['note'],
2432+
self.show_pb(backup_dir, 'node', page_id)['note'])
2433+
2434+
self.assertEqual(
2435+
page_meta['expire-time'],
2436+
self.show_pb(backup_dir, 'node', page_id)['expire-time'])
2437+
2438+
self.del_test_dir(module_name, fname)
2439+
23872440
# 1. Need new test with corrupted FULL backup
23882441
# 2. different compression levels

0 commit comments

Comments
 (0)