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.OsgiContextImplDefines Sling context objects with lazy initialization. Should not be used directly but via the SlingContext JUnit rule or extension.
-
-
Field Summary
Fields Modifier and Type Field Description protected ContentBuildercontentBuilderprotected ContentLoadercontentLoaderprotected ContentLoadercontentLoaderAutoCommitprotected MockSlingHttpServletRequestrequestprotected org.apache.sling.resourcebuilder.api.ResourceBuilderresourceBuilderprotected org.apache.sling.api.resource.ResourceResolverresourceResolverprotected org.apache.sling.api.resource.ResourceResolverFactoryresourceResolverFactoryprotected ResourceResolverTyperesourceResolverTypeprotected MockSlingHttpServletResponseresponseprotected org.apache.sling.api.scripting.SlingScriptHelperslingScriptHelperprotected UniqueRootuniqueRoot
-
Constructor Summary
Constructors Constructor Description SlingContextImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddModelsForClasses(@NotNull Class @NotNull ... classes)Search classpath for given class names to scan for and register all classes with @Model annotation.voidaddModelsForClasses(@NotNull String @NotNull ... classNames)Search classpath for given class names to scan for and register all classes with @Model annotation.voidaddModelsForPackage(@NotNull String packageName)Search classpath for given java package names (and sub packages) to scan for and register all classes with @Model annotation.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.@Nullable org.apache.sling.api.resource.ResourcecurrentResource()@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.@NotNull ContentLoaderload()@NotNull ContentLoaderload(boolean autoCommit)protected @NotNull org.apache.sling.api.resource.ResourceResolverFactorynewResourceResolverFactory()Initialize mocked resource resolver factory.<T1,T2>
voidregisterAdapter(@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.<T1,T2>
voidregisterAdapter(@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 voidregisterDefaultServices()Default services that should be available for every unit test@NotNull MockSlingHttpServletRequestrequest()@NotNull MockRequestPathInforequestPathInfo()protected @Nullable ObjectresolveSlingBindingProperty(@NotNull String property)Deprecated.protected @Nullable ObjectresolveSlingBindingProperty(@NotNull String property, @NotNull org.apache.sling.api.SlingHttpServletRequest request)Dynamically resolve property request for current requestSlingBindings.@NotNull org.apache.sling.api.resource.ResourceResolverresourceResolver()Returns the singleton resource resolver bound to this context.@NotNull ResourceResolverTyperesourceResolverType()@NotNull MockSlingHttpServletResponseresponse()voidrunMode(@NotNull String @NotNull ... runModes)Set 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 execution@NotNull org.apache.sling.api.scripting.SlingScriptHelperslingScriptHelper()protected voidtearDown()Teardown actions after test method execution@NotNull UniqueRootuniqueRoot()Create 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 Detail
-
resourceResolverFactory
protected org.apache.sling.api.resource.ResourceResolverFactory resourceResolverFactory
-
resourceResolverType
protected ResourceResolverType resourceResolverType
-
resourceResolver
protected org.apache.sling.api.resource.ResourceResolver resourceResolver
-
request
protected MockSlingHttpServletRequest request
-
response
protected MockSlingHttpServletResponse response
-
slingScriptHelper
protected org.apache.sling.api.scripting.SlingScriptHelper slingScriptHelper
-
contentLoader
protected ContentLoader contentLoader
-
contentLoaderAutoCommit
protected ContentLoader contentLoaderAutoCommit
-
contentBuilder
protected ContentBuilder contentBuilder
-
resourceBuilder
protected org.apache.sling.resourcebuilder.api.ResourceBuilder resourceBuilder
-
uniqueRoot
protected UniqueRoot uniqueRoot
-
-
Method Detail
-
setResourceResolverType
protected void setResourceResolverType(@Nullable @Nullable ResourceResolverType resourceResolverType)- Parameters:
resourceResolverType- Resource resolver type
-
setResourceResolverFactoryActivatorProps
protected void setResourceResolverFactoryActivatorProps(@Nullable @Nullable Map<String,Object> props)
-
setRegisterSlingModelsFromClassPath
protected void setRegisterSlingModelsFromClassPath(boolean registerSlingModelsFromClassPath)
-
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
@NotNull public final @NotNull ResourceResolverType 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
@NotNull public final @NotNull MockSlingHttpServletRequest request()
- Returns:
- Sling request
-
resolveSlingBindingProperty
@Nullable protected @Nullable Object resolveSlingBindingProperty(@NotNull @NotNull String property, @NotNull @NotNull org.apache.sling.api.SlingHttpServletRequest 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
@NotNull public final @NotNull MockRequestPathInfo requestPathInfo()
- Returns:
- Request path info
-
response
@NotNull public final @NotNull MockSlingHttpServletResponse response()
- Returns:
- Sling response
-
slingScriptHelper
@NotNull public final @NotNull org.apache.sling.api.scripting.SlingScriptHelper slingScriptHelper()
- Returns:
- Sling script helper
-
load
@NotNull public @NotNull ContentLoader load()
- Returns:
- Content loader
-
load
@NotNull public @NotNull ContentLoader load(boolean autoCommit)
- Parameters:
autoCommit- Automatically commit changes after loading content (default: true)- Returns:
- Content loader
-
create
@NotNull public @NotNull ContentBuilder 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
public final void addModelsForPackage(@NotNull @NotNull String packageName)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
public final void addModelsForPackage(@NotNull @NotNull String @NotNull ... packageNames)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
public final void addModelsForClasses(@NotNull @NotNull String @NotNull ... classNames)Search classpath for given class names to scan for and register all classes with @Model annotation.- Parameters:
classNames- Java class names
-
addModelsForClasses
public final void addModelsForClasses(@NotNull @NotNull Class @NotNull ... classes)Search classpath for given class names to scan for and register all classes with @Model annotation.- Parameters:
classes- Java classes
-
runMode
public final void runMode(@NotNull @NotNull String @NotNull ... runModes)Set current run mode(s).- Parameters:
runModes- Run mode(s).
-
uniqueRoot
@NotNull public @NotNull UniqueRoot 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
-
-