Skip to content

Commit 127cd6b

Browse files
committed
Merge branch 'JDK17' into merge-JDK17-master-20240520
2 parents 938e443 + bbecbb6 commit 127cd6b

File tree

7 files changed

+97
-96
lines changed

7 files changed

+97
-96
lines changed

core/pom.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,12 @@
5858
</dependency>
5959
<dependency>
6060
<groupId>org.mockito</groupId>
61-
<artifactId>mockito-all</artifactId>
61+
<artifactId>mockito-core</artifactId>
62+
</dependency>
63+
<dependency>
64+
<groupId>org.springframework</groupId>
65+
<artifactId>spring-test</artifactId>
66+
<scope>test</scope>
6267
</dependency>
6368
</dependencies>
6469
</project>

core/src/test/java/org/pentaho/cdf/comments/CommentsEngineTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* Copyright 2002 - 2018 Webdetails, a Hitachi Vantara company. All rights reserved.
2+
* Copyright 2002 - 2024 Webdetails, a Hitachi Vantara company. All rights reserved.
33
*
44
* This software was developed by Webdetails and is provided under the terms
55
* of the Mozilla Public License, Version 2.0, or any later version. You may not use
@@ -20,7 +20,7 @@
2020
import java.sql.Date;
2121

2222
import static org.junit.Assert.assertEquals;
23-
import static org.mockito.Matchers.any;
23+
import static org.mockito.ArgumentMatchers.any;
2424
import static org.mockito.Mockito.doCallRealMethod;
2525
import static org.mockito.Mockito.doReturn;
2626
import static org.mockito.Mockito.mock;

pentaho/pom.xml

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,6 @@
128128
<version>${javax.persistence-api.version}</version>
129129
<scope>provided</scope>
130130
</dependency>
131-
<dependency>
132-
<groupId>org.mockito</groupId>
133-
<artifactId>mockito-all</artifactId>
134-
</dependency>
135131
<dependency>
136132
<groupId>commons-collections</groupId>
137133
<artifactId>commons-collections</artifactId>
@@ -157,22 +153,10 @@
157153
<scope>test</scope>
158154
</dependency>
159155
<dependency>
160-
<groupId>org.mockito</groupId>
161-
<artifactId>mockito-all</artifactId>
162-
<version>${mockito-all.version}</version>
163-
<scope>test</scope>
164-
</dependency>
165-
<dependency>
166-
<groupId>org.powermock</groupId>
167-
<artifactId>powermock-module-junit4</artifactId>
168-
<version>${powermock.version}</version>
169-
<scope>test</scope>
170-
</dependency>
171-
<dependency>
172-
<groupId>org.powermock</groupId>
173-
<artifactId>powermock-api-mockito</artifactId>
174-
<version>${powermock.version}</version>
156+
<groupId>org.springframework</groupId>
157+
<artifactId>spring-test</artifactId>
175158
<scope>test</scope>
176159
</dependency>
160+
177161
</dependencies>
178162
</project>

pentaho/src/test/java/org/pentaho/cdf/render/CdfHtmlRendererTest.java

Lines changed: 38 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* Copyright 2002 - 2017 Webdetails, a Hitachi Vantara company. All rights reserved.
2+
* Copyright 2002 - 2024 Webdetails, a Hitachi Vantara company. All rights reserved.
33
*
44
* This software was developed by Webdetails and is provided under the terms
55
* of the Mozilla Public License, Version 2.0, or any later version. You may not use
@@ -22,12 +22,22 @@
2222
import org.json.JSONException;
2323
import org.junit.Before;
2424
import org.junit.Test;
25+
import org.mockito.Mockito;
2526
import org.pentaho.cdf.environment.templater.ITemplater;
2627
import pt.webdetails.cpf.localization.MessageBundlesHelper;
2728
import pt.webdetails.cpf.repository.api.IBasicFile;
2829
import pt.webdetails.cpf.repository.api.IReadAccess;
2930

30-
import static org.mockito.Mockito.*;
31+
import static org.mockito.ArgumentMatchers.any;
32+
import static org.mockito.ArgumentMatchers.anyBoolean;
33+
import static org.mockito.ArgumentMatchers.anyInt;
34+
import static org.mockito.Mockito.doNothing;
35+
import static org.mockito.Mockito.doReturn;
36+
import static org.mockito.Mockito.mock;
37+
import static org.mockito.Mockito.spy;
38+
import static org.mockito.Mockito.times;
39+
import static org.mockito.Mockito.verify;
40+
3141

3242
public class CdfHtmlRendererTest extends TestCase {
3343
CdfHtmlRenderer cdfHtmlRenderer;
@@ -37,7 +47,7 @@ public void setUp() {
3747
cdfHtmlRenderer = spy( new CdfHtmlRenderer() );
3848
try {
3949
doReturn( "" ).when( cdfHtmlRenderer )
40-
.getConfiguration( anyString(), any( HashMap.class ), anyInt() );
50+
.getConfiguration( any(), Mockito.<HashMap>any(), anyInt() );
4151
} catch ( JSONException e ) {
4252
e.printStackTrace();
4353
}
@@ -75,57 +85,57 @@ public void testExecuteRequire() throws Exception {
7585

7686
ITemplater templater = mock( ITemplater.class );
7787
String intro = "<head></head>";
78-
doReturn( intro ).when( templater ).getTemplateSection( anyString(), any( ITemplater.Section.class ) );
88+
doReturn( intro ).when( templater ).getTemplateSection( any(), any( ITemplater.Section.class ) );
7989
doReturn( templater ).when( cdfHtmlRenderer ).getTemplater();
8090

81-
doReturn( "" ).when( cdfHtmlRenderer ).updateUserLanguageKey( anyString() );
82-
doReturn( "" ).when( cdfHtmlRenderer ).processi18nTags( anyString(), any( ArrayList.class ) );
83-
doReturn( "" ).when( cdfHtmlRenderer ).getDashboardContent( any( InputStream.class ), any( ArrayList.class ) );
91+
doReturn( "" ).when( cdfHtmlRenderer ).updateUserLanguageKey( any() );
92+
doReturn( "" ).when( cdfHtmlRenderer ).processi18nTags( any(), Mockito.<ArrayList>any() );
93+
doReturn( "" ).when( cdfHtmlRenderer ).getDashboardContent( Mockito.<InputStream>any(), Mockito.<ArrayList>any() );
8494

8595
doReturn( "/public/cdf" ).when( cdfHtmlRenderer ).getPluginRepositoryDir();
8696
MessageBundlesHelper mbh = mock( MessageBundlesHelper.class );
87-
doReturn( intro ).when( mbh ).replaceParameters( anyString(), any( ArrayList.class ) );
88-
doReturn( mbh ).when( cdfHtmlRenderer ).getMessageBundlesHelper( anyString() );
97+
doReturn( intro ).when( mbh ).replaceParameters( any(), Mockito.<ArrayList>any() );
98+
doReturn( mbh ).when( cdfHtmlRenderer ).getMessageBundlesHelper( any() );
8999

90100
doNothing().when( cdfHtmlRenderer )
91-
.getHeadersInternal( anyString(), any( HashMap.class ), any( OutputStream.class ) );
92-
doNothing().when( cdfHtmlRenderer ).generateContext( any( OutputStream.class ), any( HashMap.class ), anyInt() );
93-
doNothing().when( cdfHtmlRenderer ).generateStorage( any( OutputStream.class ), anyString() );
101+
.getHeadersInternal( any(), Mockito.<HashMap>any(), Mockito.<OutputStream>any() );
102+
doNothing().when( cdfHtmlRenderer ).generateContext( Mockito.<OutputStream>any(), Mockito.<HashMap>any(), anyInt() );
103+
doNothing().when( cdfHtmlRenderer ).generateStorage( Mockito.<OutputStream>any(), any() );
94104

95105
cdfHtmlRenderer.execute( outputStream, basicFile, style, messages, parameterMap, user, inactiveInterval,
96106
/*isRequire*/true, /*loadTheme*/false );
97107

98108
verify( cdfHtmlRenderer, times( 0 ) )
99-
.getHeadersInternal( anyString(), any( HashMap.class ), any( OutputStream.class ) );
100-
verify( cdfHtmlRenderer, times( 0 ) ).generateContext( any( OutputStream.class ), any( HashMap.class ), anyInt() );
101-
verify( cdfHtmlRenderer, times( 0 ) ).generateStorage( any( OutputStream.class ), anyString() );
102-
verify( cdfHtmlRenderer, times( 1 ) ).getWebContextHeader( any( OutputStream.class ), anyBoolean() );
109+
.getHeadersInternal( any(), Mockito.<HashMap>any(), Mockito.<OutputStream>any() );
110+
verify( cdfHtmlRenderer, times( 0 ) ).generateContext( Mockito.<OutputStream>any(), Mockito.<HashMap>any(), anyInt() );
111+
verify( cdfHtmlRenderer, times( 0 ) ).generateStorage( Mockito.<OutputStream>any(), any() );
112+
verify( cdfHtmlRenderer, times( 1 ) ).getWebContextHeader( Mockito.<OutputStream>any(), anyBoolean() );
103113

104114
cdfHtmlRenderer.execute( outputStream, basicFile, style, messages, parameterMap, user, inactiveInterval,
105115
/*isRequire*/false, /*loadTheme*/false );
106116

107117
verify( cdfHtmlRenderer, times( 1 ) )
108-
.getHeadersInternal( anyString(), any( HashMap.class ), any( OutputStream.class ) );
109-
verify( cdfHtmlRenderer, times( 1 ) ).generateContext( any( OutputStream.class ), any( HashMap.class ), anyInt() );
110-
verify( cdfHtmlRenderer, times( 1 ) ).generateStorage( any( OutputStream.class ), anyString() );
111-
verify( cdfHtmlRenderer, times( 1 ) ).getWebContextHeader( any( OutputStream.class ), anyBoolean() );
118+
.getHeadersInternal( any(), Mockito.<HashMap>any(), Mockito.<OutputStream>any() );
119+
verify( cdfHtmlRenderer, times( 1 ) ).generateContext( Mockito.<OutputStream>any(), any( HashMap.class ), anyInt() );
120+
verify( cdfHtmlRenderer, times( 1 ) ).generateStorage( Mockito.<OutputStream>any(), any() );
121+
verify( cdfHtmlRenderer, times( 1 ) ).getWebContextHeader( Mockito.<OutputStream>any(), anyBoolean() );
112122

113123
cdfHtmlRenderer.execute( outputStream, basicFile, style, messages, parameterMap, user, inactiveInterval,
114124
/*isRequire*/true, /*loadTheme*/true );
115125

116126
verify( cdfHtmlRenderer, times( 1 ) )
117-
.getHeadersInternal( anyString(), any( HashMap.class ), any( OutputStream.class ) );
118-
verify( cdfHtmlRenderer, times( 1 ) ).generateContext( any( OutputStream.class ), any( HashMap.class ), anyInt() );
119-
verify( cdfHtmlRenderer, times( 1 ) ).generateStorage( any( OutputStream.class ), anyString() );
120-
verify( cdfHtmlRenderer, times( 2 ) ).getWebContextHeader( any( OutputStream.class ), anyBoolean() );
127+
.getHeadersInternal( any(), Mockito.<HashMap>any(), Mockito.<OutputStream>any() );
128+
verify( cdfHtmlRenderer, times( 1 ) ).generateContext( Mockito.<OutputStream>any(), any( HashMap.class ), anyInt() );
129+
verify( cdfHtmlRenderer, times( 1 ) ).generateStorage( Mockito.<OutputStream>any(), any() );
130+
verify( cdfHtmlRenderer, times( 2 ) ).getWebContextHeader( Mockito.<OutputStream>any(), anyBoolean() );
121131

122132
cdfHtmlRenderer.execute( outputStream, basicFile, style, messages, parameterMap, user, inactiveInterval,
123133
/*isRequire*/false, /*loadTheme*/true );
124134

125135
verify( cdfHtmlRenderer, times( 2 ) )
126-
.getHeadersInternal( anyString(), any( HashMap.class ), any( OutputStream.class ) );
127-
verify( cdfHtmlRenderer, times( 2 ) ).generateContext( any( OutputStream.class ), any( HashMap.class ), anyInt() );
128-
verify( cdfHtmlRenderer, times( 2 ) ).generateStorage( any( OutputStream.class ), anyString() );
129-
verify( cdfHtmlRenderer, times( 2 ) ).getWebContextHeader( any( OutputStream.class ), anyBoolean() );
136+
.getHeadersInternal( any(), Mockito.<HashMap>any(), Mockito.<OutputStream>any() );
137+
verify( cdfHtmlRenderer, times( 2 ) ).generateContext( Mockito.<OutputStream>any(), Mockito.<HashMap>any(), anyInt() );
138+
verify( cdfHtmlRenderer, times( 2 ) ).generateStorage( Mockito.<OutputStream>any(), any() );
139+
verify( cdfHtmlRenderer, times( 2 ) ).getWebContextHeader( Mockito.<OutputStream>any(), anyBoolean() );
130140
}
131141
}

pentaho/src/test/java/org/pentaho/cdf/settings/SettingsApiTest.java

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* Copyright 2019 Webdetails, a Hitachi Vantara company. All rights reserved.
2+
* Copyright 2019 - 2024 Webdetails, a Hitachi Vantara company. All rights reserved.
33
*
44
* This software was developed by Webdetails and is provided under the terms
55
* of the Mozilla Public License, Version 2.0, or any later version. You may not use
@@ -13,53 +13,59 @@
1313

1414
package org.pentaho.cdf.settings;
1515

16+
import org.junit.After;
1617
import org.junit.Before;
1718
import org.junit.Test;
18-
import org.junit.runner.RunWith;
19+
import org.junit.jupiter.api.BeforeEach;
20+
import org.mockito.Mock;
21+
import org.mockito.MockedStatic;
22+
import org.mockito.MockitoAnnotations;
1923
import org.pentaho.cdf.utils.CorsUtil;
2024
import org.pentaho.platform.engine.core.system.PentahoSessionHolder;
21-
import org.powermock.api.mockito.PowerMockito;
22-
import org.powermock.core.classloader.annotations.Mock;
23-
import org.powermock.core.classloader.annotations.PowerMockIgnore;
24-
import org.powermock.core.classloader.annotations.PrepareForTest;
25-
import org.powermock.modules.junit4.PowerMockRunner;
26-
import org.powermock.reflect.Whitebox;
2725

2826
import javax.servlet.http.HttpServletRequest;
2927
import javax.servlet.http.HttpServletResponse;
3028
import javax.ws.rs.core.Response;
3129

3230
import static org.junit.Assert.assertEquals;
31+
import static org.mockito.Mockito.mock;
32+
import static org.mockito.Mockito.mockStatic;
3333
import static org.mockito.Mockito.never;
3434
import static org.mockito.Mockito.times;
3535
import static org.mockito.Mockito.verify;
36-
import static org.powermock.api.mockito.PowerMockito.when;
36+
import static org.mockito.Mockito.when;
37+
import org.springframework.test.util.ReflectionTestUtils;
38+
3739

38-
@RunWith( PowerMockRunner.class )
39-
@PowerMockIgnore( "jdk.internal.reflect.*" )
40-
@PrepareForTest( { SettingsEngine.class, PentahoSessionHolder.class, CorsUtil.class } )
4140
public class SettingsApiTest {
42-
@Mock
43-
SettingsEngine fakeSettingsEngineSingleton;
41+
private MockedStatic<PentahoSessionHolder> pentahoSessionHolderMockedStatic;
42+
43+
private static SettingsEngine fakeSettingsEngineSingleton;
4444

45-
@Mock
46-
CorsUtil fakeCorsUtilSingleton;
45+
private static CorsUtil fakeCorsUtilSingleton;
4746

48-
@Mock
49-
HttpServletRequest servletRequest;
47+
private static HttpServletRequest servletRequest;
5048

51-
@Mock
52-
HttpServletResponse servletResponse;
49+
private static HttpServletResponse servletResponse;
5350

5451

5552
@Before
5653
public void prepareMocks() {
57-
Whitebox.setInternalState( SettingsEngine.class, "cdfSettings", fakeSettingsEngineSingleton );
58-
Whitebox.setInternalState( CorsUtil.class, "instance", fakeCorsUtilSingleton );
59-
PowerMockito.mockStatic( PentahoSessionHolder.class );
54+
fakeSettingsEngineSingleton = mock( SettingsEngine.class );
55+
fakeCorsUtilSingleton = mock( CorsUtil.class );
56+
servletRequest = mock( HttpServletRequest.class );
57+
servletResponse = mock( HttpServletResponse.class );
58+
ReflectionTestUtils.setField( SettingsEngine.class, "cdfSettings", fakeSettingsEngineSingleton );
59+
ReflectionTestUtils.setField( CorsUtil.class, "instance", fakeCorsUtilSingleton );
60+
pentahoSessionHolderMockedStatic = mockStatic( PentahoSessionHolder.class );
6061
when( PentahoSessionHolder.getSession() ).thenReturn( null );
6162
}
6263

64+
@After
65+
public void afterEach() {
66+
pentahoSessionHolderMockedStatic.close();
67+
}
68+
6369
private void verifyNumberOfCallsToSetValueWithKeyValue( String key, String value, int numberOfTimes ) {
6470
SettingsApi settings = new SettingsApi();
6571

pentaho/src/test/java/org/pentaho/cdf/storage/StorageApiTest.java

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* Copyright 2002 - 2017 Webdetails, a Hitachi Vantara company. All rights reserved.
2+
* Copyright 2002 - 2024 Webdetails, a Hitachi Vantara company. All rights reserved.
33
*
44
* This software was developed by Webdetails and is provided under the terms
55
* of the Mozilla Public License, Version 2.0, or any later version. You may not use
@@ -13,38 +13,36 @@
1313

1414
package org.pentaho.cdf.storage;
1515

16-
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
17-
import static org.mockito.Mockito.mock;
18-
import static org.mockito.Mockito.spy;
19-
import static org.mockito.Mockito.anyString;
20-
import static org.mockito.Mockito.eq;
21-
import static org.mockito.Mockito.when;
22-
import static org.mockito.Mockito.verify;
23-
import static org.mockito.Mockito.doNothing;
24-
import static org.mockito.Mockito.times;
25-
26-
import org.junit.Assert;
2716
import org.json.JSONObject;
2817
import org.junit.After;
18+
import org.junit.Assert;
2919
import org.junit.Before;
3020
import org.junit.Test;
31-
import org.mockito.Matchers;
21+
import org.mockito.Mockito;
3222
import org.pentaho.platform.api.engine.IPentahoSession;
3323
import org.pentaho.platform.api.engine.ISecurityHelper;
3424
import org.pentaho.platform.engine.core.system.PentahoSessionHolder;
3525
import org.pentaho.platform.engine.security.SecurityHelper;
36-
3726
import pt.webdetails.cpf.messaging.MockHttpServletRequest;
3827
import pt.webdetails.cpf.messaging.MockHttpServletResponse;
3928
import pt.webdetails.cpf.utils.CharsetHelper;
4029

30+
import javax.servlet.http.HttpServletRequest;
31+
import javax.servlet.http.HttpServletResponse;
32+
import javax.ws.rs.core.Response;
4133
import java.io.ByteArrayOutputStream;
4234
import java.io.ObjectOutputStream;
4335
import java.util.HashMap;
4436

45-
import javax.servlet.http.HttpServletRequest;
46-
import javax.servlet.http.HttpServletResponse;
47-
import javax.ws.rs.core.Response;
37+
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
38+
import static org.mockito.Mockito.anyString;
39+
import static org.mockito.Mockito.doNothing;
40+
import static org.mockito.Mockito.eq;
41+
import static org.mockito.Mockito.mock;
42+
import static org.mockito.Mockito.spy;
43+
import static org.mockito.Mockito.times;
44+
import static org.mockito.Mockito.verify;
45+
import static org.mockito.Mockito.when;
4846

4947
public class StorageApiTest {
5048
private static final String STORAGE_VALUE = "fake";
@@ -73,7 +71,7 @@ public void setUp() throws Exception {
7371
when( se.store( anyString(), anyString() ) ).thenReturn( dummy );
7472

7573
testee = spy( new StorageApi( se ) );
76-
doNothing().when( testee ).setCorsHeaders( Matchers.<HttpServletRequest>anyObject(), Matchers.<HttpServletResponse>anyObject() );
74+
doNothing().when( testee ).setCorsHeaders( Mockito.<HttpServletRequest>any(), Mockito.<HttpServletResponse>any() );
7775
}
7876

7977
@After

pom.xml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,7 @@
4848
<pentaho-json.version>10.2.0.0-SNAPSHOT</pentaho-json.version>
4949
<servlet-api.version>2.4</servlet-api.version>
5050
<owasp-encoder.version>1.2</owasp-encoder.version>
51-
<powermock.version>1.6.3</powermock.version>
52-
<mockito-core.version>1.10.19</mockito-core.version>
53-
<mockito-all.version>1.10.19</mockito-all.version>
51+
<mockito-core.version>5.10.0</mockito-core.version>
5452

5553
<global.require.file></global.require.file>
5654
<requirejs.config.files.pattern></requirejs.config.files.pattern>
@@ -133,8 +131,8 @@
133131
</dependency>
134132
<dependency>
135133
<groupId>org.mockito</groupId>
136-
<artifactId>mockito-all</artifactId>
137-
<version>${mockito-all.version}</version>
134+
<artifactId>mockito-core</artifactId>
135+
<version>${mockito-core.version}</version>
138136
<scope>test</scope>
139137
</dependency>
140138
<dependency>

0 commit comments

Comments
 (0)