@@ -36,7 +36,7 @@ const OPERATING_SYSTEMS = [
3636] . map ( osConfig => ( {
3737 mongoVersion : '>=3.6' ,
3838 nodeVersion : LOWEST_LTS ,
39- auth : false , // TODO test auth?
39+ auth : ' auth' ,
4040 clientEncryption : true ,
4141 ...osConfig
4242} ) ) ;
@@ -48,28 +48,40 @@ const MACOS_SKIP_TAGS = new Set(['load_balancer']);
4848const TASKS = [ ] ;
4949const SINGLETON_TASKS = [ ] ;
5050
51- function makeTask ( { mongoVersion, topology, tags = [ ] } ) {
51+ function makeTask ( { mongoVersion, topology, tags = [ ] , auth = 'auth' } ) {
5252 return {
53- name : `test-${ mongoVersion } -${ topology } ` ,
53+ name : `test-${ mongoVersion } -${ topology } ${ auth === 'noauth' ? '-noauth' : '' } ` ,
5454 tags : [ mongoVersion , topology , ...tags ] ,
5555 commands : [
5656 { func : 'install dependencies' } ,
5757 {
5858 func : 'bootstrap mongo-orchestration' ,
5959 vars : {
6060 VERSION : mongoVersion ,
61- TOPOLOGY : topology
61+ TOPOLOGY : topology ,
62+ AUTH : auth
6263 }
6364 } ,
6465 { func : 'run tests' }
6566 ]
6667 } ;
6768}
6869
69- const BASE_TASKS = [ ] ;
70- MONGODB_VERSIONS . forEach ( mongoVersion => {
71- TOPOLOGIES . forEach ( topology => BASE_TASKS . push ( makeTask ( { mongoVersion, topology } ) ) ) ;
72- } ) ;
70+ function generateVersionTopologyMatrix ( ) {
71+ function * _generate ( ) {
72+ for ( const mongoVersion of MONGODB_VERSIONS ) {
73+ for ( const topology of TOPOLOGIES ) {
74+ yield { mongoVersion, topology}
75+ }
76+ }
77+ }
78+
79+ return Array . from ( _generate ( ) ) ;
80+ }
81+
82+ const BASE_TASKS = generateVersionTopologyMatrix ( ) . map ( makeTask )
83+ const AUTH_DISABLED_TASKS = generateVersionTopologyMatrix ( ) . map ( ( test ) => makeTask ( { ...test , auth : 'noauth' , tags : [ 'noauth' ] } ) )
84+
7385BASE_TASKS . push ( {
7486 name : `test-latest-server-v1-api` ,
7587 tags : [ 'latest' , 'server' , 'v1-api' ] ,
@@ -80,7 +92,8 @@ BASE_TASKS.push({
8092 vars : {
8193 VERSION : 'latest' ,
8294 TOPOLOGY : 'server' ,
83- REQUIRE_API_VERSION : '1'
95+ REQUIRE_API_VERSION : '1' ,
96+ AUTH : 'auth'
8497 }
8598 } ,
8699 {
@@ -119,6 +132,7 @@ TASKS.push(
119132 vars : {
120133 VERSION : 'latest' ,
121134 TOPOLOGY : 'sharded_cluster' ,
135+ AUTH : 'auth' ,
122136 LOAD_BALANCER : 'true'
123137 }
124138 } ,
@@ -179,7 +193,8 @@ TASKS.push(
179193 vars : {
180194 ORCHESTRATION_FILE : 'rsa-basic-tls-ocsp-mustStaple.json' ,
181195 VERSION : 'latest' ,
182- TOPOLOGY : 'server'
196+ TOPOLOGY : 'server' ,
197+ AUTH : 'auth'
183198 }
184199 } ,
185200 { func : 'run-ocsp-test' , vars : { OCSP_TLS_SHOULD_SUCCEED : 1 } }
@@ -196,7 +211,8 @@ TASKS.push(
196211 vars : {
197212 ORCHESTRATION_FILE : 'rsa-basic-tls-ocsp-mustStaple.json' ,
198213 VERSION : 'latest' ,
199- TOPOLOGY : 'server'
214+ TOPOLOGY : 'server' ,
215+ AUTH : 'auth'
200216 }
201217 } ,
202218 { func : 'run-ocsp-test' , vars : { OCSP_TLS_SHOULD_SUCCEED : 0 } }
@@ -213,7 +229,8 @@ TASKS.push(
213229 vars : {
214230 ORCHESTRATION_FILE : 'rsa-basic-tls-ocsp-disableStapling.json' ,
215231 VERSION : 'latest' ,
216- TOPOLOGY : 'server'
232+ TOPOLOGY : 'server' ,
233+ AUTH : 'auth'
217234 }
218235 } ,
219236 { func : 'run-ocsp-test' , vars : { OCSP_TLS_SHOULD_SUCCEED : 1 } }
@@ -230,7 +247,8 @@ TASKS.push(
230247 vars : {
231248 ORCHESTRATION_FILE : 'rsa-basic-tls-ocsp-disableStapling.json' ,
232249 VERSION : 'latest' ,
233- TOPOLOGY : 'server'
250+ TOPOLOGY : 'server' ,
251+ AUTH : 'auth'
234252 }
235253 } ,
236254 { func : 'run-ocsp-test' , vars : { OCSP_TLS_SHOULD_SUCCEED : 0 } }
@@ -246,7 +264,8 @@ TASKS.push(
246264 vars : {
247265 ORCHESTRATION_FILE : 'rsa-basic-tls-ocsp-disableStapling.json' ,
248266 VERSION : 'latest' ,
249- TOPOLOGY : 'server'
267+ TOPOLOGY : 'server' ,
268+ AUTH : 'auth'
250269 }
251270 } ,
252271 { func : 'run-ocsp-test' , vars : { OCSP_TLS_SHOULD_SUCCEED : 1 } }
@@ -263,7 +282,8 @@ TASKS.push(
263282 vars : {
264283 ORCHESTRATION_FILE : 'rsa-basic-tls-ocsp-mustStaple-disableStapling.json' ,
265284 VERSION : 'latest' ,
266- TOPOLOGY : 'server'
285+ TOPOLOGY : 'server' ,
286+ AUTH : 'auth'
267287 }
268288 } ,
269289 { func : 'run-ocsp-test' , vars : { OCSP_TLS_SHOULD_SUCCEED : 0 } }
@@ -279,7 +299,8 @@ TASKS.push(
279299 vars : {
280300 ORCHESTRATION_FILE : 'rsa-basic-tls-ocsp-mustStaple-disableStapling.json' ,
281301 VERSION : 'latest' ,
282- TOPOLOGY : 'server'
302+ TOPOLOGY : 'server' ,
303+ AUTH : 'auth'
283304 }
284305 } ,
285306 { func : 'run-ocsp-test' , vars : { OCSP_TLS_SHOULD_SUCCEED : 0 } }
@@ -299,7 +320,9 @@ TLS_VERSIONS.forEach(VERSION => {
299320 vars : {
300321 VERSION ,
301322 SSL : 'ssl' ,
302- TOPOLOGY : 'server'
323+ TOPOLOGY : 'server' ,
324+ // TODO: NODE-3891 - fix tests broken when AUTH enabled
325+ // AUTH: 'auth'
303326 }
304327 } ,
305328 { func : 'run tls tests' }
@@ -322,7 +345,8 @@ OCSP_VERSIONS.forEach(VERSION => {
322345 vars : {
323346 ORCHESTRATION_FILE : 'rsa-basic-tls-ocsp-mustStaple.json' ,
324347 VERSION : VERSION ,
325- TOPOLOGY : 'server'
348+ TOPOLOGY : 'server' ,
349+ AUTH : 'auth'
326350 }
327351 } ,
328352 { func : 'run-ocsp-test' , vars : { OCSP_TLS_SHOULD_SUCCEED : 1 } }
@@ -339,7 +363,8 @@ OCSP_VERSIONS.forEach(VERSION => {
339363 vars : {
340364 ORCHESTRATION_FILE : 'rsa-basic-tls-ocsp-mustStaple.json' ,
341365 VERSION : VERSION ,
342- TOPOLOGY : 'server'
366+ TOPOLOGY : 'server' ,
367+ AUTH : 'auth'
343368 }
344369 } ,
345370 { func : 'run-ocsp-test' , vars : { OCSP_TLS_SHOULD_SUCCEED : 0 } }
@@ -356,7 +381,8 @@ OCSP_VERSIONS.forEach(VERSION => {
356381 vars : {
357382 ORCHESTRATION_FILE : 'rsa-basic-tls-ocsp-disableStapling.json' ,
358383 VERSION : VERSION ,
359- TOPOLOGY : 'server'
384+ TOPOLOGY : 'server' ,
385+ AUTH : 'auth'
360386 }
361387 } ,
362388 { func : 'run-ocsp-test' , vars : { OCSP_TLS_SHOULD_SUCCEED : 1 } }
@@ -373,7 +399,8 @@ OCSP_VERSIONS.forEach(VERSION => {
373399 vars : {
374400 ORCHESTRATION_FILE : 'rsa-basic-tls-ocsp-disableStapling.json' ,
375401 VERSION : VERSION ,
376- TOPOLOGY : 'server'
402+ TOPOLOGY : 'server' ,
403+ AUTH : 'auth'
377404 }
378405 } ,
379406 { func : 'run-ocsp-test' , vars : { OCSP_TLS_SHOULD_SUCCEED : 0 } }
@@ -389,7 +416,8 @@ OCSP_VERSIONS.forEach(VERSION => {
389416 vars : {
390417 ORCHESTRATION_FILE : 'rsa-basic-tls-ocsp-disableStapling.json' ,
391418 VERSION : VERSION ,
392- TOPOLOGY : 'server'
419+ TOPOLOGY : 'server' ,
420+ AUTH : 'auth'
393421 }
394422 } ,
395423 { func : 'run-ocsp-test' , vars : { OCSP_TLS_SHOULD_SUCCEED : 1 } }
@@ -406,7 +434,8 @@ OCSP_VERSIONS.forEach(VERSION => {
406434 vars : {
407435 ORCHESTRATION_FILE : 'rsa-basic-tls-ocsp-mustStaple-disableStapling.json' ,
408436 VERSION : VERSION ,
409- TOPOLOGY : 'server'
437+ TOPOLOGY : 'server' ,
438+ AUTH : 'auth'
410439 }
411440 } ,
412441 { func : 'run-ocsp-test' , vars : { OCSP_TLS_SHOULD_SUCCEED : 0 } }
@@ -422,7 +451,8 @@ OCSP_VERSIONS.forEach(VERSION => {
422451 vars : {
423452 ORCHESTRATION_FILE : 'rsa-basic-tls-ocsp-mustStaple-disableStapling.json' ,
424453 VERSION : VERSION ,
425- TOPOLOGY : 'server'
454+ TOPOLOGY : 'server' ,
455+ AUTH : 'auth'
426456 }
427457 } ,
428458 { func : 'run-ocsp-test' , vars : { OCSP_TLS_SHOULD_SUCCEED : 0 } }
@@ -631,7 +661,8 @@ const oneOffFuncAsTasks = oneOffFuncs.map(oneOffFunc => ({
631661 func : 'bootstrap mongo-orchestration' ,
632662 vars : {
633663 VERSION : '5.0' ,
634- TOPOLOGY : 'server'
664+ TOPOLOGY : 'server' ,
665+ AUTH : 'auth'
635666 }
636667 } ,
637668 oneOffFunc
@@ -672,8 +703,15 @@ BUILD_VARIANTS.push({
672703 tasks : [ 'serverless_task_group' ]
673704} ) ;
674705
706+ BUILD_VARIANTS . push ( {
707+ name : 'no-auth-tests' ,
708+ display_name : 'No Auth Tests' ,
709+ run_on : 'ubuntu1804-test' ,
710+ tasks : AUTH_DISABLED_TASKS . map ( ( { name } ) => name )
711+ } )
712+
675713const fileData = yaml . load ( fs . readFileSync ( `${ __dirname } /config.yml.in` , 'utf8' ) ) ;
676- fileData . tasks = ( fileData . tasks || [ ] ) . concat ( BASE_TASKS ) . concat ( TASKS ) . concat ( SINGLETON_TASKS ) ;
714+ fileData . tasks = ( fileData . tasks || [ ] ) . concat ( BASE_TASKS ) . concat ( TASKS ) . concat ( SINGLETON_TASKS ) . concat ( AUTH_DISABLED_TASKS ) ;
677715fileData . buildvariants = ( fileData . buildvariants || [ ] ) . concat ( BUILD_VARIANTS ) ;
678716
679717fs . writeFileSync ( `${ __dirname } /config.yml` , yaml . dump ( fileData , { lineWidth : 120 } ) , 'utf8' ) ;
0 commit comments