@@ -259,7 +259,7 @@ functions:
259
259
working_dir : " mongo-csharp-driver"
260
260
script : |
261
261
${PREPARE_SHELL}
262
- SSL=${SSL} OS=${OS} evergreen/add-certs-if-needed .sh
262
+ OS=${OS} evergreen/add-ca-certs .sh
263
263
AUTH="${AUTH}" SSL="${SSL}" \
264
264
FRAMEWORK=${FRAMEWORK} \
265
265
OS=${OS} \
@@ -291,9 +291,8 @@ functions:
291
291
. ./evergreen/set-virtualenv.sh
292
292
. ./evergreen/set-temp-fle-aws-creds.sh
293
293
${PREPARE_SHELL}
294
- SSL=${SSL} \
295
294
OS=${OS} \
296
- evergreen/add-certs-if-needed .sh
295
+ evergreen/add-ca-certs .sh
297
296
AUTH=${AUTH} \
298
297
SSL=${SSL} \
299
298
MONGODB_URI="${MONGODB_URI}" \
@@ -305,6 +304,38 @@ functions:
305
304
FRAMEWORK=${FRAMEWORK} \
306
305
evergreen/run-tests.sh
307
306
echo "Skipping certificate removal..."
307
+ OS=${OS} \
308
+ evergreen/cleanup-test-resources.sh
309
+
310
+ run-csfle-tests-with-mocked-kms :
311
+ - command : shell.exec
312
+ type : test
313
+ params :
314
+ working_dir : " mongo-csharp-driver"
315
+ script : |
316
+ set +x
317
+ export FLE_AWS_ACCESS_KEY_ID=${FLE_AWS_ACCESS_KEY_ID}
318
+ export FLE_AWS_SECRET_ACCESS_KEY=${FLE_AWS_SECRET_ACCESS_KEY}
319
+ export FLE_AZURE_TENANT_ID=${FLE_AZURE_TENANT_ID}
320
+ export FLE_AZURE_CLIENT_ID=${FLE_AZURE_CLIENT_ID}
321
+ export FLE_AZURE_CLIENT_SECRET=${FLE_AZURE_CLIENT_SECRET}
322
+ export FLE_GCP_EMAIL=${FLE_GCP_EMAIL}
323
+ export FLE_GCP_PRIVATE_KEY=${FLE_GCP_PRIVATE_KEY}
324
+ export KMS_MOCK_SERVERS_ENABLED=true
325
+ ${PREPARE_SHELL}
326
+ set +o xtrace
327
+ OS=${OS} \
328
+ evergreen/add-ca-certs.sh
329
+ AUTH=${AUTH} \
330
+ SSL=${SSL} \
331
+ MONGODB_URI="${MONGODB_URI}" \
332
+ TOPOLOGY=${TOPOLOGY} \
333
+ OS=${OS} \
334
+ CLIENT_PEM=${DRIVERS_TOOLS}/.evergreen/x509gen/client.pem \
335
+ FRAMEWORK=${FRAMEWORK} \
336
+ TARGET="TestCsfleWithMockedKms" \
337
+ evergreen/run-tests.sh
338
+ OS=${OS} \
308
339
evergreen/cleanup-test-resources.sh
309
340
310
341
run-atlas-connectivity-tests :
@@ -507,8 +538,7 @@ functions:
507
538
${PREPARE_SHELL}
508
539
OCSP_TLS_SHOULD_SUCCEED="${OCSP_TLS_SHOULD_SUCCEED}" \
509
540
OCSP_ALGORITHM=${OCSP_ALGORITHM} \
510
- SSL="ssl" \
511
- evergreen/add-certs-if-needed.sh
541
+ evergreen/add-ca-certs.sh
512
542
set +o xtrace
513
543
AUTH="${AUTH}" \
514
544
SSL="ssl" \
@@ -642,28 +672,39 @@ functions:
642
672
bash ${DRIVERS_TOOLS}/.evergreen/serverless/delete-instance.sh
643
673
fi
644
674
645
- run -kms-tls-test :
675
+ start -kms-mock-servers :
646
676
- command : shell.exec
647
- type : test
648
677
params :
649
- working_dir : " mongo-csharp-driver"
650
678
script : |
651
679
${PREPARE_SHELL}
652
- set +o xtrace
653
- # technically FLE_* vars are not needed, added just to reduce a number of changes in the code
654
- export FLE_AWS_ACCESS_KEY_ID=${FLE_AWS_ACCESS_KEY_ID}
655
- export FLE_AWS_SECRET_ACCESS_KEY=${FLE_AWS_SECRET_ACCESS_KEY}
656
- export FLE_AZURE_TENANT_ID=${FLE_AZURE_TENANT_ID}
657
- export FLE_AZURE_CLIENT_ID=${FLE_AZURE_CLIENT_ID}
658
- export FLE_AZURE_CLIENT_SECRET=${FLE_AZURE_CLIENT_SECRET}
659
- export FLE_GCP_EMAIL=${FLE_GCP_EMAIL}
660
- export FLE_GCP_PRIVATE_KEY=${FLE_GCP_PRIVATE_KEY}
661
- KMS_TLS_ERROR_TYPE="${KMS_TLS_ERROR_TYPE}" \
662
- MONGODB_URI="${MONGODB_URI}" \
663
- FRAMEWORK=${FRAMEWORK} \
664
- evergreen/run-kms-tls-tests.sh
680
+ cd ${DRIVERS_TOOLS}/.evergreen/csfle
681
+ . ./activate_venv.sh
682
+ - command : shell.exec
683
+ params :
684
+ background : true
685
+ script : |
686
+ #expired client cert
687
+ PYTHON=$(Venv="${DRIVERS_TOOLS}/.evergreen/csfle/kmstlsvenv" OS=${OS} ${PROJECT_DIRECTORY}/evergreen/get-python-path.sh);
688
+ cd ${DRIVERS_TOOLS}/.evergreen/csfle
689
+ $PYTHON -u kms_http_server.py -v --ca_file ../x509gen/ca.pem --cert_file ../x509gen/expired.pem --port 8000
690
+ - command : shell.exec
691
+ params :
692
+ background : true
693
+ script : |
694
+ #wrong-host client cert
695
+ PYTHON=$(Venv="${DRIVERS_TOOLS}/.evergreen/csfle/kmstlsvenv" OS=${OS} ${PROJECT_DIRECTORY}/evergreen/get-python-path.sh);
696
+ cd ${DRIVERS_TOOLS}/.evergreen/csfle
697
+ $PYTHON -u kms_http_server.py -v --ca_file ../x509gen/ca.pem --cert_file ../x509gen/wrong-host.pem --port 8001
698
+ - command : shell.exec
699
+ params :
700
+ background : true
701
+ script : |
702
+ #server.pem client cert
703
+ PYTHON=$(Venv="${DRIVERS_TOOLS}/.evergreen/csfle/kmstlsvenv" OS=${OS} ${PROJECT_DIRECTORY}/evergreen/get-python-path.sh);
704
+ cd ${DRIVERS_TOOLS}/.evergreen/csfle
705
+ $PYTHON -u kms_http_server.py -v --ca_file ../x509gen/ca.pem --cert_file ../x509gen/server.pem --port 8002 --require_client_cert
665
706
666
- start-kms-mock -server :
707
+ start-kms-kmip -server :
667
708
- command : shell.exec
668
709
params :
669
710
script : |
@@ -674,8 +715,9 @@ functions:
674
715
params :
675
716
background : true
676
717
script : |
718
+ PYTHON=$(Venv="${DRIVERS_TOOLS}/.evergreen/csfle/kmstlsvenv" OS=${OS} ${PROJECT_DIRECTORY}/evergreen/get-python-path.sh);
677
719
cd ${DRIVERS_TOOLS}/.evergreen/csfle
678
- ./kmstlsvenv/bin/python3 -u kms_http_server .py -v --ca_file ../x509gen/ca.pem --cert_file ../x509gen/${BROKEN_CERT} --port 8000
720
+ $PYTHON -u kms_kmip_server .py
679
721
680
722
publish-snapshot :
681
723
- command : shell.exec
@@ -793,6 +835,33 @@ tasks:
793
835
vars :
794
836
FRAMEWORK : netstandard21
795
837
838
+ - name : test-kms-tls-mocked-net472
839
+ commands :
840
+ - func : start-kms-mock-servers
841
+ - func : start-kms-kmip-server
842
+ - func : bootstrap-mongo-orchestration
843
+ - func : run-csfle-tests-with-mocked-kms
844
+ vars :
845
+ FRAMEWORK : net472
846
+
847
+ - name : test-kms-tls-mocked-netstandard20
848
+ commands :
849
+ - func : start-kms-mock-servers
850
+ - func : start-kms-kmip-server
851
+ - func : bootstrap-mongo-orchestration
852
+ - func : run-csfle-tests-with-mocked-kms
853
+ vars :
854
+ FRAMEWORK : netstandard20
855
+
856
+ - name : test-kms-tls-mocked-netstandard21
857
+ commands :
858
+ - func : start-kms-mock-servers
859
+ - func : start-kms-kmip-server
860
+ - func : bootstrap-mongo-orchestration
861
+ - func : run-csfle-tests-with-mocked-kms
862
+ vars :
863
+ FRAMEWORK : netstandard21
864
+
796
865
- name : test-load-balancer-netstandard20
797
866
commands :
798
867
- func : bootstrap-mongo-orchestration
@@ -922,44 +991,6 @@ tasks:
922
991
vars :
923
992
FRAMEWORK : netstandard21
924
993
925
- - name : test-kms-tls-expired-certificate-netstandard21
926
- tags : ["kms-tls"]
927
- commands :
928
- - func : bootstrap-mongo-orchestration
929
- vars :
930
- TOPOLOGY : " server"
931
- AUTH : " noauth"
932
- SSL : " nossl"
933
- - func : start-kms-mock-server
934
- vars :
935
- BROKEN_CERT : " expired.pem"
936
- - func : run-kms-tls-test
937
- vars :
938
- TOPOLOGY : " server"
939
- AUTH : " noauth"
940
- SSL : " nossl"
941
- FRAMEWORK : netstandard21
942
- KMS_TLS_ERROR_TYPE : " expiredCertificate"
943
-
944
- - name : test-kms-tls-invalid-host-netstandard21
945
- tags : ["kms-tls"]
946
- commands :
947
- - func : bootstrap-mongo-orchestration
948
- vars :
949
- TOPOLOGY : " server"
950
- AUTH : " noauth"
951
- SSL : " nossl"
952
- - func : start-kms-mock-server
953
- vars :
954
- BROKEN_CERT : " wrong-host.pem"
955
- - func : run-kms-tls-test
956
- vars :
957
- TOPOLOGY : " server"
958
- AUTH : " noauth"
959
- SSL : " nossl"
960
- FRAMEWORK : netstandard21
961
- KMS_TLS_ERROR_TYPE : " invalidHostname"
962
-
963
994
- name : test-ocsp-rsa-valid-cert-server-staples-ca-responder
964
995
tags : ["ocsp"]
965
996
commands :
@@ -1616,8 +1647,23 @@ buildvariants:
1616
1647
- name : test-gssapi-netstandard20
1617
1648
- name : test-gssapi-netstandard21
1618
1649
1619
- - matrix_name : " kms-tls-tests-linux"
1620
- matrix_spec : { os: "ubuntu-1804", version: [ "5.0" ], topology: ["standalone"] }
1621
- display_name : " CSFLE KMS TLS ${os}"
1650
+ - matrix_name : " csfle-with-mocked-kms-tests-windows"
1651
+ matrix_spec : { os: "windows-64", ssl: "nossl", version: [ "5.0" ], topology: ["standalone"] }
1652
+ display_name : " CSFLE Mocked KMS ${os}"
1653
+ tasks :
1654
+ - name : test-kms-tls-mocked-net472
1655
+ - name : test-kms-tls-mocked-netstandard20
1656
+ - name : test-kms-tls-mocked-netstandard21
1657
+
1658
+ - matrix_name : " csfle-with-mocked-kms-tests-linux"
1659
+ matrix_spec : { os: "ubuntu-1804", ssl: "nossl", version: [ "5.0" ], topology: ["standalone"] }
1660
+ display_name : " CSFLE Mocked KMS ${os}"
1661
+ tasks :
1662
+ - name : test-kms-tls-mocked-netstandard20
1663
+ - name : test-kms-tls-mocked-netstandard21
1664
+
1665
+ - matrix_name : " csfle-with-mocked-kms-tests-macOS"
1666
+ matrix_spec : { os: "macos-1014", ssl: "nossl", version: [ "5.0" ], topology: ["standalone"] }
1667
+ display_name : " CSFLE Mocked KMS ${os}"
1622
1668
tasks :
1623
- - name : " . kms-tls"
1669
+ - name : test- kms-tls-mocked-netstandard21
0 commit comments