Skip to content

Commit

Permalink
SNOW-921006 Add HTTPS wiremock with custom CA (#1324)
Browse files Browse the repository at this point in the history
  • Loading branch information
sfc-gh-pfus authored Mar 6, 2025
1 parent b034584 commit f388736
Show file tree
Hide file tree
Showing 19 changed files with 400 additions and 20 deletions.
3 changes: 3 additions & 0 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ jobs:
GORACE: history_size=7
GO_TEST_PARAMS: ${{ inputs.goTestParams }}
WIREMOCK_PORT: 14335
WIREMOCK_HTTPS_PORT: 13567
run: ./ci/test.sh
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
Expand Down Expand Up @@ -96,6 +97,7 @@ jobs:
CLOUD_PROVIDER: ${{ matrix.cloud }}
GO_TEST_PARAMS: ${{ inputs.goTestParams }}
WIREMOCK_PORT: 14335
WIREMOCK_HTTPS_PORT: 13567
run: ./ci/test.sh
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
Expand Down Expand Up @@ -130,6 +132,7 @@ jobs:
CLOUD_PROVIDER: ${{ matrix.cloud }}
GO_TEST_PARAMS: ${{ inputs.goTestParams }}
WIREMOCK_PORT: 14335
WIREMOCK_HTTPS_PORT: 13567
run: ci\\test.bat
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
Expand Down
6 changes: 1 addition & 5 deletions auth_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1012,13 +1012,10 @@ func TestPatSuccessfulFlow(t *testing.T) {
}

func testPatSuccessfulFlow(t *testing.T, cfg *Config) {
skipOnJenkins(t, "wiremock is not enabled")
enableExperimentalAuth(t)
wiremock.registerMappings(t,
wiremockMapping{filePath: "auth/pat/successful_flow.json"},
wiremockMapping{filePath: "select1.json", params: map[string]string{
"%AUTHORIZATION_HEADER%": "Snowflake Token=\\\"session token\\\""},
},
wiremockMapping{filePath: "select1.json"},
)
connector := NewConnector(SnowflakeDriver{}, *cfg)
db := sql.OpenDB(connector)
Expand All @@ -1043,7 +1040,6 @@ func TestPatSuccessfulFlowWithPatAsPasswordWithPatAuthenticator(t *testing.T) {
}

func TestPatInvalidToken(t *testing.T) {
skipOnJenkins(t, "wiremock is not enabled")
enableExperimentalAuth(t)
wiremock.registerMappings(t,
wiremockMapping{filePath: "auth/pat/invalid_token.json"},
Expand Down
1 change: 1 addition & 0 deletions ci/scripts/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
wiremock-standalone-*.jar
7 changes: 7 additions & 0 deletions ci/scripts/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Refreshing wiremock test cert

Password for CA is `password`.

```bash
openssl x509 -req -in wiremock.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out wiremock.crt -days 365 -sha256 -extfile wiremock.v3.ext
```
34 changes: 34 additions & 0 deletions ci/scripts/ca.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
-----BEGIN CERTIFICATE-----
MIIF1zCCA7+gAwIBAgIUXh8f8hI5mKqCrUJaDn0zF6qGmw0wDQYJKoZIhvcNAQEL
BQAwezELMAkGA1UEBhMCUEwxFDASBgNVBAgMC01hem93aWVja2llMQ8wDQYDVQQH
DAZXYXJzYXcxEjAQBgNVBAoMCVNub3dmbGFrZTEQMA4GA1UECwwHRHJpdmVyczEf
MB0GA1UEAwwWU25vd2ZsYWtlIHRlc3QgUm9vdCBDQTAeFw0yNTAzMDUwOTQ0MTha
Fw0zNTAzMDMwOTQ0MThaMHsxCzAJBgNVBAYTAlBMMRQwEgYDVQQIDAtNYXpvd2ll
Y2tpZTEPMA0GA1UEBwwGV2Fyc2F3MRIwEAYDVQQKDAlTbm93Zmxha2UxEDAOBgNV
BAsMB0RyaXZlcnMxHzAdBgNVBAMMFlNub3dmbGFrZSB0ZXN0IFJvb3QgQ0EwggIi
MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCW0bhevdDp+6S3eIqEAWvFJ66M
ST3WcvYUwdEILGRHyjYT34R2dM2HsmJ8NUA17NFpnWIRbv+f8oKFec90dDfKOdzQ
vZmiHHun0zYLOf/QE0wj6rtB9zcn8Skwio7f9BQAed9Krovb6/f5tfRMzhDqsk6u
Ut+ra2INrA4apAEaw1hZVMN8htkH+M7GSha4hLIM+HOSmBt8pulxlwVFaqpvwZR6
8ettpR9lX3PXFP2s09rY3Pq2PfB6JNF9qmMZzqlgr4qI0HKu5VTTSL3eWmJiZmVb
mplISSzL7kKjPoBXLeNJTRtkfO1XKBvDXrNfnfexIlv8lJ9eCVaHaHLw+qgJNq3v
TR/BbmrfroLfdpzW2DlF9PDNEookrri2oZyky2DwGklyH5DsUU5T5xTk+eOHsSvB
JQEBrl9JCEhWNgVCgzPcQ9Ma7PaIaKw9SQAXWDFd5DLzAZ7Q5dHXy82k942Cp6kZ
O6/s9SnhHPQQZg4H4ruqGuy1CdsOvd9ZpCRYUKXZoZYcEidqLRAb+rYCsf8dWiMn
Qvru0/V18upRsK9BCgRAQcP0R//HXBH199nqGuCnPCGgRIiRfwawyp/C5rXCb0BN
eYfBhdvdnd144CgvHq5tsAHjdw7yhP87zF6Wa+bKThfihfK/LKpIwVLRnN/e6Nea
uWSu1Ns+6aywd5MBNwIDAQABo1MwUTAdBgNVHQ4EFgQU0GVyoh2s3w5Ka8ynllvA
pHtFh6AwHwYDVR0jBBgwFoAU0GVyoh2s3w5Ka8ynllvApHtFh6AwDwYDVR0TAQH/
BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEANPpuw7bno0cTkaY0CA+0YsHf5r8T
lSSNUtvREGudH09gPUmVFnU7MMNe+q6gOFkPIl+Mdbj/loaN8eNeZ3OO84VjbVvR
2MtuQti7OcxhptUG9YkS6BeW/ZIp4QGYthDByg5Kc0Wf8mkNqCWuXYnQK7zyTqIM
37TmPZMfD0+ck5Nc5r3S1n2xH0sTTwKjhw54OUpDxxfXARkdCg0u7wJlm/kxiUiA
rhw9fXVVkeLh1J8sRIyXsLdJBDjDhVOoz/lBCgEUYJ0R/icUxl7jGt7XEXqUY4ER
xYb8oVdEmUPYRR5m7Q5076HKCLXNY/Jn5BvtfaPCs288jXWSidY9B71baaBzeN6C
Y+1Yh9m/+SVz+g+5/PAm0kdzvWytewi53GDnG6P1peJi3TZOMhL+WU1gv3JSNiZ5
+JbmQIM3jM22QJeElMA+tavB+Hm1PDIqgfVsvOOmpd/npKUc8AlNDA9/sNA9h0V7
0ldbQoPXVh81+7O+uDMrN3x8naCOAdsAaz4mHEBlhSn55snvbeXSkEw2oVtzt9fB
qscc02cN/9gf0UdIXsyDpL0ZL/rkjbmauE5QC45WKRc87cZYH8OhnROg+A2Dr3bk
0LIZdOSbsZmVoyKWDO5P2p3l3z4x3D1P+KBWIxx/fCtdIvHg1EFHmn0SHuyoxzsO
gVB+n3ggLTYRR0s=
-----END CERTIFICATE-----
Binary file added ci/scripts/ca.der
Binary file not shown.
54 changes: 54 additions & 0 deletions ci/scripts/ca.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
-----BEGIN ENCRYPTED PRIVATE KEY-----
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
-----END ENCRYPTED PRIVATE KEY-----
1 change: 1 addition & 0 deletions ci/scripts/ca.srl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
54587BDD05D4BE6A6D8852CA7FDB421189EA1C67
11 changes: 11 additions & 0 deletions ci/scripts/run_wiremock.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/usr/bin/env bash

SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

cd $SCRIPT_DIR

if [ ! -f "$SCRIPT_DIR/wiremock-standalone-3.11.0.jar" ]; then
curl -O https://repo1.maven.org/maven2/org/wiremock/wiremock-standalone/3.11.0/wiremock-standalone-3.11.0.jar
fi

java -jar "$SCRIPT_DIR/wiremock-standalone-3.11.0.jar" --verbose --port ${WIREMOCK_PORT:=14355} --https-port ${WIREMOCK_HTTPS_PORT:=13567} --https-keystore "$SCRIPT_DIR/wiremock.p12" --keystore-type PKCS12 --keystore-password password
34 changes: 34 additions & 0 deletions ci/scripts/wiremock.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
-----BEGIN CERTIFICATE-----
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
yqypTyjkdNVg4ZvcIsgweYgpKw74Ew==
-----END CERTIFICATE-----
28 changes: 28 additions & 0 deletions ci/scripts/wiremock.csr
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN CERTIFICATE REQUEST-----
MIIEszCCApsCAQAwbjELMAkGA1UEBhMCUEwxFDASBgNVBAgMC01hem93aWVja2ll
MQ8wDQYDVQQHDAZXYXJzYXcxEjAQBgNVBAoMCVNub3dmbGFrZTEQMA4GA1UECwwH
RHJpdmVyczESMBAGA1UEAwwJbG9jYWxob3N0MIICIjANBgkqhkiG9w0BAQEFAAOC
Ag8AMIICCgKCAgEAwylWxFGtbv9QXN9v9Z+SMXm0ogkE3N7/3SoLbGF5KyqHfJA8
+B9BedI8tMJHRnRkSFXk1uJk+VJLk2X3MP8nBKvIW4UC1OtiE5yoGmfPPjqfdtlQ
c18L+wPqo1UvjcuzK98pZYFXLGVKkIyYR2DKq89NEcneXcRby4IFTEdAzfkXFQ2l
N1z+0UJdUNmBEZTBDbfJGbAbHYdtc3U8SyYn/Jn+ZmD2ghY1SpNYaPoNjxHyCZ/m
heCSM+W7YbrHFvqWjpwBOgBaGMG4JXOjtyIJeloZXFe/gjKSwH7EnGNgWWXUIF5g
pfDn5R0KPMDTgwDxD4TRM1FGK/viwdirZ6BLzT7o0HKOYeiXN3/qc5Sjl5173oyP
mt86iMafQ6bB/yvUH/5phlxi04fI3jhmyRmcMy/U0aXKfmjSVyf5EnIyLgP4yDCA
4Ri8NwHKn1gbnLozEBSjcZ7GXxyJ8IZsFFlovY81YqEdUHQgpnC9jlYs8wPR3ykO
Xn4usyr/Wtrk5uE+GI52COlo+4fmWfJOTHRgb1p02xpzM8XPNcBEciPciXta4SoF
t/lr+JlwqU85M2GXGFYhhQn7Wq6cpe3eaFnHchVfWmqKidIYmRjA1ORa0mW0LMmq
5o9aZ0wF920M2hq8fmlGdsK0j8MHfuAne7hUd+plTZHuFcGTBbbYg6JIqO8CAwEA
AaAAMA0GCSqGSIb3DQEBCwUAA4ICAQBHoiHRzxkLHkWfgq1wbFrVnsHrnALSY+Nl
994fFykF4fDA5eLvfIWmuU5YZwyz+9Bw0SGoefb9RfFxZbQByBglhFbHPEvID1Sw
3ByJPMLccep7lkLd/BfIgyZ7vSyIK3mKY4wSnGqf3eiQeMU57ViP3AL6Q0Uos3Jm
jmUWIeEHrSE2HfHREK8ar0xGKTimQymW6P+ecRKQKs7I7aEJL5t3/zp2w+EyxIGC
ezP+rtH8QdfDJN3nui+2ljgonvbwrYMJTBJYZ/oOx/msKUF4EO2FT/VJKQsOZnyL
s0HXMEEJ9AKlFo9gagZ6ZqxnVYCPoeW8Nfb56YwZ9im2wbo2yaNAFTMaKoH1/2g0
LHZd1vq1sU6xT3V3R+5Iiw4k7u8mx6ietSbwuyOkHkQ+RZf5hZKvdHSymKTuN/e4
40XzGBhcTqs57KHbsiWFBnRFiIZgFq5kbC0G+c927g8XRB9j3xiMjBBwUR0Kp78q
bTvAzod0ZhYeltFw63TkNe/yH4RZefseub0eice6Fjmpv0BgjYNP2guCnd3u7KaG
H0zYSFHzN00jtDNNs1Jx1drsHZcr6fAOeeUmI9ExsDkt8vyMmpshd+w3LEh/ZVL2
pvvtcut0s24OszF5HCRScxSXv3SSUDX1asRyUHY5STLdK74o+dfqXT+ja+MRJEEh
IiE2ITiP8Q==
-----END CERTIFICATE REQUEST-----
52 changes: 52 additions & 0 deletions ci/scripts/wiremock.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
-----BEGIN PRIVATE KEY-----
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
Q39oXb8n1ljeCNi/Ksj8e/KstwzI
-----END PRIVATE KEY-----
Binary file added ci/scripts/wiremock.p12
Binary file not shown.
6 changes: 6 additions & 0 deletions ci/scripts/wiremock.v3.ext
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
IP.1 = 127.0.0.1
2 changes: 1 addition & 1 deletion ci/test.bat
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ setlocal EnableDelayedExpansion
start /b python ci\scripts\hang_webserver.py 12345

curl -O https://repo1.maven.org/maven2/org/wiremock/wiremock-standalone/3.11.0/wiremock-standalone-3.11.0.jar
START /B java -jar wiremock-standalone-3.11.0.jar --port %WIREMOCK_PORT%
START /B java -jar wiremock-standalone-3.11.0.jar --verbose --port %WIREMOCK_PORT% -https-port %WIREMOCK_HTTPS_PORT% --https-keystore ci/scripts/wiremock.p12 --keystore-type PKCS12 --keystore-password password

if "%CLOUD_PROVIDER%"=="AWS" set PARAMETER_FILENAME=parameters_aws_golang.json.gpg
if "%CLOUD_PROVIDER%"=="AZURE" set PARAMETER_FILENAME=parameters_azure_golang.json.gpg
Expand Down
3 changes: 1 addition & 2 deletions ci/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ set -o pipefail

CI_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

curl -O https://repo1.maven.org/maven2/org/wiremock/wiremock-standalone/3.11.0/wiremock-standalone-3.11.0.jar
java -jar wiremock-standalone-3.11.0.jar --port $WIREMOCK_PORT &
$CI_DIR/scripts/run_wiremock.sh &

if [[ -n "$JENKINS_HOME" ]]; then
ROOT_DIR="$(cd "${CI_DIR}/.." && pwd)"
Expand Down
63 changes: 63 additions & 0 deletions test_data/wiremock/mappings/auth/password/successful_flow.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
{
"mappings": [
{
"scenarioName": "Successful PAT authentication flow",
"requiredScenarioState": "Started",
"newScenarioState": "Authenticated",
"request": {
"urlPathPattern": "/session/v1/login-request.*",
"method": "POST",
"bodyPatterns": [
{
"equalToJson" : {
"data": {
"LOGIN_NAME": "testUser",
"PASSWORD": "testPassword"
}
},
"ignoreExtraElements" : true
}
]
},
"response": {
"status": 200,
"jsonBody": {
"data": {
"masterToken": "master token",
"token": "session token",
"validityInSeconds": 3600,
"masterValidityInSeconds": 14400,
"displayUserName": "TEST_USER",
"serverVersion": "8.48.0 b2024121104444034239f05",
"firstLogin": false,
"remMeToken": null,
"remMeValidityInSeconds": 0,
"healthCheckInterval": 45,
"newClientForUpgrade": "3.12.3",
"sessionId": 1172562260498,
"parameters": [
{
"name": "CLIENT_PREFETCH_THREADS",
"value": 4
}
],
"sessionInfo": {
"databaseName": "TEST_DB",
"schemaName": "TEST_GO",
"warehouseName": "TEST_XSMALL",
"roleName": "ANALYST"
},
"idToken": null,
"idTokenValidityInSeconds": 0,
"responseData": null,
"mfaToken": null,
"mfaTokenValidityInSeconds": 0
},
"code": null,
"message": null,
"success": true
}
}
}
]
}
2 changes: 1 addition & 1 deletion test_data/wiremock/mappings/select1.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"method": "POST",
"headers": {
"Authorization": {
"equalTo": "%AUTHORIZATION_HEADER%"
"equalTo": "Snowflake Token=\"session token\""
}
}
},
Expand Down
Loading

0 comments on commit f388736

Please sign in to comment.