java - MockMVC Test reports does not declare any static, non-private, non-final, inner classes annotated with @Configuration -


i trying call ajax method via junit test case. have referred truck load of questions point. still getting

testmockmvc not declare static, non-private, non-fin al, inner classes annotated @configuration.

my ajax call is

@requestmapping(value = { "/saveentityajax", "/modifyentityajax" }, method = requestmethod.post) public @responsebody string saveorupdateentityajax(         @requestparam(value = "id") string id,         @requestparam(value = "number") string number, httpservletrequest httpservletrequest) { 

my junit test case is

package test.controllers;  import static org.springframework.security.test.web.servlet.setup.securitymockmvcconfigurers.springsecurity;  import org.junit.before; import org.junit.test; import org.junit.runner.runwith; import org.springframework.beans.factory.annotation.autowired; import org.springframework.boot.test.context.springboottest; import org.springframework.context.annotation.configuration; import org.springframework.http.mediatype; import org.springframework.test.context.contextconfiguration; import org.springframework.test.context.junit4.springjunit4classrunner; import org.springframework.test.context.web.annotationconfigwebcontextloader; import org.springframework.test.context.web.webappconfiguration; import org.springframework.test.web.servlet.mockmvc; import org.springframework.test.web.servlet.mvcresult; import org.springframework.test.web.servlet.request.mockmvcrequestbuilders; import org.springframework.test.web.servlet.setup.mockmvcbuilders; import org.springframework.web.context.webapplicationcontext;  import com.mnox.database.pojo.wrapper.v2.vehiclemasterpojowrapper.vehiclepurpose;  @configuration @runwith(springjunit4classrunner.class) @contextconfiguration(loader=annotationconfigwebcontextloader.class) @webappconfiguration public class testmockmvc {      @autowired     private webapplicationcontext context;      private mockmvc mvc;      @before     public void setup() {         mvc = mockmvcbuilders.webappcontextsetup(context).apply(springsecurity()).build();     }      @test     public void test1createclient() {         saveorupdatevehicleajaxrequest vehicle = new saveorupdatevehicleajaxrequest("123", "ka-02-1234", 12,                 vehiclepurpose.main_vehicle.name(), "some alias");         try {             mvcresult mvcresult = mvc.perform(mockmvcrequestbuilders.post("/savevehicleajaxmethod")                     .contenttype(mediatype.application_json).accept(mediatype.application_json)).andreturn();             mvcresult.getmodelandview();         } catch (exception e) {             // todo auto-generated catch block             e.printstacktrace();         }     }      private class saveorupdateentityajaxrequest {         private string id;         private string number;          public saveorupdateentityajaxrequest(string id, string number) {             super();             this.id = id;             this.number = number;         }          public string getid() {             return id;         }          public void setid(string id) {             this.id = id;         }          public string getnumber() {             return number;         }          public void setnumber(string number) {             this.number = number;         }      }  } 

i getting following errors

info : org.springframework.test.context.support.annotationconfigcontextloaderutils - not detect default configuration classes test class [test.controllers.testmockmvc]: testmockmvc not declare static, non-private, non-final, inner classes annotated @configuration. info : org.springframework.test.context.web.webtestcontextbootstrapper - loaded default testexecutionlistener class names location [meta-inf/spring.factories]: [org.springframework.security.test.context.support.withsecuritycontexttestexecutionlistener, org.springframework.boot.test.mock.mockito.mockitotestexecutionlistener, org.springframework.boot.test.mock.mockito.resetmockstestexecutionlistener, org.springframework.test.context.web.servlettestexecutionlistener, org.springframework.test.context.support.dependencyinjectiontestexecutionlistener, org.springframework.test.context.support.dirtiescontexttestexecutionlistener, org.springframework.test.context.transaction.transactionaltestexecutionlistener, org.springframework.test.context.jdbc.sqlscriptstestexecutionlistener] info : org.springframework.test.context.web.webtestcontextbootstrapper - using testexecutionlisteners: [org.springframework.test.context.web.servlettestexecutionlistener@7f3b84b8, org.springframework.test.context.support.dependencyinjectiontestexecutionlistener@57a3af25, org.springframework.test.context.support.dirtiescontexttestexecutionlistener@2b662a77, org.springframework.test.context.transaction.transactionaltestexecutionlistener@7f0eb4b4, org.springframework.test.context.jdbc.sqlscriptstestexecutionlistener@5c33f1a9, org.springframework.security.test.context.support.withsecuritycontexttestexecutionlistener@1623b78d, org.springframework.boot.test.mock.mockito.mockitotestexecutionlistener@c8c12ac, org.springframework.boot.test.mock.mockito.resetmockstestexecutionlistener@6adbc9d] info : org.springframework.web.context.support.genericwebapplicationcontext - refreshing org.springframework.web.context.support.genericwebapplicationcontext@3eb25e1a: startup date [mon sep 11 13:11:05 ist 2017]; root of context hierarchy info : org.springframework.web.context.support.genericwebapplicationcontext - closing org.springframework.web.context.support.genericwebapplicationcontext@3eb25e1a: startup date [mon sep 11 13:11:05 ist 2017]; root of context hierarchy 

edit : jar's using are

spring-boot-test-1.4.0.release.jar   spring-security-test-4.0.0.release.jar spring-context-3.1.0.release.jar     spring-test-4.1.9.release.jar spring-core-3.1.0.release.jar        spring-web-3.1.0.release.jar spring-expression-3.1.0.release.jar spring-webmvc-3.1.0.release.jar 

edit : folder structure

src/main/java/test/controllers/testmockmvc.java src/main/webapp/web-inf/web.xml src/main/webapp/web-inf/spring/root-context.xml src/main/webapp/web-inf/spring/appservlet/servlet-context.xml 

edit : have partial answer. have modified code solve issue reported in question. although stuck @ different point, answering question partially.

change 1

@configuration @runwith(springjunit4classrunner.class) @contextconfiguration({         // "file:src/main/webapp/web-inf/web.xml"         "file:src/main/webapp/web-inf/spring/root-context.xml",         "file:src/main/webapp/web-inf/spring/appservlet/servlet-context.xml" }) @webappconfiguration public class testmockmvc {      @autowired     filterchainproxy springsecurityfilterchain;      @autowired     private webapplicationcontext context;      private mockmvc mvc;      @before     public void setup() {         mvc = mockmvcbuilders.webappcontextsetup(context)                 .apply(securitymockmvcconfigurers.springsecurity(springsecurityfilterchain)).build();     }      @test     public void test1createclient() {         saveorupdateentityajaxrequest vehicle = new saveorupdateentityajaxrequest("123", "ka-02-1234");         mvcresult mvcresult = null;         try {             mockhttpservletrequestbuilder request = mockmvcrequestbuilders.post("/saveentityajaxmethod")                     .content(new gson().tojson(vehicle).getbytes()).contenttype(mediatype.application_json)                     .accept(mediatype.application_json);             mvcresult = mvc.perform(request).andreturn();             mvcresult.getmodelandview();         } catch (exception e) {             e.printstacktrace();         }     } 

change 2

in servlet-context.xml added following lines.

<bean id="springsecurityfilterchain" class="org.springframework.security.web.filterchainproxy">         <!-- properties -->     </bean> 

exception getting now

info : org.springframework.test.web.servlet.testdispatcherservlet - frameworkservlet '': initialization started info : org.springframework.test.web.servlet.testdispatcherservlet - frameworkservlet '': initialization completed in 67 ms java.lang.nullpointerexception     @ org.springframework.security.web.filterchainproxy.getfilters(filterchainproxy.java:223)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43)     @ java.lang.reflect.method.invoke(method.java:498)     @ org.springframework.util.methodinvoker.invoke(methodinvoker.java:269)     @ org.springframework.test.util.reflectiontestutils.invokemethod(reflectiontestutils.java:307)     @ org.springframework.security.test.web.support.webtestutils.findfilter(webtestutils.java:118)     @ org.springframework.security.test.web.support.webtestutils.getsecuritycontextrepository(webtestutils.java:57)     @ org.springframework.security.test.web.servlet.request.securitymockmvcrequestpostprocessors$securitycontextrequestpostprocessorsupport.save(securitymockmvcrequestpostprocessors.java:434)     @ org.springframework.security.test.web.servlet.request.securitymockmvcrequestpostprocessors$testsecuritycontextholderpostprocessor.postprocessrequest(securitymockmvcrequestpostprocessors.java:511)     @ org.springframework.test.web.servlet.request.mockhttpservletrequestbuilder.postprocessrequest(mockhttpservletrequestbuilder.java:686)     @ org.springframework.test.web.servlet.mockmvc.perform(mockmvc.java:137)     @ test.controllers.testmockmvc.test1createclient(testmockmvc.java:61)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43)     @ java.lang.reflect.method.invoke(method.java:498)     @ org.junit.runners.model.frameworkmethod$1.runreflectivecall(frameworkmethod.java:50)     @ org.junit.internal.runners.model.reflectivecallable.run(reflectivecallable.java:12)     @ org.junit.runners.model.frameworkmethod.invokeexplosively(frameworkmethod.java:47)     @ org.junit.internal.runners.statements.invokemethod.evaluate(invokemethod.java:17)     @ org.junit.internal.runners.statements.runbefores.evaluate(runbefores.java:26)     @ org.springframework.test.context.junit4.statements.runbeforetestmethodcallbacks.evaluate(runbeforetestmethodcallbacks.java:75)     @ org.springframework.test.context.junit4.statements.runaftertestmethodcallbacks.evaluate(runaftertestmethodcallbacks.java:86)     @ org.springframework.test.context.junit4.statements.springrepeat.evaluate(springrepeat.java:70)     @ org.junit.runners.parentrunner.runleaf(parentrunner.java:325)     @ org.springframework.test.context.junit4.springjunit4classrunner.runchild(springjunit4classrunner.java:224)     @ org.springframework.test.context.junit4.springjunit4classrunner.runchild(springjunit4classrunner.java:83)     @ org.junit.runners.parentrunner$3.run(parentrunner.java:290)     @ org.junit.runners.parentrunner$1.schedule(parentrunner.java:71)     @ org.junit.runners.parentrunner.runchildren(parentrunner.java:288)     @ org.junit.runners.parentrunner.access$000(parentrunner.java:58)     @ org.junit.runners.parentrunner$2.evaluate(parentrunner.java:268)     @ org.springframework.test.context.junit4.statements.runbeforetestclasscallbacks.evaluate(runbeforetestclasscallbacks.java:61)     @ org.springframework.test.context.junit4.statements.runaftertestclasscallbacks.evaluate(runaftertestclasscallbacks.java:70)     @ org.junit.runners.parentrunner.run(parentrunner.java:363)     @ org.springframework.test.context.junit4.springjunit4classrunner.run(springjunit4classrunner.java:163)     @ org.eclipse.jdt.internal.junit4.runner.junit4testreference.run(junit4testreference.java:86)     @ org.eclipse.jdt.internal.junit.runner.testexecution.run(testexecution.java:38)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:459)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:678)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.run(remotetestrunner.java:382)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.main(remotetestrunner.java:192) 


Comments

Popular posts from this blog

Sort a complex associative array in PHP -

vb.net - How to ignore if a cell is empty nothing -

recursion - Can every recursive algorithm be improved with dynamic programming? -