Class MockWebSession
java.lang.Object
org.springframework.mock.web.server.MockWebSession
- All Implemented Interfaces:
- WebSession
Implementation of 
WebSession that delegates to a session instance
 obtained via InMemoryWebSessionStore.
 This is intended for use with the
 session(WebSession)
 method of the MockServerWebExchange builder, eliminating the need
 to use WebSessionManager or WebSessionStore altogether.
- Since:
- 5.1
- Author:
- Rossen Stoyanchev
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionreactor.core.publisher.Mono<Void>Generate a new id for the session and update the underlying session storage to reflect the new id.Return a map that holds session attributes.Return the time when the session was created.getId()Return a unique session identifier.Return the last time of session access as a result of user activity such as an HTTP request.Return the maximum time after thelastAccessTimebefore a session expires.reactor.core.publisher.Mono<Void>Invalidate the current session and clear session storage.booleanReturntrueif the session expired aftermaxIdleTimeelapsed.booleanWhether a session with the client has been started explicitly viaWebSession.start()or implicitly by adding session attributes.reactor.core.publisher.Mono<Void>save()Save the session through theWebSessionStoreas follows: If the session is new (i.e.voidsetMaxIdleTime(Duration maxIdleTime) Configure the max amount of time that may elapse after thelastAccessTimebefore a session is considered expired.voidstart()Force the creation of a session causing the session id to be sent whenWebSession.save()is called.Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.web.server.WebSessiongetAttribute, getAttributeOrDefault, getRequiredAttribute
- 
Constructor Details- 
MockWebSessionpublic MockWebSession()
- 
MockWebSession
 
- 
- 
Method Details- 
getIdDescription copied from interface:WebSessionReturn a unique session identifier.- Specified by:
- getIdin interface- WebSession
 
- 
getAttributesDescription copied from interface:WebSessionReturn a map that holds session attributes.- Specified by:
- getAttributesin interface- WebSession
 
- 
startpublic void start()Description copied from interface:WebSessionForce the creation of a session causing the session id to be sent whenWebSession.save()is called.- Specified by:
- startin interface- WebSession
 
- 
isStartedpublic boolean isStarted()Description copied from interface:WebSessionWhether a session with the client has been started explicitly viaWebSession.start()or implicitly by adding session attributes. If "false" then the session id is not sent to the client and theWebSession.save()method is essentially a no-op.- Specified by:
- isStartedin interface- WebSession
 
- 
changeSessionIdDescription copied from interface:WebSessionGenerate a new id for the session and update the underlying session storage to reflect the new id. After a successful callWebSession.getId()reflects the new session id.- Specified by:
- changeSessionIdin interface- WebSession
- Returns:
- completion notification (success or error)
 
- 
invalidateDescription copied from interface:WebSessionInvalidate the current session and clear session storage.- Specified by:
- invalidatein interface- WebSession
- Returns:
- completion notification (success or error)
 
- 
saveDescription copied from interface:WebSessionSave the session through theWebSessionStoreas follows:- If the session is new (i.e. created but never persisted), it must have
 been started explicitly via WebSession.start()or implicitly by adding attributes, or otherwise this method should have no effect.
- If the session was retrieved through the WebSessionStore, the implementation for this method must check whether the session wasinvalidatedand if so return an error.
 Note that this method is not intended for direct use by applications. Instead it is automatically invoked just before the response is committed. - Specified by:
- savein interface- WebSession
- Returns:
- Monoto indicate completion with success or error
 
- If the session is new (i.e. created but never persisted), it must have
 been started explicitly via 
- 
isExpiredpublic boolean isExpired()Description copied from interface:WebSessionReturntrueif the session expired aftermaxIdleTimeelapsed.Typically expiration checks should be automatically made when a session is accessed, a new WebSessioninstance created if necessary, at the start of request processing so that applications don't have to worry about expired session by default.- Specified by:
- isExpiredin interface- WebSession
 
- 
getCreationTimeDescription copied from interface:WebSessionReturn the time when the session was created.- Specified by:
- getCreationTimein interface- WebSession
 
- 
getLastAccessTimeDescription copied from interface:WebSessionReturn the last time of session access as a result of user activity such as an HTTP request. Together withmaxIdleTimeInSecondsthis helps to determine when a session isexpired.- Specified by:
- getLastAccessTimein interface- WebSession
 
- 
setMaxIdleTimeDescription copied from interface:WebSessionConfigure the max amount of time that may elapse after thelastAccessTimebefore a session is considered expired. A negative value indicates the session should not expire.- Specified by:
- setMaxIdleTimein interface- WebSession
 
- 
getMaxIdleTimeDescription copied from interface:WebSessionReturn the maximum time after thelastAccessTimebefore a session expires. A negative time indicates the session doesn't expire.- Specified by:
- getMaxIdleTimein interface- WebSession
 
 
-