1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.model.merge;
20
21 import java.util.Collections;
22
23 import org.apache.maven.api.model.Model;
24 import org.apache.maven.api.model.Prerequisites;
25 import org.apache.maven.api.model.Profile;
26 import org.junit.jupiter.api.Test;
27
28 import static org.junit.jupiter.api.Assertions.assertEquals;
29 import static org.junit.jupiter.api.Assertions.assertNull;
30
31 public class MavenModelMergerTest {
32 private MavenModelMerger modelMerger = new MavenModelMerger();
33
34
35 @Test
36 public void testMergeModel_ModelVersion() {
37 Model parent = Model.newBuilder().modelVersion("4.0.0").build();
38 Model model = Model.newInstance();
39 Model.Builder builder = Model.newBuilder(model);
40 modelMerger.mergeModel_ModelVersion(builder, model, parent, false, null);
41 assertNull(builder.build().getModelVersion());
42
43 model = Model.newBuilder().modelVersion("5.0.0").build();
44 builder = Model.newBuilder(model);
45 modelMerger.mergeModel_ModelVersion(builder, model, parent, false, null);
46 assertEquals("5.0.0", builder.build().getModelVersion());
47 }
48
49
50 @Test
51 public void testMergeModel_ArtifactId() {
52 Model parent = Model.newBuilder().artifactId("PARENT").build();
53 Model model = Model.newInstance();
54 Model.Builder builder = Model.newBuilder(model);
55 modelMerger.mergeModel_ArtifactId(builder, model, parent, false, null);
56 assertNull(model.getArtifactId());
57
58 model = Model.newBuilder().artifactId("MODEL").build();
59 builder = Model.newBuilder(model);
60 modelMerger.mergeModel_ArtifactId(builder, model, parent, false, null);
61 assertEquals("MODEL", builder.build().getArtifactId());
62 }
63
64
65 @Test
66 public void testMergeModel_Prerequisites() {
67 Model parent =
68 Model.newBuilder().prerequisites(Prerequisites.newInstance()).build();
69 Model model = Model.newInstance();
70 Model.Builder builder = Model.newBuilder(model);
71 modelMerger.mergeModel_Prerequisites(builder, model, parent, false, null);
72 assertNull(builder.build().getPrerequisites());
73
74 Prerequisites modelPrerequisites =
75 Prerequisites.newBuilder().maven("3.0").build();
76 model = Model.newBuilder().prerequisites(modelPrerequisites).build();
77 builder = Model.newBuilder(model);
78 modelMerger.mergeModel_Prerequisites(builder, model, parent, false, null);
79 assertEquals(modelPrerequisites, builder.build().getPrerequisites());
80 }
81
82
83 @Test
84 public void testMergeModel_Profiles() {
85 Model parent = Model.newBuilder()
86 .profiles(Collections.singletonList(Profile.newInstance()))
87 .build();
88 Model model = Model.newInstance();
89 Model.Builder builder = Model.newBuilder(model);
90 modelMerger.mergeModel_Profiles(builder, model, parent, false, null);
91 assertEquals(0, builder.build().getProfiles().size());
92
93 Profile modelProfile = Profile.newBuilder().id("MODEL").build();
94 model = Model.newBuilder()
95 .profiles(Collections.singletonList(modelProfile))
96 .build();
97 builder = Model.newBuilder(model);
98 modelMerger.mergeModel_Prerequisites(builder, model, parent, false, null);
99 assertEquals(Collections.singletonList(modelProfile), builder.build().getProfiles());
100 }
101 }