Shalin Shekhar Mangar created SOLR-5089:
-------------------------------------------

             Summary: OverseerCollectionProcessorTest does not fail on 
assertions thrown by mock objects
                 Key: SOLR-5089
                 URL: https://issues.apache.org/jira/browse/SOLR-5089
             Project: Solr
          Issue Type: Bug
          Components: Tests
            Reporter: Shalin Shekhar Mangar
            Assignee: Shalin Shekhar Mangar
             Fix For: 4.5


The OverseerCollectionProcessorTest uses EasyMock for testing but the test does 
not fail if the mock object throws assertions because of unexpected method 
calls.

For example, I modified the Overseer to NOT throw an exception if 
maxShardsAllowedToCreate < requestedShardsToCreate. The mock objects logs an 
exception with an AssertionError but the test still passes.

{code}
  [junit4]   2> 1158 T11 oas.SolrTestCaseJ4.setUp ###Starting 
testNoReplicationCollectionNotCreatedDueToMaxShardsPerNodeAndNodesToCreateOnLimits
   [junit4]   2> 1195 T12 oasc.OverseerCollectionProcessor.run Process current 
queue of collection creations
   [junit4]   2> 2215 T12 oasc.OverseerCollectionProcessor.run Overseer 
Collection Processor: Get the message id:id message:{
   [junit4]   2>          "replicationFactor":"1",
   [junit4]   2>          "operation":"createcollection",
   [junit4]   2>          "numShards":"8",
   [junit4]   2>          "maxShardsPerNode":"2",
   [junit4]   2>          "collection.configName":"myconfig",
   [junit4]   2>          
"createNodeSet":"localhost:8964_solr,localhost:8966_solr,localhost:8963_solr",
   [junit4]   2>          "name":"mycollection"}
   [junit4]   2> 2216 T12 oasc.OverseerCollectionProcessor.createCollection 
Creating shard mycollection_shard1_replica1 as part of slice shard1 of 
collection mycollection on localhost:8964_solr
   [junit4]   2> 2242 T12 oasc.SolrException.log ERROR Collection 
createcollection of createcollection failed:java.lang.AssertionError:
   [junit4]   2>          Unexpected method call 
submit(ShardRequest:{params=action=CREATE&name=mycollection_shard1_replica1&collection.configName=myconfig&collection=mycollection&shard=shard1&numShards=8&qt=%2Fadmin%2Fcores,
 purpose=1, nResponses =0}, "localhost:8964/solr", 
action=CREATE&name=mycollection_shard1_replica1&collection.configName=myconfig&collection=mycollection&shard=shard1&numShards=8&qt=%2Fadmin%2Fcores):
   [junit4]   2>                at 
org.easymock.internal.MockInvocationHandler.invoke(MockInvocationHandler.java:45)
   [junit4]   2>                at 
org.easymock.internal.ObjectMethodsFilter.invoke(ObjectMethodsFilter.java:73)
   [junit4]   2>                at 
org.easymock.internal.ClassProxyFactory$MockMethodInterceptor.intercept(ClassProxyFactory.java:69)
   [junit4]   2>                at 
org.apache.solr.handler.component.ShardHandler$$EnhancerByCGLIB$$27b6a726.submit(<generated>)
   [junit4]   2>                at 
org.apache.solr.cloud.OverseerCollectionProcessor.createCollection(OverseerCollectionProcessor.java:838)
   [junit4]   2>                at 
org.apache.solr.cloud.OverseerCollectionProcessor.processMessage(OverseerCollectionProcessor.java:175)
   [junit4]   2>                at 
org.apache.solr.cloud.OverseerCollectionProcessorTest$OverseerCollectionProcessorToBeTested.processMessage(OverseerCollectionProcessorTest.java:95)
   [junit4]   2>                at 
org.apache.solr.cloud.OverseerCollectionProcessor.run(OverseerCollectionProcessor.java:127)
   [junit4]   2>                at java.lang.Thread.run(Thread.java:724)
   [junit4]   2>
   [junit4]   2> 2259 T12 oasc.OverseerCollectionProcessor.run Overseer 
Collection Processor: Message id:id complete, response:{Operation 
createcollection caused exception:=java.lang.AssertionError:
   [junit4]   2>          Unexpected method call 
submit(ShardRequest:{params=action=CREATE&name=mycollection_shard1_replica1&collection.configName=myconfig&collection=mycollection&shard=shard1&numShards=8&qt=%2Fadmin%2Fcores,
 purpose=1, nResponses =0}, "localhost:8964/solr", 
action=CREATE&name=mycollection_shard1_replica1&collection.configName=myconfig&collection=mycollection&shard=shard1&numShards=8&qt=%2Fadmin%2Fcores):,exception={msg=
   [junit4]   2>          Unexpected method call 
submit(ShardRequest:{params=action=CREATE&name=mycollection_shard1_replica1&collection.configName=myconfig&collection=mycollection&shard=shard1&numShards=8&qt=%2Fadmin%2Fcores,
 purpose=1, nResponses =0}, "localhost:8964/solr", 
action=CREATE&name=mycollection_shard1_replica1&collection.configName=myconfig&collection=mycollection&shard=shard1&numShards=8&qt=%2Fadmin%2Fcores):,rspCode=-1}}
   [junit4]   2> 2307 T11 oas.SolrTestCaseJ4.tearDown ###Ending 
testNoReplicationCollectionNotCreatedDueToMaxShardsPerNodeAndNodesToCreateOnLimits
   [junit4] OK      1.28s | 
OverseerCollectionProcessorTest.testNoReplicationCollectionNotCreatedDueToMaxShardsPerNodeAndNodesToCreateOnLimits
{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to