def test_incorrect_config_file_backed_up(self):
        # create an incorrect config file at the correct location
        makedirs(NiftyNetGlobalConfigTestBase.config_home)
        incorrect_config = '\n'.join([
            NiftyNetGlobalConfigTestBase.header,
            'invalid_home_tag = ~/niftynet'
        ])
        with open(NiftyNetGlobalConfigTestBase.config_file,
                  'w') as config_file:
            config_file.write(incorrect_config)

        # the following should back it up and replace it with default config
        global_config = NiftyNetGlobalConfig().setup()

        self.assertTrue(isfile(NiftyNetGlobalConfigTestBase.config_file))
        self.assertEqual(global_config.get_niftynet_config_folder(),
                         NiftyNetGlobalConfigTestBase.config_home)

        # check if incorrect file was backed up
        found_files = glob(
            join(NiftyNetGlobalConfigTestBase.config_home,
                 NiftyNetGlobalConfigTestBase.typify('config-backup-*')))
        self.assertTrue(len(found_files) == 1)
        with open(found_files[0], 'r') as backup_file:
            self.assertEqual(backup_file.read(), incorrect_config)

        # cleanup: remove backup file
        NiftyNetGlobalConfigTestBase.remove_path(found_files[0])
    def test_incorrect_config_file_backed_up(self):
        # create an incorrect config file at the correct location
        makedirs(NiftyNetGlobalConfigTest.config_home)
        incorrect_config = '\n'.join([NiftyNetGlobalConfigTest.header,
                                      'invalid_home_tag = ~/niftynet'])
        with open(NiftyNetGlobalConfigTest.config_file, 'w') as config_file:
            config_file.write(incorrect_config)

        # the following should back it up and replace it with default config
        global_config = NiftyNetGlobalConfig().setup()

        self.assertTrue(isfile(NiftyNetGlobalConfigTest.config_file))
        self.assertEqual(global_config.get_niftynet_config_folder(),
                         NiftyNetGlobalConfigTest.config_home)

        # check if incorrect file was backed up
        found_files = glob(
            join(NiftyNetGlobalConfigTest.config_home,
                 NiftyNetGlobalConfigTest.typify('config-backup-*')))
        self.assertTrue(len(found_files) == 1)
        with open(found_files[0], 'r') as backup_file:
            self.assertEqual(backup_file.read(), incorrect_config)

        # cleanup: remove backup file
        NiftyNetGlobalConfigTest.remove_path(found_files[0])
 def test_non_existing_config_file_created(self):
     self.assertFalse(isfile(NiftyNetGlobalConfigTestBase.config_file))
     global_config = NiftyNetGlobalConfig().setup()
     self.assertTrue(isfile(NiftyNetGlobalConfigTestBase.config_file))
     self.assertEqual(global_config.get_niftynet_config_folder(),
                      NiftyNetGlobalConfigTestBase.config_home)
 def test_non_existing_config_file_created(self):
     self.assertFalse(isfile(NiftyNetGlobalConfigTest.config_file))
     global_config = NiftyNetGlobalConfig().setup()
     self.assertTrue(isfile(NiftyNetGlobalConfigTest.config_file))
     self.assertEqual(global_config.get_niftynet_config_folder(),
                      NiftyNetGlobalConfigTest.config_home)