|
4 | 4 | import ch.sbb.polarion.extension.generic.fields.FieldType;
|
5 | 5 | import ch.sbb.polarion.extension.generic.fields.model.FieldMetadata;
|
6 | 6 | import ch.sbb.polarion.extension.generic.fields.model.Option;
|
| 7 | +import ch.sbb.polarion.extension.generic.polarion.PlatformContextMockExtension; |
| 8 | +import ch.sbb.polarion.extension.generic.polarion.TransactionalExecutorExtension; |
7 | 9 | import ch.sbb.polarion.extension.generic.util.AssigneeUtils;
|
8 | 10 | import ch.sbb.polarion.extension.generic.util.TestUtils;
|
9 | 11 | import com.polarion.alm.projects.IProjectService;
|
10 | 12 | import com.polarion.alm.projects.model.IProject;
|
11 |
| -import com.polarion.alm.shared.api.transaction.TransactionalExecutor; |
| 13 | +import com.polarion.alm.shared.api.model.baselinecollection.BaselineCollection; |
| 14 | +import com.polarion.alm.shared.api.model.baselinecollection.BaselineCollectionReference; |
| 15 | +import com.polarion.alm.shared.api.transaction.ReadOnlyTransaction; |
12 | 16 | import com.polarion.alm.tracker.IModuleManager;
|
13 | 17 | import com.polarion.alm.tracker.ITrackerService;
|
14 | 18 | import com.polarion.alm.tracker.model.IModule;
|
|
34 | 38 | import org.junit.jupiter.api.Test;
|
35 | 39 | import org.junit.jupiter.api.extension.ExtendWith;
|
36 | 40 | import org.mockito.Mock;
|
| 41 | +import org.mockito.MockedConstruction; |
37 | 42 | import org.mockito.MockedStatic;
|
38 | 43 | import org.mockito.junit.jupiter.MockitoExtension;
|
39 | 44 |
|
|
48 | 53 | import static org.mockito.ArgumentMatchers.anyString;
|
49 | 54 | import static org.mockito.Mockito.*;
|
50 | 55 |
|
51 |
| -@ExtendWith(MockitoExtension.class) |
| 56 | +@ExtendWith({MockitoExtension.class, PlatformContextMockExtension.class, TransactionalExecutorExtension.class}) |
52 | 57 | @SuppressWarnings({"rawtypes", "unchecked", "UnusedReturnValue"})
|
53 | 58 | public class PolarionServiceTest {
|
54 | 59 |
|
@@ -120,11 +125,14 @@ void testGetNotExistentModule() {
|
120 | 125 |
|
121 | 126 | @Test
|
122 | 127 | void testGetNotExistentCollection() {
|
123 |
| - try (MockedStatic<TransactionalExecutor> transactionalExecutorMockedStatic = mockStatic(TransactionalExecutor.class)) { |
124 |
| - mockProject(Boolean.TRUE); |
125 |
| - IBaselineCollection collection = mockCollection(Boolean.FALSE); |
126 |
| - transactionalExecutorMockedStatic.when(() -> TransactionalExecutor.executeSafelyInReadOnlyTransaction(any())).thenReturn(collection); |
| 128 | + mockProject(Boolean.TRUE); |
| 129 | + IBaselineCollection collection = mockCollection(Boolean.FALSE); |
127 | 130 |
|
| 131 | + try (MockedConstruction<BaselineCollectionReference> baselineCollectionReferenceMockedConstruction = mockConstruction(BaselineCollectionReference.class, (mock, context) -> { |
| 132 | + BaselineCollection baselineCollection = mock(BaselineCollection.class); |
| 133 | + when(baselineCollection.getOldApi()).thenReturn(collection); |
| 134 | + when(mock.get(any(ReadOnlyTransaction.class))).thenReturn(baselineCollection); |
| 135 | + })) { |
128 | 136 | ObjectNotFoundException exception = assertThrows(ObjectNotFoundException.class, () -> polarionService.getCollection(PROJECT_ID, COLLECTION_ID));
|
129 | 137 | assertEquals("Collection with id '1' not found in project 'project_id'", exception.getMessage());
|
130 | 138 |
|
@@ -217,22 +225,28 @@ void testGetModuleWithRevision() {
|
217 | 225 |
|
218 | 226 | @Test
|
219 | 227 | void testGetCollection() {
|
220 |
| - try (MockedStatic<TransactionalExecutor> transactionalExecutorMockedStatic = mockStatic(TransactionalExecutor.class)) { |
221 |
| - mockProject(Boolean.TRUE); |
222 |
| - IBaselineCollection collection = mockCollection(Boolean.TRUE); |
223 |
| - transactionalExecutorMockedStatic.when(() -> TransactionalExecutor.executeSafelyInReadOnlyTransaction(any())).thenReturn(collection); |
| 228 | + mockProject(Boolean.TRUE); |
| 229 | + IBaselineCollection collection = mockCollection(Boolean.TRUE); |
224 | 230 |
|
| 231 | + try (MockedConstruction<BaselineCollectionReference> baselineCollectionReferenceMockedConstruction = mockConstruction(BaselineCollectionReference.class, (mock, context) -> { |
| 232 | + BaselineCollection baselineCollection = mock(BaselineCollection.class); |
| 233 | + when(baselineCollection.getOldApi()).thenReturn(collection); |
| 234 | + when(mock.get(any(ReadOnlyTransaction.class))).thenReturn(baselineCollection); |
| 235 | + })) { |
225 | 236 | assertNotNull(polarionService.getCollection(PROJECT_ID, COLLECTION_ID));
|
226 | 237 | }
|
227 | 238 | }
|
228 | 239 |
|
229 | 240 | @Test
|
230 | 241 | void testGetCollectionWithRevision() {
|
231 |
| - try (MockedStatic<TransactionalExecutor> transactionalExecutorMockedStatic = mockStatic(TransactionalExecutor.class)) { |
232 |
| - mockProject(Boolean.TRUE); |
233 |
| - IBaselineCollection collection = mockCollection(Boolean.TRUE); |
234 |
| - transactionalExecutorMockedStatic.when(() -> TransactionalExecutor.executeSafelyInReadOnlyTransaction(any())).thenReturn(collection); |
| 242 | + mockProject(Boolean.TRUE); |
| 243 | + IBaselineCollection collection = mockCollection(Boolean.TRUE); |
235 | 244 |
|
| 245 | + try (MockedConstruction<BaselineCollectionReference> baselineCollectionReferenceMockedConstruction = mockConstruction(BaselineCollectionReference.class, (mock, context) -> { |
| 246 | + BaselineCollection baselineCollection = mock(BaselineCollection.class); |
| 247 | + when(baselineCollection.getOldApi()).thenReturn(collection); |
| 248 | + when(mock.get(any(ReadOnlyTransaction.class))).thenReturn(baselineCollection); |
| 249 | + })) { |
236 | 250 | assertNotNull(polarionService.getCollection(PROJECT_ID, COLLECTION_ID, REVISION));
|
237 | 251 |
|
238 | 252 | IllegalArgumentException exception = assertThrows(IllegalArgumentException.class,
|
|
0 commit comments