Index: /branches/ipp-259_genericise_backups/tools/backups/backup.py
===================================================================
--- /branches/ipp-259_genericise_backups/tools/backups/backup.py	(revision 40944)
+++ /branches/ipp-259_genericise_backups/tools/backups/backup.py	(revision 40945)
@@ -10,5 +10,5 @@
 import backups.utils.errors as errs
 import backups.utils.subprocess_utils as sub_utils
-from backups.utils.config_parse_helper import ConfigSchema, ConfigSchemaLine
+from backups.utils.config_parse_helper import ConfigSchemaSection, ConfigSchemaLine
 
 DEFAULT_CONFIG_FILE = path.join(path.dirname(__file__), 'atlassian_backups.config')
@@ -68,5 +68,5 @@
         return self.run_mysqldump
 
-    DEFAULT_SCHEMA = ConfigSchema('DEFAULT',
+    DEFAULT_SCHEMA = ConfigSchemaSection('DEFAULT',
         [ ConfigSchemaLine('backup_paths', True, list, cfg_help.SpecialSchemaProcessing.commma_separated)
         , ConfigSchemaLine('source_machine', True, str)
@@ -76,10 +76,10 @@
     )
 
-    def read_default_section(self, config: ConfigParser, schema: ConfigSchema=DEFAULT_SCHEMA):
+    def read_default_section(self, config: ConfigParser, schema: ConfigSchemaSection=DEFAULT_SCHEMA):
         self.default_dict = cfg_help.parse_config(config, schema)
         self.hostname_is_valid()
         self.maybe_make_backup_dirs()
 
-    COPY_SCHEMA = ConfigSchema('COPY',
+    COPY_SCHEMA = ConfigSchemaSection('COPY',
         [ ConfigSchemaLine('sources', True, list, cfg_help.SpecialSchemaProcessing.commma_separated)
         , ConfigSchemaLine('additional_args', False, list, cfg_help.SpecialSchemaProcessing.space_separated)
@@ -87,8 +87,8 @@
     )
 
-    def read_copy_config_section(self, config: ConfigParser, schema: ConfigSchema=COPY_SCHEMA):
+    def read_copy_config_section(self, config: ConfigParser, schema: ConfigSchemaSection=COPY_SCHEMA):
         self.copy_dict = cfg_help.parse_config(config, schema)
 
-    TAR_SCHEMA = ConfigSchema('TAR',
+    TAR_SCHEMA = ConfigSchemaSection('TAR',
         [ ConfigSchemaLine('sources', True, list, cfg_help.SpecialSchemaProcessing.commma_separated)
         , ConfigSchemaLine('additional_args', False, list, cfg_help.SpecialSchemaProcessing.space_separated)
@@ -98,8 +98,8 @@
     )
 
-    def read_tar_config_section(self, config: ConfigParser, schema: ConfigSchema=TAR_SCHEMA):
+    def read_tar_config_section(self, config: ConfigParser, schema: ConfigSchemaSection=TAR_SCHEMA):
         self.tar_dict = cfg_help.parse_config(config, schema)
 
-    RSYNC_SCHEMA = ConfigSchema('RSYNC',
+    RSYNC_SCHEMA = ConfigSchemaSection('RSYNC',
         [ ConfigSchemaLine('sources', True, list, cfg_help.SpecialSchemaProcessing.commma_separated)
         , ConfigSchemaLine('additional_args', False, list, cfg_help.SpecialSchemaProcessing.space_separated)
@@ -107,8 +107,8 @@
     )
 
-    def read_rsync_config_section(self, config: ConfigParser, schema: ConfigSchema=RSYNC_SCHEMA):
+    def read_rsync_config_section(self, config: ConfigParser, schema: ConfigSchemaSection=RSYNC_SCHEMA):
         self.rsync_dict = cfg_help.parse_config(config, schema)
 
-    MYSQLDUMP_SCHEMA = ConfigSchema('MYSQLDUMP',
+    MYSQLDUMP_SCHEMA = ConfigSchemaSection('MYSQLDUMP',
         [ ConfigSchemaLine('user', True, str)
         , ConfigSchemaLine('password', True, str)
@@ -120,5 +120,5 @@
     )
 
-    def read_mysqldump_config_section(self, config: ConfigParser, schema: ConfigSchema=MYSQLDUMP_SCHEMA):
+    def read_mysqldump_config_section(self, config: ConfigParser, schema: ConfigSchemaSection=MYSQLDUMP_SCHEMA):
         self.mysqldump_dict = cfg_help.parse_config(config, schema)
 
Index: /branches/ipp-259_genericise_backups/tools/backups/backup_test.py
===================================================================
--- /branches/ipp-259_genericise_backups/tools/backups/backup_test.py	(revision 40944)
+++ /branches/ipp-259_genericise_backups/tools/backups/backup_test.py	(revision 40945)
@@ -10,5 +10,5 @@
 
 
-TEST_DEFAULT_CONFIG_FILE = os.path.join(os.path.dirname(__file__), 'testing/full_backup_config.config')
+TEST_DEFAULT_CONFIG_FILE = os.path.join(os.path.dirname(__file__), 'testing/backup_test.config')
 
 
Index: /branches/ipp-259_genericise_backups/tools/backups/testing/backup_test.config
===================================================================
--- /branches/ipp-259_genericise_backups/tools/backups/testing/backup_test.config	(revision 40945)
+++ /branches/ipp-259_genericise_backups/tools/backups/testing/backup_test.config	(revision 40945)
@@ -0,0 +1,34 @@
+[DEFAULT]
+backup_paths =  /export/ippops4.0/atlassian_backups,
+    /data/ippops3.0/atlassian_backups,
+    /data/ippops5.0/atlassian_backups
+source_machine = hostname_of_computer
+verbose = True
+
+[COPY]
+sources = /some_dir_to_copy_from/,
+          /some_dir/and_specific_file.jpeg
+additional_args = -v
+
+[TAR]
+sources = /this_dir/,
+          /another_dir/,
+          /and_a_couple_files/subdir/file1.txt,
+          /and_a_couple_files/subdir/file2.png,
+          /and_a_couple_files/subdir/file3.pdf
+additional_args = --verbose -z -p
+target_filename = cool_tar
+prefix_date = True
+
+
+[RSYNC]
+sources = /dir/to/sync
+additional_args = --progress -r
+
+[MYSQLDUMP]
+user = dumper
+password = not_a_real_password
+db_name = jiradb
+additional_args =
+target_filename = itsa_mysqldump
+prefix_date = True
Index: /branches/ipp-259_genericise_backups/tools/backups/utils/config_parse_helper.py
===================================================================
--- /branches/ipp-259_genericise_backups/tools/backups/utils/config_parse_helper.py	(revision 40944)
+++ /branches/ipp-259_genericise_backups/tools/backups/utils/config_parse_helper.py	(revision 40945)
@@ -35,5 +35,5 @@
 
 
-class ConfigSchema():
+class ConfigSchemaSection():
     """Defines a schema to be used. Consists of a single section name and
 multiple config lines"""
@@ -76,5 +76,5 @@
 
 
-def parse_config(config: ConfigParser(), schema: ConfigSchema) -> dict:
+def parse_config(config: ConfigParser(), schema: ConfigSchemaSection) -> dict:
     """For a given config it will extract all values defined by the schema
 and return them as a dictionary of the keys and the assoicated value as the
Index: /branches/ipp-259_genericise_backups/tools/backups/utils/config_parse_helper_test.py
===================================================================
--- /branches/ipp-259_genericise_backups/tools/backups/utils/config_parse_helper_test.py	(revision 40944)
+++ /branches/ipp-259_genericise_backups/tools/backups/utils/config_parse_helper_test.py	(revision 40945)
@@ -41,5 +41,5 @@
 
 
-class TestConfigSchema():
+class TestConfigSchemaSection():
 
     def test_initalising_schema(self):
@@ -48,5 +48,5 @@
         csl3 = helper.ConfigSchemaLine('some_float', False, float)
 
-        schema = helper.ConfigSchema( 'section_name', [csl1, csl2, csl3] )
+        schema = helper.ConfigSchemaSection( 'section_name', [csl1, csl2, csl3] )
         assert schema.options == { 'is_cool' : csl1
                                  , 'fav_word' : csl2
@@ -54,18 +54,18 @@
                                  }
 
-    def test_empty_schema_ok(self):
-        helper.ConfigSchema("ok_with_none", None)
-        helper.ConfigSchema("ok_with_empty", [])
-
-    def test_schema_fails_if_options_are_not_a_list(self):
+    def test_empty_schema_section_ok(self):
+        helper.ConfigSchemaSection("ok_with_none", None)
+        helper.ConfigSchemaSection("ok_with_empty", [])
+
+    def test_schema_section_fails_if_options_are_not_a_list(self):
         with pytest.raises(ValidationError):
-            helper.ConfigSchema("fails_if_not_a_list", True)
+            helper.ConfigSchemaSection("fails_if_not_a_list", True)
 
         csl = helper.ConfigSchemaLine('key1', True, bool)
         with pytest.raises(ValidationError):
-            helper.ConfigSchema("even_fails_on_a_single_csl", csl)
+            helper.ConfigSchemaSection("even_fails_on_a_single_csl", csl)
 
     def test_adding_to_schema(self):
-        config = helper.ConfigSchema("adding", [])
+        config = helper.ConfigSchemaSection("adding", [])
         assert config.options == {}
 
@@ -88,5 +88,5 @@
 
     def test_adding_a_duplicate_key_to_schema_replaces_previous(self):
-        config = helper.ConfigSchema("adding", [])
+        config = helper.ConfigSchemaSection("adding", [])
         assert config.options == {}
 
@@ -153,49 +153,49 @@
 
         csl1 = helper.ConfigSchemaLine('Required_key', True, bool)
-        schema = helper.ConfigSchema('DEFAULT', [csl1] )
+        schema = helper.ConfigSchemaSection('DEFAULT', [csl1] )
 
         with pytest.raises(ConfigError):
             helper.parse_config(config, schema)
 
-    def test_schema_of_only_optional_values_is_ok(self):
+    def test_schema_section_with_only_optional_values_is_ok(self):
         csl1 = helper.ConfigSchemaLine('not_required', False, bool)
         csl2 = helper.ConfigSchemaLine('not_required_either', False, float)
-        schema = helper.ConfigSchema('DEFAULT', [csl1, csl2] )
+        schema = helper.ConfigSchemaSection('DEFAULT', [csl1, csl2] )
         config = self.make_simple_config()
         result = helper.parse_config(config, schema)
         assert result == {}
 
-    def test_parsing_schema_with_ints(self):
+    def test_parsing_schema_section_with_ints(self):
         csl1 = helper.ConfigSchemaLine('inty', False, int)
-        schema = helper.ConfigSchema('DEFAULT', [csl1] )
+        schema = helper.ConfigSchemaSection('DEFAULT', [csl1] )
         config = self.make_simple_config()
         result = helper.parse_config(config, schema)
         assert result == { 'inty' : 3}
 
-    def test_parsing_schema_with_floats(self):
+    def test_parsing_schema_section_with_floats(self):
         csl1 = helper.ConfigSchemaLine('floaty', False, float)
-        schema = helper.ConfigSchema('DEFAULT', [csl1] )
+        schema = helper.ConfigSchemaSection('DEFAULT', [csl1] )
         config = self.make_simple_config()
         result = helper.parse_config(config, schema)
         assert result == { 'floaty' : 3.141 }
 
-    def test_parsing_schema_with_bools(self):
+    def test_parsing_schema_section_with_bools(self):
         csl1 = helper.ConfigSchemaLine('mr_bool', True, bool)
-        schema = helper.ConfigSchema('DEFAULT', [csl1] )
+        schema = helper.ConfigSchemaSection('DEFAULT', [csl1] )
         config = self.make_simple_config()
         result = helper.parse_config(config, schema)
         assert result == { 'mr_bool' : True }
 
-    def test_parsing_schema_with_strs(self):
+    def test_parsing_schema_section_with_strs(self):
         csl1 = helper.ConfigSchemaLine('stringer', True, str)
-        schema = helper.ConfigSchema('DEFAULT', [csl1] )
+        schema = helper.ConfigSchemaSection('DEFAULT', [csl1] )
         config = self.make_simple_config()
         result = helper.parse_config(config, schema)
         assert result == { 'stringer' : 'bell' }
 
-    def test_parsing_schema_with_lists_comma_separated(self):
+    def test_parsing_schema_section_with_lists_comma_separated(self):
         csl1 = helper.ConfigSchemaLine('listo_comma', False, list,
             helper.SpecialSchemaProcessing.commma_separated)
-        schema = helper.ConfigSchema('DEFAULT', [csl1] )
+        schema = helper.ConfigSchemaSection('DEFAULT', [csl1] )
         config = self.make_simple_config()
         result = helper.parse_config(config, schema)
@@ -207,8 +207,8 @@
                          }
 
-    def test_parsing_schema_with_lists_space_separated(self):
+    def test_parsing_schema_section_with_lists_space_separated(self):
         csl1 = helper.ConfigSchemaLine('listo_space', False, list,
             helper.SpecialSchemaProcessing.space_separated)
-        schema = helper.ConfigSchema('DEFAULT', [csl1] )
+        schema = helper.ConfigSchemaSection('DEFAULT', [csl1] )
         config = self.make_simple_config()
         result = helper.parse_config(config, schema)
@@ -231,30 +231,30 @@
             helper.SpecialSchemaProcessing.commma_separated)
 
-        schema = helper.ConfigSchema('DEFAULT', [csl_float])
+        schema = helper.ConfigSchemaSection('DEFAULT', [csl_float])
         result = helper.parse_config(config, schema)
         assert result == { 'floaty' : 3.141 }
         assert type(result['floaty']) is float
 
-        schema = helper.ConfigSchema('DEFAULT', [csl_int])
+        schema = helper.ConfigSchemaSection('DEFAULT', [csl_int])
         with pytest.raises(ValueError):
             helper.parse_config(config, schema)
 
-        schema = helper.ConfigSchema('DEFAULT', [csl_bool])
+        schema = helper.ConfigSchemaSection('DEFAULT', [csl_bool])
         with pytest.raises(ValueError):
             helper.parse_config(config, schema)
 
-        schema = helper.ConfigSchema('DEFAULT', [csl_str])
+        schema = helper.ConfigSchemaSection('DEFAULT', [csl_str])
         result = helper.parse_config(config, schema)
         assert result == { 'floaty' : '3.141' }
         assert type(result['floaty']) is str
 
-        schema = helper.ConfigSchema('DEFAULT', [csl_list])
+        schema = helper.ConfigSchemaSection('DEFAULT', [csl_list])
         result = helper.parse_config(config, schema)
         assert result == { 'floaty' : ['3.141'] }
         assert type(result['floaty']) is list
 
-    def test_parsing_schema_fails_with_unknown_type(self):
+    def test_parsing_schema_line_fails_with_unknown_type(self):
         csl1 = helper.ConfigSchemaLine('floaty', True, dict)
-        schema = helper.ConfigSchema('DEFAULT', [csl1] )
+        schema = helper.ConfigSchemaSection('DEFAULT', [csl1] )
         config = self.make_simple_config()
         with pytest.raises(ConfigError):
@@ -267,5 +267,5 @@
         for e in helper.SpecialSchemaProcessing:
             csl = helper.ConfigSchemaLine('enum_checker', False, list, e)
-            schema = helper.ConfigSchema('DEFAULT', [csl])
+            schema = helper.ConfigSchemaSection('DEFAULT', [csl])
 
             result = helper.parse_config(config, schema)
@@ -283,5 +283,5 @@
         csl6 = helper.ConfigSchemaLine('listo_space', False, list,
             helper.SpecialSchemaProcessing.space_separated)
-        schema = helper.ConfigSchema('FULL_TEST', [csl1, csl2, csl3, csl4, csl5, csl6])
+        schema = helper.ConfigSchemaSection('FULL_TEST', [csl1, csl2, csl3, csl4, csl5, csl6])
 
         result = helper.parse_config(config, schema)
