- Timestamp:
- Oct 18, 2019, 10:35:56 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ipp-259_genericise_backups/tools/backups/backup_test.py
r40945 r40949 8 8 import backups.utils.errors as errs 9 9 from backups.backup import Backup 10 10 from backups.utils.config_parse_helper import ConfigSchema 11 11 12 12 TEST_DEFAULT_CONFIG_FILE = os.path.join(os.path.dirname(__file__), 'testing/backup_test.config') … … 92 92 def test_loading_only_defaults(self, tmpdir): 93 93 config = make_default_config(tmpdir, ['bck1', 'bck2'], False) 94 backy = Backup(config_file=config) 94 schema = ConfigSchema(None) 95 schema.add_section(bckup.DEFAULT_SCHEMA_SECTION) 96 backy = Backup(config, schema) 95 97 96 98 assert backy.default_dict['backup_paths'] == \ … … 117 119 def test_nothing_should_be_set_to_run_if_not_present(self, tmpdir): 118 120 config = make_default_config(tmpdir, ['bck1', 'bck2'], False) 119 backy = Backup(config_file=config) 120 121 assert backy.run_copy is False 122 assert backy.run_tar is False 123 assert backy.run_rsync is False 124 assert backy.run_mysqldump is False 121 schema = ConfigSchema(None) 122 schema.add_section(bckup.DEFAULT_SCHEMA_SECTION) 123 backy = Backup(config, schema) 124 125 assert backy.should_run_copy is False 126 assert backy.should_run_tar is False 127 assert backy.should_run_rsync is False 128 assert backy.should_run_mysqldump is False 125 129 126 130 def test_hostname_assertion_fails(self, tmpdir): 127 131 config = make_default_config(tmpdir, ['bck1', 'bck2']) 128 backy = Backup(config_file=config) 132 schema = ConfigSchema(None) 133 schema.add_section(bckup.DEFAULT_SCHEMA_SECTION) 134 backy = Backup(config, schema) 129 135 130 136 backy.default_dict['source_machine'] = 'not_a_real_hostname' … … 133 139 def test_hostname_assertion_passes(self, tmpdir): 134 140 config = make_default_config(tmpdir, ['bck1', 'bck2']) 135 backy = Backup(config_file=config) 141 schema = ConfigSchema(None) 142 schema.add_section(bckup.DEFAULT_SCHEMA_SECTION) 143 backy = Backup(config, schema) 136 144 137 145 actual_hostname = socket.gethostname() … … 168 176 , 'verbose' : 'True' 169 177 } 178 schema = ConfigSchema(None) 179 schema.add_section(bckup.DEFAULT_SCHEMA_SECTION) 170 180 bck1_path = os.path.join(tmpdir, 'bck1') 171 181 bck1b_path = os.path.join(tmpdir, 'bck1/bobby') … … 177 187 assert not os.path.exists(bck2_path) 178 188 # backup dirs not created automatically 179 Backup(config )189 Backup(config, schema) 180 190 assert not os.path.exists(bck1_path) 181 191 assert not os.path.exists(bck1b_path) … … 190 200 , 'make_dirs' : 'True' 191 201 } 192 backy = Backup(config )202 backy = Backup(config, schema) 193 203 assert backy.default_dict['make_dirs'] is True 194 204 assert os.path.exists(bck1_path) … … 204 214 source = os.path.join(tmpdir, "and_specific_file.jpeg") 205 215 config['COPY'] = {'sources' : f"{source}"} 216 schema = ConfigSchema(None) 217 schema.add_section(bckup.DEFAULT_SCHEMA_SECTION) 218 schema.add_section(bckup.COPY_SCHEMA_SECTION) 206 219 207 220 # make file to be copied 208 221 Path(source).touch() 209 222 210 backy = Backup(config) 223 backy = Backup(config, schema) 224 assert backy.should_run_copy is True 211 225 212 226 expected1file = os.path.join(tmpdir, 'bck1', 'and_specific_file.jpeg') … … 226 240 , 'additional_args' : "-v --preserve -r" 227 241 } 242 schema = ConfigSchema(None) 243 schema.add_section(bckup.DEFAULT_SCHEMA_SECTION) 244 schema.add_section(bckup.COPY_SCHEMA_SECTION) 228 245 229 246 os.makedirs(source1) 230 247 Path(source2).touch() 231 248 232 backy = Backup(config )249 backy = Backup(config, schema) 233 250 234 251 expected1dir = os.path.join(tmpdir, 'bck1', 'some_dir') … … 253 270 , 'additional_args' : '-r' 254 271 } 272 schema = ConfigSchema(None) 273 schema.add_section(bckup.DEFAULT_SCHEMA_SECTION) 274 schema.add_section(bckup.COPY_SCHEMA_SECTION) 255 275 256 276 assert not os.path.exists(source) 257 backy = Backup(config )277 backy = Backup(config, schema) 258 278 with pytest.raises(errs.ValidationError): 259 279 backy._run_copy() … … 271 291 Path(source).touch() 272 292 config['COPY'] = {'sources' : f"{source}"} 293 schema = ConfigSchema(None) 294 schema.add_section(bckup.DEFAULT_SCHEMA_SECTION) 295 schema.add_section(bckup.COPY_SCHEMA_SECTION) 273 296 274 297 assert not os.path.exists(backup_does_not_exist) 275 backy = Backup(config )298 backy = Backup(config, schema) 276 299 with pytest.raises(errs.ValidationError): 277 300 backy._run_copy() … … 284 307 } 285 308 os.makedirs(source) 309 schema = ConfigSchema(None) 310 schema.add_section(bckup.DEFAULT_SCHEMA_SECTION) 311 schema.add_section(bckup.COPY_SCHEMA_SECTION) 286 312 287 313 with pytest.raises(errs.SubprocessError): 288 backy = Backup(config )314 backy = Backup(config, schema) 289 315 backy._run_copy() 290 316 … … 293 319 , 'additional_args' : '-r' 294 320 } 295 backy = Backup(config )321 backy = Backup(config, schema) 296 322 297 323 expected1dir = os.path.join(tmpdir, 'bck1', 'some_dir') … … 320 346 } 321 347 322 backy = Backup(config) 348 schema = ConfigSchema(None) 349 schema.add_section(bckup.DEFAULT_SCHEMA_SECTION) 350 schema.add_section(bckup.TAR_SCHEMA_SECTION) 351 352 backy = Backup(config, schema) 323 353 324 354 expected_tar1 = os.path.join(tmpdir, 'bck1', 'cool_tar.tar') … … 344 374 } 345 375 346 backy = Backup(config) 376 schema = ConfigSchema(None) 377 schema.add_section(bckup.DEFAULT_SCHEMA_SECTION) 378 schema.add_section(bckup.TAR_SCHEMA_SECTION) 379 380 backy = Backup(config, schema) 381 assert backy.should_run_tar is True 347 382 348 383 date = bckup.get_date() … … 363 398 source = os.path.join(tmpdir, "and_specific_file.jpeg") 364 399 config['RSYNC'] = {'sources' : f"{source}"} 365 366 400 # make file to be copied 367 401 Path(source).touch() 368 402 369 backy = Backup(config) 403 schema = ConfigSchema(None) 404 schema.add_section(bckup.DEFAULT_SCHEMA_SECTION) 405 schema.add_section(bckup.RSYNC_SCHEMA_SECTION) 406 407 backy = Backup(config, schema) 370 408 371 409 expected1file = os.path.join(tmpdir, 'bck1', 'and_specific_file.jpeg') … … 389 427 Path(source2).touch() 390 428 391 backy = Backup(config) 429 schema = ConfigSchema(None) 430 schema.add_section(bckup.DEFAULT_SCHEMA_SECTION) 431 schema.add_section(bckup.RSYNC_SCHEMA_SECTION) 432 433 backy = Backup(config, schema) 392 434 393 435 expected1dir = os.path.join(tmpdir, 'bck1', 'some_dir') … … 413 455 } 414 456 457 schema = ConfigSchema(None) 458 schema.add_section(bckup.DEFAULT_SCHEMA_SECTION) 459 schema.add_section(bckup.RSYNC_SCHEMA_SECTION) 460 415 461 assert not os.path.exists(source) 416 backy = Backup(config )462 backy = Backup(config, schema) 417 463 with pytest.raises(errs.ValidationError): 418 464 backy._run_rsync() … … 431 477 config['RSYNC'] = {'sources' : f"{source}"} 432 478 479 schema = ConfigSchema(None) 480 schema.add_section(bckup.DEFAULT_SCHEMA_SECTION) 481 schema.add_section(bckup.RSYNC_SCHEMA_SECTION) 482 433 483 assert not os.path.exists(backup_does_not_exist) 434 backy = Backup(config )484 backy = Backup(config, schema) 435 485 with pytest.raises(errs.ValidationError): 436 486 backy._run_rsync() … … 444 494 os.makedirs(source) 445 495 446 backy = Backup(config) 496 schema = ConfigSchema(None) 497 schema.add_section(bckup.DEFAULT_SCHEMA_SECTION) 498 schema.add_section(bckup.RSYNC_SCHEMA_SECTION) 499 500 backy = Backup(config, schema) 501 447 502 expected1dir = os.path.join(tmpdir, 'bck1', 'some_dir') 448 503 expected2dir = os.path.join(tmpdir, 'bck2', 'some_dir') … … 458 513 } 459 514 460 backy = Backup(config )515 backy = Backup(config, schema) 461 516 expected1dir = os.path.join(tmpdir, 'bck1', 'some_dir') 462 517 expected2dir = os.path.join(tmpdir, 'bck2', 'some_dir') … … 491 546 } 492 547 493 backy = Backup(config) 548 schema = ConfigSchema(None) 549 schema.add_section(bckup.DEFAULT_SCHEMA_SECTION) 550 schema.add_section(bckup.MYSQLDUMP_SCHEMA_SECTION) 551 552 backy = Backup(config, schema) 553 assert backy.should_run_mysqldump is True 494 554 495 555 date = bckup.get_date() … … 515 575 } 516 576 517 backy = Backup(config) 577 schema = ConfigSchema(None) 578 schema.add_section(bckup.DEFAULT_SCHEMA_SECTION) 579 schema.add_section(bckup.MYSQLDUMP_SCHEMA_SECTION) 580 581 backy = Backup(config, schema) 518 582 with pytest.raises(errs.SubprocessError): 519 583 backy._run_mysqldump()
Note:
See TracChangeset
for help on using the changeset viewer.
