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