def test_boostrap_vespa_should_migrate_index_settings_from_existing_vespa_app(self):
        """
        When we upgrade Marqo from prior to 2.13.0 to the latest version, we will migrate the index settings in the
        marqo__settings vespa schema to json files stored in the application package. This test cases tests if this
        migration is done correctly
        """
        existing_index = self._deploy_existing_app_package()
        existing_index_with_version = existing_index.copy(update={'version': 1})

        bootstrapped = self.index_management.bootstrap_vespa()
        self.assertTrue(bootstrapped)

        app = self.vespa_client.download_application()
        self._assert_file_exists(app, 'marqo_index_settings.json')
        self._assert_file_exists(app, 'marqo_index_settings_history.json')
        self._assert_file_exists(app, 'marqo_config.json')

        with open(os.path.join(app, 'marqo_index_settings.json')) as f:
            index_settings = json.load(f)
            self.assertTrue(existing_index.name in index_settings)
            self.assertEqual(existing_index_with_version.json(), json.dumps(index_settings[existing_index.name]))

        # Verify no index setting history is present
        with open(os.path.join(app, 'marqo_index_settings_history.json')) as f:
            self.assertEqual('{}', f.read())

        with open(os.path.join(app, 'marqo_config.json')) as f:
            self.assertEqual(json.loads(f'{{"version": "{version.get_version()}"}}'), json.load(f))

        When we upgrade Marqo from prior to 2.13.0 to the latest version, we will migrate the index settings in the
        marqo__settings vespa schema to json files stored in the application package. This test cases tests if this
        migration is done correctly
        
tests/integ_tests/core/index_management/test_index_management.py