1
|
package eu.dnetlib.iis.export.actionmanager;
|
2
|
|
3
|
import static org.junit.Assert.assertEquals;
|
4
|
|
5
|
import org.junit.Test;
|
6
|
|
7
|
import eu.dnetlib.data.proto.KindProtos.Kind;
|
8
|
import eu.dnetlib.data.proto.OafProtos.Oaf;
|
9
|
import eu.dnetlib.data.proto.OafProtos.OafEntity;
|
10
|
import eu.dnetlib.data.proto.ResultProtos.Result;
|
11
|
import eu.dnetlib.data.proto.ResultProtos.Result.Context;
|
12
|
import eu.dnetlib.data.proto.ResultProtos.Result.Metadata;
|
13
|
import eu.dnetlib.data.proto.TypeProtos.Type;
|
14
|
|
15
|
public class ProtoBuffMergingTest {
|
16
|
|
17
|
|
18
|
@Test
|
19
|
public void testMergeArrays() throws Exception {
|
20
|
String contextId1 = "ctxId1";
|
21
|
String contextId2 = "ctxId2";
|
22
|
|
23
|
Oaf oaf1 = buildOaf(contextId1);
|
24
|
Oaf oaf2 = buildOaf(contextId2);
|
25
|
Oaf mergedBuilder = Oaf.newBuilder().mergeFrom(oaf1).mergeFrom(oaf2).build();
|
26
|
assertEquals(1, oaf1.getEntity().getResult().getMetadata().getContextCount());
|
27
|
assertEquals(1, oaf2.getEntity().getResult().getMetadata().getContextCount());
|
28
|
assertEquals(2, mergedBuilder.getEntity().getResult().getMetadata().getContextCount());
|
29
|
assertEquals(contextId1, mergedBuilder.getEntity().getResult().getMetadata().getContext(0).getId());
|
30
|
assertEquals(contextId2, mergedBuilder.getEntity().getResult().getMetadata().getContext(1).getId());
|
31
|
}
|
32
|
|
33
|
Oaf buildOaf(String contextId) {
|
34
|
Oaf.Builder oafBuilder = Oaf.newBuilder();
|
35
|
oafBuilder.setKind(Kind.entity);
|
36
|
oafBuilder.setTimestamp(System.currentTimeMillis());
|
37
|
OafEntity.Builder entityBuilder = OafEntity.newBuilder();
|
38
|
entityBuilder.setId("id");
|
39
|
entityBuilder.setType(Type.result);
|
40
|
Result.Builder resultBuilder = Result.newBuilder();
|
41
|
Metadata.Builder metaBuilder = Metadata.newBuilder();
|
42
|
metaBuilder.addContext(Context.newBuilder().setId(contextId).build());
|
43
|
resultBuilder.setMetadata(metaBuilder.build());
|
44
|
entityBuilder.setResult(resultBuilder.build());
|
45
|
oafBuilder.setEntity(entityBuilder.build());
|
46
|
return oafBuilder.build();
|
47
|
}
|
48
|
}
|