Describe the feature request
Mock-Server core supports providing initialization files as a glob argument. However, the same is not supported in the maven plugin. Glob support will allow to use the maven plugin consistently with standalone server.
If the value is provided as <initializationJson>mock-expectations/**/*.json</initializationJson>, plugin cannot resolve the files and thus server fails to initialize expectations.
[INFO] --- mockserver-maven-plugin:5.14.0:start (start-mock-server) @ spring-rest-template-mock-server ---
[INFO] mockserver:start about to start MockServer on: serverPort [1080]
[ERROR] Exception loading json expectation initializer
java.lang.RuntimeException: Exception while loading "/home/divinedragon-box/git/spring-rest-template-mock-server/target/test-classes/mock-expectations/**/*.json"
at org.mockserver.file.FileReader.readFileFromClassPathOrPath (FileReader.java:37)
at org.mockserver.maven.MockServerAbstractMojo.createInitializerJson (MockServerAbstractMojo.java:196)
at org.mockserver.maven.MockServerStartMojo.execute (MockServerStartMojo.java:37)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:370)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:351)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:171)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:163)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:566)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: java.io.FileNotFoundException: /home/divinedragon-box/git/spring-rest-template-mock-server/target/test-classes/mock-expectations/**/*.json (No such file or directory)
at java.io.FileInputStream.open0 (Native Method)
at java.io.FileInputStream.open (FileInputStream.java:219)
at java.io.FileInputStream.<init> (FileInputStream.java:157)
at java.io.FileInputStream.<init> (FileInputStream.java:112)
at org.mockserver.file.FileReader.openStreamToFileFromClassPathOrPath (FileReader.java:45)
at org.mockserver.file.FileReader.readFileFromClassPathOrPath (FileReader.java:34)
at org.mockserver.maven.MockServerAbstractMojo.createInitializerJson (MockServerAbstractMojo.java:196)
at org.mockserver.maven.MockServerStartMojo.execute (MockServerStartMojo.java:37)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:370)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:351)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:171)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:163)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:566)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Here is my pom.xml for the maven plugin.
<plugin>
<groupId>org.mock-server</groupId>
<artifactId>mockserver-maven-plugin</artifactId>
<version>5.14.0</version>
<configuration>
<serverPort>1080</serverPort>
<pipeLogToConsole>true</pipeLogToConsole>
<initializationJson>mock-expectations/**/*.json</initializationJson>
</configuration>
<executions>
<execution>
<id>start-mock-server</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>stop-mock-server</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
Issue ported from mock-server/mockserver-maven-plugin#79
What you are trying to do
Provide initialization json files through globbing
The solution you'd like
<initializationJson> should support globbing
Describe alternatives you've considered
NA
Describe the feature request
Mock-Server core supports providing initialization files as a glob argument. However, the same is not supported in the maven plugin. Glob support will allow to use the maven plugin consistently with standalone server.
If the value is provided as
<initializationJson>mock-expectations/**/*.json</initializationJson>, plugin cannot resolve the files and thus server fails to initialize expectations.Here is my
pom.xmlfor the maven plugin.Issue ported from mock-server/mockserver-maven-plugin#79
What you are trying to do
Provide initialization json files through globbing
The solution you'd like
<initializationJson>should support globbingDescribe alternatives you've considered
NA