mirror of
https://github.com/apache/activemq.git
synced 2025-02-17 15:35:36 +00:00
Merge pull request #642 from Charlie-chenchrl/brokerServiceTest
fix BrokerServiceTest by replacing powermock
This commit is contained in:
commit
fc2ad12e6b
@ -302,27 +302,7 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.mockito</groupId>
|
<groupId>org.mockito</groupId>
|
||||||
<artifactId>mockito-core</artifactId>
|
<artifactId>mockito-inline</artifactId>
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.powermock</groupId>
|
|
||||||
<artifactId>powermock-core</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.powermock</groupId>
|
|
||||||
<artifactId>powermock-module-junit4</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.powermock</groupId>
|
|
||||||
<artifactId>powermock-api-mockito</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.powermock</groupId>
|
|
||||||
<artifactId>powermock-api-mockito-common</artifactId>
|
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
@ -22,22 +22,19 @@ import org.apache.activemq.network.NetworkConnector;
|
|||||||
import org.apache.activemq.store.PersistenceAdapter;
|
import org.apache.activemq.store.PersistenceAdapter;
|
||||||
import org.apache.activemq.util.LargeFile;
|
import org.apache.activemq.util.LargeFile;
|
||||||
import org.apache.activemq.util.StoreUtil;
|
import org.apache.activemq.util.StoreUtil;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.Test;
|
||||||
import static org.powermock.api.mockito.PowerMockito.mockStatic;
|
import org.mockito.MockedStatic;
|
||||||
import static org.powermock.api.mockito.PowerMockito.verifyStatic;
|
|
||||||
import static org.powermock.api.mockito.PowerMockito.when;
|
|
||||||
import org.powermock.core.classloader.annotations.PrepareForTest;
|
|
||||||
import org.powermock.modules.junit4.PowerMockRunner;
|
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
import org.mockito.Mockito;
|
||||||
|
|
||||||
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
|
import static org.mockito.Mockito.times;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests for the BrokerService class
|
* Tests for the BrokerService class
|
||||||
*
|
*
|
||||||
* @author chirino
|
* @author chirino
|
||||||
*/
|
*/
|
||||||
@RunWith(PowerMockRunner.class)
|
|
||||||
@PrepareForTest(StoreUtil.class)
|
|
||||||
public class BrokerServiceTest extends TestCase {
|
public class BrokerServiceTest extends TestCase {
|
||||||
public void testAddRemoveTransportsWithJMX() throws Exception {
|
public void testAddRemoveTransportsWithJMX() throws Exception {
|
||||||
BrokerService service = new BrokerService();
|
BrokerService service = new BrokerService();
|
||||||
@ -94,6 +91,7 @@ public class BrokerServiceTest extends TestCase {
|
|||||||
assertEquals( 1024L * 1024 * 1024 * 100, service.getSystemUsage().getStoreUsage().getLimit() );
|
assertEquals( 1024L * 1024 * 1024 * 100, service.getSystemUsage().getStoreUsage().getLimit() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testLargeFileSystem() throws Exception {
|
public void testLargeFileSystem() throws Exception {
|
||||||
BrokerService service = new BrokerService();
|
BrokerService service = new BrokerService();
|
||||||
|
|
||||||
@ -105,29 +103,30 @@ public class BrokerServiceTest extends TestCase {
|
|||||||
service.setPersistenceAdapter(persistenceAdapter);
|
service.setPersistenceAdapter(persistenceAdapter);
|
||||||
service.setUseJmx(false);
|
service.setUseJmx(false);
|
||||||
|
|
||||||
mockStatic(StoreUtil.class);
|
try(MockedStatic<StoreUtil> mocked = Mockito.mockStatic(StoreUtil.class)) {
|
||||||
|
// Return a simulated handle to a very large file system that will return a negative totalSpace.
|
||||||
|
mocked.when(() -> StoreUtil.findParentDirectory(dataDirectory)).thenReturn(new LargeFile(dataDirectory.getParentFile(), "KahaDB"));
|
||||||
|
mocked.when(() -> StoreUtil.findParentDirectory(tmpDataDirectory)).thenReturn(tmpDataDirectory.getParentFile());
|
||||||
|
|
||||||
// Return a simulated handle to a very large file system that will return a negative totalSpace.
|
try {
|
||||||
when(StoreUtil.findParentDirectory(dataDirectory)).thenReturn(new LargeFile(dataDirectory.getParentFile(), "KahaDB"));
|
service.start();
|
||||||
when(StoreUtil.findParentDirectory(tmpDataDirectory)).thenReturn(tmpDataDirectory.getParentFile());
|
fail("Expect error on negative totalspace");
|
||||||
|
} catch (Exception expected) {
|
||||||
|
// verify message
|
||||||
|
assertTrue(expected.getLocalizedMessage().contains("negative"));
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
service.stop();
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
// configure a 2x value for the fs limit so it can start
|
||||||
service.start();
|
service.getSystemUsage().getStoreUsage().setTotal( service.getSystemUsage().getStoreUsage().getLimit() * 2);
|
||||||
fail("Expect error on negative totalspace");
|
|
||||||
} catch (Exception expected) {
|
service.start(true);
|
||||||
// verify message
|
|
||||||
assertTrue(expected.getLocalizedMessage().contains("negative"));
|
|
||||||
}
|
|
||||||
finally {
|
|
||||||
service.stop();
|
service.stop();
|
||||||
|
|
||||||
|
mocked.verify(() -> StoreUtil.findParentDirectory(any()), times(3));
|
||||||
}
|
}
|
||||||
|
|
||||||
// configure a 2x value for the fs limit so it can start
|
|
||||||
service.getSystemUsage().getStoreUsage().setTotal( service.getSystemUsage().getStoreUsage().getLimit() * 2);
|
|
||||||
|
|
||||||
service.start(true);
|
|
||||||
service.stop();
|
|
||||||
|
|
||||||
verifyStatic();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
25
pom.xml
25
pom.xml
@ -85,7 +85,6 @@
|
|||||||
<log4j-version>1.2.17</log4j-version>
|
<log4j-version>1.2.17</log4j-version>
|
||||||
<mockito-version>3.8.0</mockito-version>
|
<mockito-version>3.8.0</mockito-version>
|
||||||
<owasp-dependency-check-version>5.2.4</owasp-dependency-check-version>
|
<owasp-dependency-check-version>5.2.4</owasp-dependency-check-version>
|
||||||
<powermock-version>1.7.4</powermock-version>
|
|
||||||
<mqtt-client-version>1.16</mqtt-client-version>
|
<mqtt-client-version>1.16</mqtt-client-version>
|
||||||
<org-apache-derby-version>10.14.2.0</org-apache-derby-version>
|
<org-apache-derby-version>10.14.2.0</org-apache-derby-version>
|
||||||
<osgi-version>6.0.0</osgi-version>
|
<osgi-version>6.0.0</osgi-version>
|
||||||
@ -943,27 +942,9 @@
|
|||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.powermock</groupId>
|
<groupId>org.mockito</groupId>
|
||||||
<artifactId>powermock-core</artifactId>
|
<artifactId>mockito-inline</artifactId>
|
||||||
<version>${powermock-version}</version>
|
<version>${mockito-version}</version>
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.powermock</groupId>
|
|
||||||
<artifactId>powermock-module-junit4</artifactId>
|
|
||||||
<version>${powermock-version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.powermock</groupId>
|
|
||||||
<artifactId>powermock-api-mockito</artifactId>
|
|
||||||
<version>${powermock-version}</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.powermock</groupId>
|
|
||||||
<artifactId>powermock-api-mockito-common</artifactId>
|
|
||||||
<version>${powermock-version}</version>
|
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user