@@ -22,24 +22,74 @@ This file is part of the iText (R) project.
22
22
*/
23
23
package com .itextpdf .commons .actions .processors ;
24
24
25
+ import com .itextpdf .commons .actions .confirmations .ConfirmEvent ;
26
+ import com .itextpdf .commons .actions .data .CommonsProductData ;
27
+ import com .itextpdf .commons .actions .sequence .SequenceId ;
28
+ import com .itextpdf .commons .ecosystem .ITextTestEvent ;
25
29
import com .itextpdf .commons .exceptions .CommonsExceptionMessageConstant ;
30
+ import com .itextpdf .test .AssertUtil ;
26
31
import com .itextpdf .test .ExtendedITextTest ;
32
+ import com .itextpdf .test .LogLevelConstants ;
33
+ import com .itextpdf .test .annotations .LogMessage ;
34
+ import com .itextpdf .test .annotations .LogMessages ;
27
35
import com .itextpdf .test .annotations .type .UnitTest ;
28
36
29
- import org .junit .Rule ;
37
+ import org .junit .Assert ;
30
38
import org .junit .Test ;
31
39
import org .junit .experimental .categories .Category ;
32
- import org .junit .rules .ExpectedException ;
33
40
34
41
@ Category (UnitTest .class )
35
42
public class DefaultITextProductEventProcessorTest extends ExtendedITextTest {
36
- @ Rule
37
- public ExpectedException junitExpectedException = ExpectedException .none ();
38
43
39
44
@ Test
40
45
public void constructorWithNullProductNameTest () {
41
- junitExpectedException .expect (IllegalArgumentException .class );
42
- junitExpectedException .expectMessage (CommonsExceptionMessageConstant .PRODUCT_NAME_CAN_NOT_BE_NULL );
43
- new DefaultITextProductEventProcessor (null );
46
+ Exception e =
47
+ Assert .assertThrows (IllegalArgumentException .class , () -> new DefaultITextProductEventProcessor (null ));
48
+ Assert .assertEquals (CommonsExceptionMessageConstant .PRODUCT_NAME_CAN_NOT_BE_NULL , e .getMessage ());
49
+ }
50
+
51
+ @ Test
52
+ @ LogMessages (messages = @ LogMessage (messageTemplate = "{0} you are probably {1}" , logLevel = LogLevelConstants .INFO ))
53
+ public void messageIsLoggedTest () {
54
+ TestDefaultITextProductEventProcessor testProcessor = new TestDefaultITextProductEventProcessor ();
55
+ ITextTestEvent e = new ITextTestEvent (new SequenceId (), CommonsProductData .getInstance (), null , "test event" );
56
+ AssertUtil .doesNotThrow (() -> testProcessor .onEvent (new ConfirmEvent (e )));
57
+ }
58
+
59
+ @ Test
60
+ @ LogMessages (messages =
61
+ @ LogMessage (messageTemplate = "{0} you are probably {1}" , logLevel = LogLevelConstants .INFO , count = 4 )
62
+ )
63
+ public void messageIsLoggedThreeTimesTest () {
64
+ int iterationsNumber = 15 ;
65
+ // "1" correspond to expected iterations with log messages:
66
+ // 1 0 0 0 0
67
+ // 0 1 0 0 0
68
+ // 1 0 0 0 1
69
+ TestDefaultITextProductEventProcessor testProcessor = new TestDefaultITextProductEventProcessor ();
70
+ ITextTestEvent e = new ITextTestEvent (new SequenceId (), CommonsProductData .getInstance (), null , "test event" );
71
+ for (int i = 0 ; i < iterationsNumber ; ++i ) {
72
+ AssertUtil .doesNotThrow (() -> testProcessor .onEvent (new ConfirmEvent (e )));
73
+ }
74
+ }
75
+
76
+ private static class TestDefaultITextProductEventProcessor extends DefaultITextProductEventProcessor {
77
+
78
+ public TestDefaultITextProductEventProcessor () {
79
+ super ("test product" );
80
+ }
81
+
82
+ @ Override
83
+ long acquireRepeatLevel (int lvl ) {
84
+ switch (lvl ) {
85
+ case 0 :
86
+ return 0 ;
87
+ case 1 :
88
+ return 5 ;
89
+ case 2 :
90
+ return 3 ;
91
+ }
92
+ return 0 ;
93
+ }
44
94
}
45
95
}
0 commit comments