@@ -835,7 +835,39 @@ functions:
835
835
background : true
836
836
script : |
837
837
cd ${DRIVERS_TOOLS}/.evergreen/csfle
838
- ./kmstlsvenv/bin/python3 -u kms_http_server.py -v --ca_file ../x509gen/ca.pem --cert_file ../x509gen/${CERT_FILE} --port 8000
838
+ ./kmstlsvenv/bin/python3 -u kms_http_server.py -v --ca_file ../x509gen/ca.pem --cert_file ../x509gen/${CERT_FILE} --port ${PORT}
839
+
840
+ start-kms-mock-server-require-client-cert :
841
+ - command : shell.exec
842
+ params :
843
+ script : |
844
+ ${PREPARE_SHELL}
845
+
846
+ cd ${DRIVERS_TOOLS}/.evergreen/csfle
847
+ . ./activate_venv.sh
848
+ - command : shell.exec
849
+ params :
850
+ background : true
851
+ script : |
852
+ cd ${DRIVERS_TOOLS}/.evergreen/csfle
853
+ ./kmstlsvenv/bin/python3 -u kms_http_server.py -v --ca_file ../x509gen/ca.pem --cert_file ../x509gen/${CERT_FILE} --port ${PORT} --require_client_cert
854
+
855
+ start-kms-kmip-server :
856
+ - command : shell.exec
857
+ params :
858
+ script : |
859
+ ${PREPARE_SHELL}
860
+
861
+ cd ${DRIVERS_TOOLS}/.evergreen/csfle
862
+ . ./activate_venv.sh
863
+ # TODO: Stabilize this pip install with a non-forked version of PyKMIP in https://jira.mongodb.org/browse/GODRIVER-2239
864
+ pip install git+https://github.com/kevinAlbs/PyKMIP.git@expand_tls12_ciphers
865
+ - command : shell.exec
866
+ params :
867
+ background : true
868
+ script : |
869
+ cd ${DRIVERS_TOOLS}/.evergreen/csfle
870
+ ./kmstlsvenv/bin/python3 -u kms_kmip_server.py --port 5698
839
871
840
872
run-kms-tls-test :
841
873
- command : shell.exec
@@ -864,6 +896,35 @@ functions:
864
896
PKG_CONFIG_PATH=$PKG_CONFIG_PATH \
865
897
LD_LIBRARY_PATH=$LD_LIBRARY_PATH
866
898
899
+ run-kmip-tests :
900
+ - command : shell.exec
901
+ type : test
902
+ params :
903
+ working_dir : src/go.mongodb.org/mongo-driver
904
+ script : |
905
+ ${PREPARE_SHELL}
906
+ export KMS_MOCK_SERVERS_RUNNING="true"
907
+
908
+ export GOFLAGS=-mod=vendor
909
+ AUTH="${AUTH}" \
910
+ SSL="${SSL}" \
911
+ MONGODB_URI="${MONGODB_URI}" \
912
+ TOPOLOGY="${TOPOLOGY}" \
913
+ MONGO_GO_DRIVER_COMPRESSOR=${MONGO_GO_DRIVER_COMPRESSOR} \
914
+ BUILD_TAGS="-tags cse" \
915
+ AWS_ACCESS_KEY_ID="${cse_aws_access_key_id}" \
916
+ AWS_SECRET_ACCESS_KEY="${cse_aws_secret_access_key}" \
917
+ AZURE_TENANT_ID="${cse_azure_tenant_id}" \
918
+ AZURE_CLIENT_ID="${cse_azure_client_id}" \
919
+ AZURE_CLIENT_SECRET="${cse_azure_client_secret}" \
920
+ GCP_EMAIL="${cse_gcp_email}" \
921
+ GCP_PRIVATE_KEY="${cse_gcp_private_key}" \
922
+ CSFLE_TLS_CA_FILE="$DRIVERS_TOOLS/.evergreen/x509gen/ca.pem"
923
+ CSFLE_TLS_CERTIFICATE_KEY_FILE="$DRIVERS_TOOLS/.evergreen/x509gen/client.pem"
924
+ make evg-test-kmip \
925
+ PKG_CONFIG_PATH=$PKG_CONFIG_PATH \
926
+ LD_LIBRARY_PATH=$LD_LIBRARY_PATH
927
+
867
928
pre :
868
929
- func : fetch-source
869
930
- func : prepare-resources
@@ -1693,6 +1754,7 @@ tasks:
1693
1754
- func : start-kms-mock-server
1694
1755
vars :
1695
1756
CERT_FILE : " expired.pem"
1757
+ PORT : 8000
1696
1758
- func : run-kms-tls-test
1697
1759
vars :
1698
1760
KMS_TLS_TESTCASE : " INVALID_CERT"
@@ -1711,13 +1773,41 @@ tasks:
1711
1773
- func : start-kms-mock-server
1712
1774
vars :
1713
1775
CERT_FILE : " wrong-host.pem"
1776
+ PORT : 8000
1714
1777
- func : run-kms-tls-test
1715
1778
vars :
1716
1779
KMS_TLS_TESTCASE : " INVALID_HOSTNAME"
1717
1780
TOPOLOGY : " server"
1718
1781
AUTH : " noauth"
1719
1782
SSL : " nossl"
1720
1783
1784
+ - name : " test-kms-kmip"
1785
+ tags : ["kms-kmip"]
1786
+ commands :
1787
+ - func : bootstrap-mongo-orchestration
1788
+ vars :
1789
+ TOPOLOGY : " server"
1790
+ AUTH : " noauth"
1791
+ SSL : " nossl"
1792
+ - func : start-kms-mock-server
1793
+ vars :
1794
+ CERT_FILE : " expired.pem"
1795
+ PORT : 8000
1796
+ - func : start-kms-mock-server
1797
+ vars :
1798
+ CERT_FILE : " wrong-host.pem"
1799
+ PORT : 8001
1800
+ - func : start-kms-mock-server-require-client-cert
1801
+ vars :
1802
+ CERT_FILE : " server.pem"
1803
+ PORT : 8002
1804
+ - func : start-kms-kmip-server
1805
+ - func : run-kmip-tests
1806
+ vars :
1807
+ TOPOLOGY : " server"
1808
+ AUTH : " noauth"
1809
+ SSL : " nossl"
1810
+
1721
1811
- name : " test-serverless"
1722
1812
tags : ["serverless"]
1723
1813
commands :
@@ -2075,3 +2165,9 @@ buildvariants:
2075
2165
display_name : " Serverless ${os-ssl-40}"
2076
2166
tasks :
2077
2167
- " serverless_task_group"
2168
+
2169
+ - matrix_name : " kms-kmip-test"
2170
+ matrix_spec : { version: ["latest"], os-ssl-40: ["ubuntu1804-64-go-1-16"] }
2171
+ display_name : " KMS KMIP ${os-ssl-40}"
2172
+ tasks :
2173
+ - name : " .kms-kmip"
0 commit comments