31
31
import org .gradle .api .Action ;
32
32
import org .gradle .api .artifacts .dsl .RepositoryHandler ;
33
33
import org .gradle .api .artifacts .repositories .MavenArtifactRepository ;
34
+ import org .gradle .api .artifacts .repositories .MavenRepositoryContentDescriptor ;
34
35
import org .gradle .api .artifacts .repositories .PasswordCredentials ;
35
36
import org .gradle .api .artifacts .repositories .RepositoryContentDescriptor ;
36
37
import org .junit .jupiter .api .AfterAll ;
@@ -73,15 +74,19 @@ static void cleanup() throws Exception {
73
74
74
75
private final List <PasswordCredentials > credentials = new ArrayList <>();
75
76
77
+ private final List <MavenRepositoryContentDescriptor > mavenContent = new ArrayList <>();
78
+
76
79
@ Test
77
80
void mavenRepositoriesWhenNotCommercialSnapshot () {
78
81
SpringRepositoriesExtension extension = createExtension ("0.0.0-SNAPSHOT" , "oss" );
79
82
extension .mavenRepositories ();
80
83
assertThat (this .repositories ).hasSize (2 );
81
84
verify (this .repositories .get (0 )).setName ("spring-oss-milestone" );
82
85
verify (this .repositories .get (0 )).setUrl ("https://repo.spring.io/milestone" );
86
+ verify (this .mavenContent .get (0 )).releasesOnly ();
83
87
verify (this .repositories .get (1 )).setName ("spring-oss-snapshot" );
84
88
verify (this .repositories .get (1 )).setUrl ("https://repo.spring.io/snapshot" );
89
+ verify (this .mavenContent .get (1 )).snapshotsOnly ();
85
90
}
86
91
87
92
@ Test
@@ -92,12 +97,16 @@ void mavenRepositoriesWhenCommercialSnapshot() {
92
97
verify (this .repositories .get (0 )).setName ("spring-commercial-release" );
93
98
verify (this .repositories .get (0 ))
94
99
.setUrl ("https://usw1.packages.broadcom.com/spring-enterprise-maven-prod-local" );
100
+ verify (this .mavenContent .get (0 )).releasesOnly ();
95
101
verify (this .repositories .get (1 )).setName ("spring-oss-milestone" );
96
102
verify (this .repositories .get (1 )).setUrl ("https://repo.spring.io/milestone" );
103
+ verify (this .mavenContent .get (1 )).releasesOnly ();
97
104
verify (this .repositories .get (2 )).setName ("spring-commercial-snapshot" );
98
105
verify (this .repositories .get (2 )).setUrl ("https://usw1.packages.broadcom.com/spring-enterprise-maven-dev-local" );
106
+ verify (this .mavenContent .get (2 )).snapshotsOnly ();
99
107
verify (this .repositories .get (3 )).setName ("spring-oss-snapshot" );
100
108
verify (this .repositories .get (3 )).setUrl ("https://repo.spring.io/snapshot" );
109
+ verify (this .mavenContent .get (3 )).snapshotsOnly ();
101
110
}
102
111
103
112
@ Test
@@ -107,6 +116,7 @@ void mavenRepositoriesWhenNotCommercialMilestone() {
107
116
assertThat (this .repositories ).hasSize (1 );
108
117
verify (this .repositories .get (0 )).setName ("spring-oss-milestone" );
109
118
verify (this .repositories .get (0 )).setUrl ("https://repo.spring.io/milestone" );
119
+ verify (this .mavenContent .get (0 )).releasesOnly ();
110
120
}
111
121
112
122
@ Test
@@ -117,8 +127,10 @@ void mavenRepositoriesWhenCommercialMilestone() {
117
127
verify (this .repositories .get (0 )).setName ("spring-commercial-release" );
118
128
verify (this .repositories .get (0 ))
119
129
.setUrl ("https://usw1.packages.broadcom.com/spring-enterprise-maven-prod-local" );
130
+ verify (this .mavenContent .get (0 )).releasesOnly ();
120
131
verify (this .repositories .get (1 )).setName ("spring-oss-milestone" );
121
132
verify (this .repositories .get (1 )).setUrl ("https://repo.spring.io/milestone" );
133
+ verify (this .mavenContent .get (1 )).releasesOnly ();
122
134
}
123
135
124
136
@ Test
@@ -136,6 +148,7 @@ void mavenRepositoriesWhenCommercialRelease() {
136
148
verify (this .repositories .get (0 )).setName ("spring-commercial-release" );
137
149
verify (this .repositories .get (0 ))
138
150
.setUrl ("https://usw1.packages.broadcom.com/spring-enterprise-maven-prod-local" );
151
+ verify (this .mavenContent .get (0 )).releasesOnly ();
139
152
}
140
153
141
154
@ Test
@@ -217,6 +230,7 @@ private Object mavenClosure(InvocationOnMock invocation) {
217
230
MavenArtifactRepository repository = mock (MavenArtifactRepository .class );
218
231
willAnswer (this ::contentAction ).given (repository ).content (any (Action .class ));
219
232
willAnswer (this ::credentialsAction ).given (repository ).credentials (any (Action .class ));
233
+ willAnswer (this ::mavenContentAction ).given (repository ).mavenContent (any (Action .class ));
220
234
Closure <MavenArtifactRepository > closure = invocation .getArgument (0 );
221
235
closure .call (repository );
222
236
this .repositories .add (repository );
@@ -239,6 +253,14 @@ private Object credentialsAction(InvocationOnMock invocation) {
239
253
return null ;
240
254
}
241
255
256
+ private Object mavenContentAction (InvocationOnMock invocation ) {
257
+ MavenRepositoryContentDescriptor mavenContent = mock (MavenRepositoryContentDescriptor .class );
258
+ Action <MavenRepositoryContentDescriptor > action = invocation .getArgument (0 );
259
+ action .execute (mavenContent );
260
+ this .mavenContent .add (mavenContent );
261
+ return null ;
262
+ }
263
+
242
264
interface SpringRepositoriesExtension {
243
265
244
266
void mavenRepositories ();
0 commit comments