def test_dont_start_disabled_accounts(db, config, default_account): config['SYNC_STEAL_ACCOUNTS'] = True default_account.sync_host = None default_account.disable_sync() db.session.commit() ss = SyncService(cpu_id=0, total_cpus=1) assert ss.accounts_to_start() == [] assert default_account.sync_host is None assert default_account.sync_should_run is False default_account.sync_host = platform.node() default_account.disable_sync() db.session.commit() ss = SyncService(cpu_id=0, total_cpus=1) assert ss.accounts_to_start() == [] assert default_account.sync_should_run is False # Invalid Credentials default_account.mark_invalid() default_account.sync_host = None db.session.commit() # Don't steal invalid accounts ss = SyncService(cpu_id=0, total_cpus=1) assert ss.accounts_to_start() == [] # Don't explicitly start invalid accounts default_account.sync_host = platform.node() db.session.commit() ss = SyncService(cpu_id=0, total_cpus=1) assert ss.accounts_to_start() == []
def test_sync_transitions(db, default_account, config): ss = SyncService(cpu_id=1, total_cpus=2) default_account.enable_sync() db.session.commit() assert ss.accounts_to_start() == [1] default_account.disable_sync('manual') db.session.commit() assert ss.accounts_to_start() == [] assert default_account.sync_should_run is False assert default_account._sync_status['sync_disabled_reason'] == 'manual' default_account.mark_invalid() db.session.commit() assert ss.accounts_to_start() == [] assert default_account.sync_state == 'invalid' assert default_account._sync_status['sync_disabled_reason'] == \ 'invalid credentials' assert default_account.sync_should_run is False