Scénario de test & Cas d'usage
Gestión del estado de la sesión CAS.
Descubrir todas las acciones de sessionNo se requiere preparación de datos. El escenario se simula iniciando una acción de larga duración (`builtins.sleep`) para representar un trabajo pesado y bloqueante.
| 1 | /* No se necesita código de preparación de datos. La simulación se basa en una acción que consume tiempo. */ |
| 1 | |
| 2 | SESSION user_session; |
| 3 | ACTION BUILTINS.sleep / seconds=300; |
| 4 | RUN; |
| 5 | /* Esta sesión ahora está bloqueada */ |
| 1 | SESSION admin_session; |
| 2 | ACTION listSessions RESULT=r; |
| 3 | /* El administrador inspeccionaría la salida 'r' para encontrar el UUID de la sesión del usuario */ |
| 4 | RUN; |
| 1 | /* Asumir que 'user_sess_uuid' contiene el UUID de 'user_session' */ |
| 2 | |
| 3 | SESSION.batchresults uuid="<uuid_de_user_session>"; |
| 4 | RUN; |
| 5 |
| 1 | |
| 2 | SESSION user_session; |
| 3 | ACTION BUILTINS.serverStatus; |
| 4 | RUN; |
| 5 |
La acción `batchresults` ejecutada por el administrador debe forzar que la acción `builtins.sleep` de la `user_session` pase a segundo plano. Inmediatamente después, la `user_session` debe quedar desbloqueada y ser capaz de ejecutar nuevas acciones, como `serverStatus`, lo cual debería ejecutarse con éxito. El log del administrador confirmará la operación `batchresults`.