IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Oct 22, 2019, 2:30:49 PM (7 years ago)
Author:
fairlamb
Message:

fixed calling as main + tests, removed argsparse from most

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ipp-259_genericise_backups/tools/backups/svn_backup_test.py

    r40958 r40962  
    33from pathlib import Path
    44
    5 import backups.backup as bckup
    6 from backups.svn_backup import SvnBackup
    7 from backups.utils.config_parse_helper import ConfigSchema
     5import svn_backup as svnbck_mod
     6import backup as bckup
     7from backup import DEFAULT_SCHEMA_SECTION, COPY_SCHEMA_SECTION, RSYNC_SCHEMA_SECTION
     8from svn_backup import SvnBackup
     9from utils.config_parse_helper import ConfigSchema
    810
    911SVN_TEST_CONFIG = os.path.join(os.path.dirname(__file__), './testing/svn_test.config')
     
    2729            }
    2830        assert sb.rsync_dict == \
    29             { 'sources' : ['/svnroot']
     31            { 'sources' : ['/export/ippops4.0/svnroot']
    3032            , 'additional_args' : ['-a', '--delete-after']
    3133            }
     
    6870        # Setup Schema
    6971        schema = ConfigSchema(None)
    70         schema.add_section(bckup.DEFAULT_SCHEMA_SECTION)
    71         schema.add_section(bckup.COPY_SCHEMA_SECTION)
     72        schema.add_section(DEFAULT_SCHEMA_SECTION)
     73        schema.add_section(COPY_SCHEMA_SECTION)
    7274
    7375        # check that the rsync is successful (with options)
     
    8183        assert os.path.exists(expected_file_bck1)
    8284        assert os.path.exists(expected_file_bck2)
     85
     86
     87class TestFullRunFromMain(object):
     88
     89    def test_main_loads_and_runs_fine_when_given_config(self, tmpdir):
     90        config = configparser.ConfigParser()
     91        bpath1 = os.path.join(tmpdir, "path/1")
     92        bpath2 = os.path.join(tmpdir, "path/2")
     93        config['DEFAULT'] = \
     94            { 'backup_paths' :  f"{bpath1}, {bpath2}"
     95            , 'source_machine' : 'rocket'
     96            , 'verbose' : 'True'
     97            }
     98        copy_source = os.path.join(tmpdir, "copy/source")
     99        svn_conf_file = "dav_svn.conf"
     100        config['COPY'] = \
     101            { 'sources' : f'{copy_source}/{svn_conf_file}'
     102            }
     103        tar_source =  os.path.join(tmpdir, "tar/source")
     104        config['TAR'] = \
     105            { 'sources' : f"{tar_source}"
     106            , 'additional_args' : "--verbose -z -p -cf"
     107            , 'target_filename' : 'svnroot.tar.gz'
     108            , 'prefix_date' : 'False'
     109            }
     110        os.makedirs(bpath1)
     111        os.makedirs(bpath2)
     112        os.makedirs(copy_source)
     113        os.makedirs(tar_source)
     114        Path(os.path.join(copy_source, svn_conf_file)).touch()
     115
     116        schema = ConfigSchema(None)
     117        schema.add_section(bckup.DEFAULT_SCHEMA_SECTION)
     118        schema.add_section(bckup.COPY_SCHEMA_SECTION)
     119        schema.add_section(bckup.TAR_SCHEMA_SECTION)
     120
     121        svnbck_mod.main(config, schema)
     122        assert True is True
    83123
    84124
     
    124164        # Setup Schema
    125165        schema = ConfigSchema(None)
    126         schema.add_section(bckup.DEFAULT_SCHEMA_SECTION)
    127         schema.add_section(bckup.RSYNC_SCHEMA_SECTION)
     166        schema.add_section(DEFAULT_SCHEMA_SECTION)
     167        schema.add_section(RSYNC_SCHEMA_SECTION)
    128168
    129169        # check that the rsync is successful (with options)
Note: See TracChangeset for help on using the changeset viewer.