30
30
31
31
/**
32
32
* Tests for {@link IdChangePipe}.
33
- *
33
+ *
34
34
* @author Christoph Böhme
35
35
*
36
36
*/
@@ -43,44 +43,42 @@ public final class IdChangePipeTest {
43
43
private static final String ENTITY = "En" ;
44
44
private static final String LITERAL_NAME = "Li" ;
45
45
private static final String LITERAL_VALUE = "Va" ;
46
-
46
+
47
47
private IdChangePipe idChangePipe ;
48
-
48
+
49
49
@ Mock
50
50
private StreamReceiver receiver ;
51
-
51
+
52
52
@ Before
53
53
public void setup () {
54
54
MockitoAnnotations .initMocks (this );
55
55
idChangePipe = new IdChangePipe ();
56
56
idChangePipe .setReceiver (receiver );
57
57
}
58
-
58
+
59
59
@ After
60
60
public void cleanup () {
61
61
idChangePipe .closeStream ();
62
62
}
63
-
63
+
64
64
@ Test
65
65
public void testShouldChangeIdsOfRecords () {
66
66
idChangePipe .startRecord (OLD_RECORD_ID1 );
67
67
idChangePipe .literal (StreamConstants .ID , NEW_RECORD_ID1 );
68
68
idChangePipe .endRecord ();
69
-
69
+
70
70
idChangePipe .startRecord (OLD_RECORD_ID2 );
71
71
idChangePipe .literal (StreamConstants .ID , NEW_RECORD_ID2 );
72
72
idChangePipe .endRecord ();
73
-
73
+
74
74
final InOrder ordered = inOrder (receiver );
75
75
ordered .verify (receiver ).startRecord (NEW_RECORD_ID1 );
76
- //ordered.verify(receiver).literal(StreamConstants.ID, NEW_RECORD_ID1);
77
76
ordered .verify (receiver ).endRecord ();
78
-
77
+
79
78
ordered .verify (receiver ).startRecord (NEW_RECORD_ID2 );
80
- //ordered.verify(receiver).literal(StreamConstants.ID, NEW_RECORD_ID2);
81
79
ordered .verify (receiver ).endRecord ();
82
80
}
83
-
81
+
84
82
@ Test
85
83
public void testShouldKeepRecordsWithoutIdLiteral () {
86
84
idChangePipe .startRecord (OLD_RECORD_ID1 );
@@ -89,13 +87,12 @@ public void testShouldKeepRecordsWithoutIdLiteral() {
89
87
idChangePipe .startRecord (OLD_RECORD_ID2 );
90
88
idChangePipe .literal (StreamConstants .ID , NEW_RECORD_ID2 );
91
89
idChangePipe .endRecord ();
92
-
90
+
93
91
final InOrder ordered = inOrder (receiver );
94
92
ordered .verify (receiver ).startRecord (OLD_RECORD_ID1 );
95
93
ordered .verify (receiver ).literal (LITERAL_NAME , LITERAL_VALUE );
96
94
ordered .verify (receiver ).endRecord ();
97
95
ordered .verify (receiver ).startRecord (NEW_RECORD_ID2 );
98
- //ordered.verify(receiver).literal(StreamConstants.ID, NEW_RECORD_ID2);
99
96
ordered .verify (receiver ).endRecord ();
100
97
}
101
98
@@ -109,42 +106,85 @@ public void testShouldRemoveRecordsWithoutIdLiteral() {
109
106
idChangePipe .startRecord (OLD_RECORD_ID2 );
110
107
idChangePipe .literal (StreamConstants .ID , NEW_RECORD_ID2 );
111
108
idChangePipe .endRecord ();
112
-
109
+
113
110
final InOrder ordered = inOrder (receiver );
114
111
ordered .verify (receiver ).startRecord (NEW_RECORD_ID2 );
115
- //ordered.verify(receiver).literal(StreamConstants.ID, NEW_RECORD_ID2);
116
112
ordered .verify (receiver ).endRecord ();
117
113
verifyNoMoreInteractions (receiver );
118
114
}
119
-
115
+
120
116
@ Test
121
117
public void testShouldNotUseNestedIdLiteralAsNewId () {
122
118
idChangePipe .startRecord (OLD_RECORD_ID1 );
123
119
idChangePipe .startEntity (ENTITY );
124
120
idChangePipe .literal (StreamConstants .ID , NEW_RECORD_ID1 );
125
121
idChangePipe .endEntity ();
126
122
idChangePipe .endRecord ();
127
-
123
+
128
124
final InOrder ordered = inOrder (receiver );
129
125
ordered .verify (receiver ).startRecord (OLD_RECORD_ID1 );
130
126
ordered .verify (receiver ).startEntity (ENTITY );
131
127
ordered .verify (receiver ).literal (StreamConstants .ID , NEW_RECORD_ID1 );
132
128
ordered .verify (receiver ).endEntity ();
133
129
ordered .verify (receiver ).endRecord ();
134
130
}
135
-
136
- @ Test
131
+
132
+ @ Test
133
+ public void testShouldAcceptFullPathAsNewId () {
134
+ idChangePipe .setIdName (ENTITY + "." + StreamConstants .ID );
135
+
136
+ idChangePipe .startRecord (OLD_RECORD_ID1 );
137
+ idChangePipe .startEntity (ENTITY );
138
+ idChangePipe .literal (StreamConstants .ID , NEW_RECORD_ID1 );
139
+ idChangePipe .endEntity ();
140
+ idChangePipe .endRecord ();
141
+
142
+ final InOrder ordered = inOrder (receiver );
143
+ ordered .verify (receiver ).startRecord (NEW_RECORD_ID1 );
144
+ ordered .verify (receiver ).startEntity (ENTITY );
145
+ ordered .verify (receiver ).endEntity ();
146
+ ordered .verify (receiver ).endRecord ();
147
+ }
148
+
149
+ @ Test
150
+ public void testShouldNotKeepIdLiteralByDefault () {
151
+ idChangePipe .setIdName (StreamConstants .ID );
152
+
153
+ idChangePipe .startRecord (OLD_RECORD_ID1 );
154
+ idChangePipe .literal (StreamConstants .ID , NEW_RECORD_ID1 );
155
+ idChangePipe .endRecord ();
156
+
157
+ final InOrder ordered = inOrder (receiver );
158
+ ordered .verify (receiver ).startRecord (NEW_RECORD_ID1 );
159
+ ordered .verify (receiver ).endRecord ();
160
+ verifyNoMoreInteractions (receiver );
161
+ }
162
+
163
+ @ Test
164
+ public void testShouldKeepIdLiteralIfConfigured () {
165
+ idChangePipe .setIdName (StreamConstants .ID );
166
+ idChangePipe .setKeepIdLiteral (true );
167
+
168
+ idChangePipe .startRecord (OLD_RECORD_ID1 );
169
+ idChangePipe .literal (StreamConstants .ID , NEW_RECORD_ID1 );
170
+ idChangePipe .endRecord ();
171
+
172
+ final InOrder ordered = inOrder (receiver );
173
+ ordered .verify (receiver ).startRecord (NEW_RECORD_ID1 );
174
+ ordered .verify (receiver ).literal (StreamConstants .ID , NEW_RECORD_ID1 );
175
+ ordered .verify (receiver ).endRecord ();
176
+ }
177
+
178
+ @ Test
137
179
public void testShouldUseLastIdLiteralAsNewId () {
138
180
idChangePipe .startRecord (OLD_RECORD_ID1 );
139
181
idChangePipe .literal (StreamConstants .ID , NEW_RECORD_ID1 );
140
182
idChangePipe .literal (StreamConstants .ID , NEW_RECORD_ID2 );
141
183
idChangePipe .endRecord ();
142
-
184
+
143
185
final InOrder ordered = inOrder (receiver );
144
186
ordered .verify (receiver ).startRecord (NEW_RECORD_ID2 );
145
- //ordered.verify(receiver).literal(StreamConstants.ID, NEW_RECORD_ID1);
146
- //ordered.verify(receiver).literal(StreamConstants.ID, NEW_RECORD_ID2);
147
187
ordered .verify (receiver ).endRecord ();
148
188
}
149
-
189
+
150
190
}
0 commit comments