def delete_environment(environment_id): environment = Environments.get(environment_id) Environments.delete(environment=environment, commit=True) flash("environment_deleted", environment_name=environment.name) return redirect( url_for( "applications.settings", application_id=environment.application_id, _anchor="application-environments", fragment="application-environments", ))
def delete(cls, application): for env in application.environments: Environments.delete(env) application.deleted = True for role in application.roles: role.deleted = True role.status = ApplicationRoleStatus.DISABLED db.session.add(role) db.session.add(application) db.session.commit()
def test_delete_environment(session): env = EnvironmentFactory.create(application=ApplicationFactory.create()) env_role = EnvironmentRoleFactory.create( application_role=ApplicationRoleFactory.create( application=env.application), environment=env, ) assert not env.deleted assert not env_role.deleted Environments.delete(env) assert env.deleted assert env_role.deleted # did not flush assert session.dirty Environments.delete(env, commit=True) assert env.deleted assert env_role.deleted # flushed the change assert not session.dirty