Class SlingContextImpl
java.lang.Object
org.apache.sling.testing.mock.osgi.context.OsgiContextImpl
org.apache.sling.testing.mock.sling.context.SlingContextImpl
@ConsumerType
public class SlingContextImpl
extends org.apache.sling.testing.mock.osgi.context.OsgiContextImpl
Defines Sling context objects with lazy initialization.
Should not be used directly but via the SlingContext JUnit rule or extension.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ContentBuilderContent builderprotected ContentLoaderContent loaderprotected ContentLoaderContent loader with auto commit after loading contentprotected MockSlingJakartaHttpServletRequestSling jakarta requestprotected MockSlingJakartaHttpServletResponseSling responseprotected MockSlingHttpServletRequestDeprecated.Use jakartaRequest instead.protected org.apache.sling.resourcebuilder.api.ResourceBuilderResource builderprotected org.apache.sling.api.resource.ResourceResolverResource resolverprotected org.apache.sling.api.resource.ResourceResolverFactoryResource resolver factoryprotected ResourceResolverTypeResource resolver typeprotected MockSlingHttpServletResponseDeprecated.Use jakartaResponse instead.protected org.apache.sling.api.scripting.SlingScriptHelperSling script helperprotected UniqueRootUnique root helperFields inherited from class org.apache.sling.testing.mock.osgi.context.OsgiContextImpl
componentContext -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidaddModelsForClasses(@NotNull Class<?> @NotNull ... classes) Search classpath for given class names to scan for and register all classes with @Model annotation.final voidaddModelsForClasses(@NotNull String @NotNull ... classNames) Search classpath for given class names to scan for and register all classes with @Model annotation.final voidaddModelsForPackage(@NotNull String packageName) Search classpath for given java package names (and sub packages) to scan for and register all classes with @Model annotation.final voidaddModelsForPackage(@NotNull String @NotNull ... packageNames) Search classpath for given java package names (and sub packages) to scan for and register all classes with @Model annotation.@NotNull org.apache.sling.resourcebuilder.api.ResourceBuilderbuild()Creates aResourceBuilderobject for easily creating test content.@NotNull ContentBuildercreate()Creates aContentBuilderobject for easily creating test content.final @Nullable org.apache.sling.api.resource.Resourcefinal @Nullable org.apache.sling.api.resource.ResourcecurrentResource(@Nullable String resourcePath) Set current resource in request.@Nullable org.apache.sling.api.resource.ResourcecurrentResource(@Nullable org.apache.sling.api.resource.Resource resource) Set current resource in request.final @NotNull MockSlingJakartaHttpServletRequestfinal @NotNull MockSlingJakartaHttpServletResponse@NotNull ContentLoaderload()@NotNull ContentLoaderload(boolean autoCommit) protected @NotNull org.apache.sling.api.resource.ResourceResolverFactoryInitialize mocked resource resolver factory.final <T1,T2> void registerAdapter(@NotNull Class<T1> adaptableClass, @NotNull Class<T2> adapterClass, @NotNull Function<T1, T2> adaptHandler) Create a Sling AdapterFactory on the fly which can adapt fromadaptableClasstoadapterClassand delegates the adapter mapping to the givenadaptHandlerfunction.final <T1,T2> void registerAdapter(@NotNull Class<T1> adaptableClass, @NotNull Class<T2> adapterClass, T2 adapter) Create a Sling AdapterFactory on the fly which can adapt fromadaptableClasstoadapterClassand just returns the given value as result.protected voidDefault services that should be available for every unit testrequest()Deprecated.UsejakartaRequest()instead.final @NotNull MockRequestPathInfoprotected @Nullable ObjectresolveSlingBindingProperty(@NotNull String property) Deprecated.protected @Nullable ObjectresolveSlingBindingProperty(@NotNull String property, @NotNull org.apache.sling.api.SlingJakartaHttpServletRequest request) Dynamically resolve property request for current requestSlingBindings.protected @Nullable ObjectresolveSlingBindingProperty(@NotNull String property, org.apache.sling.api.SlingHttpServletRequest request) Deprecated.final @NotNull org.apache.sling.api.resource.ResourceResolverReturns the singleton resource resolver bound to this context.final @NotNull ResourceResolverTyperesponse()Deprecated.UsejakartaResponse()instead.final voidSet current run mode(s).protected voidsetRegisterSlingModelsFromClassPath(boolean registerSlingModelsFromClassPath) protected voidsetResourceResolverFactoryActivatorProps(@Nullable Map<String, Object> props) protected voidsetResourceResolverType(@Nullable ResourceResolverType resourceResolverType) protected voidsetUp()Setup actions before test method executionfinal @NotNull org.apache.sling.api.scripting.SlingScriptHelperprotected voidtearDown()Teardown actions after test method execution@NotNull UniqueRootCreate unique root paths for unit tests (and clean them up after the test run automatically).Methods inherited from class org.apache.sling.testing.mock.osgi.context.OsgiContextImpl
bundleContext, componentContext, getService, getServices, registerInjectActivateService, registerInjectActivateService, registerInjectActivateService, registerInjectActivateService, registerInjectActivateService, registerInjectActivateService, registerService, registerService, registerService, registerService
-
Field Details
-
resourceResolverFactory
protected org.apache.sling.api.resource.ResourceResolverFactory resourceResolverFactoryResource resolver factory -
resourceResolverType
Resource resolver type -
resourceResolver
protected org.apache.sling.api.resource.ResourceResolver resourceResolverResource resolver -
request
Deprecated.Use jakartaRequest instead.Sling request -
response
Deprecated.Use jakartaResponse instead.Sling response -
jakartaRequest
Sling jakarta request -
jakartaResponse
Sling response -
slingScriptHelper
protected org.apache.sling.api.scripting.SlingScriptHelper slingScriptHelperSling script helper -
contentLoader
Content loader -
contentLoaderAutoCommit
Content loader with auto commit after loading content -
contentBuilder
Content builder -
resourceBuilder
protected org.apache.sling.resourcebuilder.api.ResourceBuilder resourceBuilderResource builder -
uniqueRoot
Unique root helper
-
-
Constructor Details
-
SlingContextImpl
public SlingContextImpl()
-
-
Method Details
-
setResourceResolverType
protected void setResourceResolverType(@Nullable @Nullable ResourceResolverType resourceResolverType) - Parameters:
resourceResolverType- Resource resolver type
-
setResourceResolverFactoryActivatorProps
protected void setResourceResolverFactoryActivatorProps(@Nullable @Nullable Map<String, Object> props) - Parameters:
props- Resolver resolver factory activator properties
-
setRegisterSlingModelsFromClassPath
protected void setRegisterSlingModelsFromClassPath(boolean registerSlingModelsFromClassPath) - Parameters:
registerSlingModelsFromClassPath- Register sling models from classpath
-
setUp
protected void setUp()Setup actions before test method execution- Overrides:
setUpin classorg.apache.sling.testing.mock.osgi.context.OsgiContextImpl
-
newResourceResolverFactory
@NotNull protected @NotNull org.apache.sling.api.resource.ResourceResolverFactory newResourceResolverFactory()Initialize mocked resource resolver factory.- Returns:
- Resource resolver factory
-
registerDefaultServices
protected void registerDefaultServices()Default services that should be available for every unit test -
tearDown
protected void tearDown()Teardown actions after test method execution- Overrides:
tearDownin classorg.apache.sling.testing.mock.osgi.context.OsgiContextImpl
-
resourceResolverType
- Returns:
- Resource resolver type
-
resourceResolver
@NotNull public final @NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver()Returns the singleton resource resolver bound to this context. It is automatically closed after the test.- Returns:
- Resource resolver
-
request
Deprecated.UsejakartaRequest()instead.- Returns:
- Sling request
-
jakartaRequest
- Returns:
- Sling request
-
resolveSlingBindingProperty
@Deprecated(since="4.0.0") @Nullable protected @Nullable Object resolveSlingBindingProperty(@NotNull @NotNull String property, @NotNull org.apache.sling.api.SlingHttpServletRequest request) Deprecated.Dynamically resolve property request for current requestSlingBindings.- Parameters:
property- Property keyrequest- Context request- Returns:
- Resolved object or null if no result found
-
resolveSlingBindingProperty
@Nullable protected @Nullable Object resolveSlingBindingProperty(@NotNull @NotNull String property, @NotNull @NotNull org.apache.sling.api.SlingJakartaHttpServletRequest request) Dynamically resolve property request for current requestSlingBindings.- Parameters:
property- Property keyrequest- Context request- Returns:
- Resolved object or null if no result found
-
resolveSlingBindingProperty
@Deprecated @Nullable protected @Nullable Object resolveSlingBindingProperty(@NotNull @NotNull String property) Deprecated.Dynamically resolve property request for current requestSlingBindings.- Parameters:
property- Property key- Returns:
- Resolved object or null if no result found
-
requestPathInfo
- Returns:
- Request path info
-
response
Deprecated.UsejakartaResponse()instead.- Returns:
- Sling response
-
jakartaResponse
- Returns:
- Sling response
-
slingScriptHelper
@NotNull public final @NotNull org.apache.sling.api.scripting.SlingScriptHelper slingScriptHelper()- Returns:
- Sling script helper
-
load
- Returns:
- Content loader
-
load
- Parameters:
autoCommit- Automatically commit changes after loading content (default: true)- Returns:
- Content loader
-
create
Creates aContentBuilderobject for easily creating test content. This API was part of Sling Mocks since version 1.x. You can use alternatively thebuild()method and use theResourceBuilderAPI.- Returns:
- Content builder for building test content
-
build
@NotNull public @NotNull org.apache.sling.resourcebuilder.api.ResourceBuilder build()Creates aResourceBuilderobject for easily creating test content. This is a separate API which can be used inside sling mocks or in a running instance. You can use alternatively thecreate()method to use theContentBuilderAPI.- Returns:
- Resource builder for building test content.
-
currentResource
@Nullable public final @Nullable org.apache.sling.api.resource.Resource currentResource()- Returns:
- Current resource
-
currentResource
@Nullable public final @Nullable org.apache.sling.api.resource.Resource currentResource(@Nullable @Nullable String resourcePath) Set current resource in request.- Parameters:
resourcePath- Resource path- Returns:
- Current resource
-
currentResource
@Nullable public @Nullable org.apache.sling.api.resource.Resource currentResource(@Nullable @Nullable org.apache.sling.api.resource.Resource resource) Set current resource in request.- Parameters:
resource- Resource- Returns:
- Current resource
-
addModelsForPackage
Search classpath for given java package names (and sub packages) to scan for and register all classes with @Model annotation.- Parameters:
packageName- Java package name
-
addModelsForPackage
Search classpath for given java package names (and sub packages) to scan for and register all classes with @Model annotation.- Parameters:
packageNames- Java package names
-
addModelsForClasses
Search classpath for given class names to scan for and register all classes with @Model annotation.- Parameters:
classNames- Java class names
-
addModelsForClasses
Search classpath for given class names to scan for and register all classes with @Model annotation.- Parameters:
classes- Java classes
-
runMode
Set current run mode(s).- Parameters:
runModes- Run mode(s).
-
uniqueRoot
Create unique root paths for unit tests (and clean them up after the test run automatically).- Returns:
- Unique root path helper
-
registerAdapter
public final <T1,T2> void registerAdapter(@NotNull @NotNull Class<T1> adaptableClass, @NotNull @NotNull Class<T2> adapterClass, @NotNull T2 adapter) Create a Sling AdapterFactory on the fly which can adapt fromadaptableClasstoadapterClassand just returns the given value as result.- Type Parameters:
T1- Adaptable typeT2- Adapter type- Parameters:
adaptableClass- Class to adapt fromadapterClass- Class to adapt toadapter- Object which is always returned for this adaption.
-
registerAdapter
public final <T1,T2> void registerAdapter(@NotNull @NotNull Class<T1> adaptableClass, @NotNull @NotNull Class<T2> adapterClass, @NotNull @NotNull Function<T1, T2> adaptHandler) Create a Sling AdapterFactory on the fly which can adapt fromadaptableClasstoadapterClassand delegates the adapter mapping to the givenadaptHandlerfunction.- Type Parameters:
T1- Adaptable typeT2- Adapter type- Parameters:
adaptableClass- Class to adapt fromadapterClass- Class to adapt toadaptHandler- Function to handle the adaption
-