def test_abort(self): set_tz_migration_started('yellow') self.assertFalse(get_tz_migration_complete('yellow')) self.assertEqual(get_tz_migration_status('yellow'), MigrationStatus.IN_PROGRESS) set_tz_migration_not_started('yellow') self.assertFalse(get_tz_migration_complete('yellow')) self.assertEqual(get_tz_migration_status('yellow'), MigrationStatus.NOT_STARTED)
def test_pause(self): xform = self.get_xml('form') set_tz_migration_started(self.domain) with self.assertRaisesRegexp(LocalSubmissionError, 'status code 503'): submit_form_locally(xform, self.domain) _run_timezone_migration_for_domain(self.domain) set_tz_migration_complete(self.domain) # no issue submit_form_locally(xform, self.domain)
def test_pause(self): xform = self.get_xml('form') set_tz_migration_started(self.domain) with self.assertRaisesRegexp(LocalSubmissionError, 'status code 503'): submit_form_locally(xform, self.domain) _run_timezone_migration_for_domain(self.domain) set_tz_migration_complete(self.domain) # no issue submit_form_locally(xform, self.domain)
def handle(self, domain, **options): if should_use_sql_backend(domain): raise CommandError( 'This command only works for couch-based domains.') filepath = get_planning_db_filepath(domain) self.stdout.write('Using file {}\n'.format(filepath)) if options['BEGIN']: self.require_only_option('BEGIN', options) set_tz_migration_started(domain) if options['ABORT']: self.require_only_option('ABORT', options) set_tz_migration_not_started(domain) if options['blow_away']: delete_planning_db(domain) self.stdout.write('Removed file {}\n'.format(filepath)) if options['prepare']: self.planning_db = prepare_planning_db(domain) self.stdout.write('Created and loaded file {}\n'.format(filepath)) else: self.planning_db = get_planning_db(domain) if options['COMMIT']: self.require_only_option('COMMIT', options) assert get_tz_migration_status( domain, strict=True) == MigrationStatus.IN_PROGRESS commit_plan(domain, self.planning_db) set_tz_migration_complete(domain) if options['prepare_case_json']: prepare_case_json(self.planning_db) if options['stats']: self.valiate_forms_and_cases(domain) if options['show_diffs']: self.show_diffs() if options['play']: from corehq.apps.tzmigration.planning import * session = self.planning_db.Session() # noqa try: import ipdb as pdb except ImportError: import pdb pdb.set_trace()
def handle(self, domain, **options): if should_use_sql_backend(domain): raise CommandError('This command only works for couch-based domains.') filepath = get_planning_db_filepath(domain) self.stdout.write('Using file {}\n'.format(filepath)) if options['BEGIN']: self.require_only_option('BEGIN', options) set_tz_migration_started(domain) if options['ABORT']: self.require_only_option('ABORT', options) set_tz_migration_not_started(domain) if options['blow_away']: delete_planning_db(domain) self.stdout.write('Removed file {}\n'.format(filepath)) if options['prepare']: self.planning_db = prepare_planning_db(domain) self.stdout.write('Created and loaded file {}\n'.format(filepath)) else: self.planning_db = get_planning_db(domain) if options['COMMIT']: self.require_only_option('COMMIT', options) assert get_tz_migration_status(domain, strict=True) == MigrationStatus.IN_PROGRESS commit_plan(domain, self.planning_db) set_tz_migration_complete(domain) if options['prepare_case_json']: prepare_case_json(self.planning_db) if options['stats']: self.valiate_forms_and_cases(domain) if options['show_diffs']: self.show_diffs() if options['play']: from corehq.apps.tzmigration.planning import * session = self.planning_db.Session() # noqa try: import ipdb as pdb except ImportError: import pdb pdb.set_trace()
def test_in_progress(self): set_tz_migration_started('yellow') self.assertFalse(get_tz_migration_complete('yellow')) self.assertEqual(get_tz_migration_status('yellow'), MigrationStatus.IN_PROGRESS)
def run_timezone_migration_for_domain(domain): set_tz_migration_started(domain) _run_timezone_migration_for_domain(domain) set_tz_migration_complete(domain)
def run_timezone_migration_for_domain(domain): set_tz_migration_started(domain) _run_timezone_migration_for_domain(domain) set_tz_migration_complete(domain)