Skip to content

Commit

Permalink
chore: Add LogSink SSL test (#53)
Browse files Browse the repository at this point in the history
  • Loading branch information
christophd authored Dec 16, 2024
1 parent b3c1497 commit f93f4de
Show file tree
Hide file tree
Showing 5 changed files with 128 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
/*
* Copyright the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package dev.knative.eventing.connector.ssl;

import java.util.HashMap;
import java.util.Map;

import io.quarkus.test.junit.QuarkusTest;
import org.citrusframework.TestCaseRunner;
import org.citrusframework.annotations.CitrusResource;
import org.citrusframework.http.client.HttpClient;
import org.citrusframework.http.endpoint.builder.HttpEndpoints;
import org.citrusframework.http.security.HttpSecureConnection;
import org.citrusframework.quarkus.ApplicationPropertiesSupplier;
import org.citrusframework.quarkus.CitrusSupport;
import org.citrusframework.spi.BindToRegistry;
import org.junit.jupiter.api.Test;
import org.springframework.http.HttpStatus;

import static org.citrusframework.http.actions.HttpActionBuilder.http;

@QuarkusTest
@CitrusSupport(applicationPropertiesSupplier = LogSinkSSLTest.class)
public class LogSinkSSLTest implements ApplicationPropertiesSupplier {

@CitrusResource
private TestCaseRunner tc;

@BindToRegistry
public HttpClient knativeTrigger = HttpEndpoints.http()
.client()
.requestUrl("https://localhost:8444")
.secured(HttpSecureConnection.ssl()
.keyStore("classpath:keystore/server.jks", "changeit")
.trustStore("classpath:keystore/truststore.jks", "changeit"))
.build();

@Test
public void shouldConsumeEvents() {
tc.when(
http().client(knativeTrigger)
.send()
.post("/")
.message()
.body("Secure timer source event!")
.header("ce-id", "@matches([0-9A-Z]{15}-[0-9]{16})@")
.header("ce-type", "dev.knative.eventing.timer")
.header("ce-source", "dev.knative.eventing.timer-source")
.header("ce-subject", "secure-timer-source")
);

tc.then(
http().client(knativeTrigger)
.receive()
.response(HttpStatus.NO_CONTENT)
);
}

@Override
public Map<String, String> get() {
Map<String, String> conf = new HashMap<>();
conf.put("quarkus.http.ssl.certificate.files", "keystore/server.crt");
conf.put("quarkus.http.ssl.certificate.key-files", "keystore/server.key");
return conf;
}
}
20 changes: 20 additions & 0 deletions log-sink/src/test/resources/keystore/server.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDOTCCAiGgAwIBAgIUNxr4lmSJ5ffRc4U0LtcUcKikqY8wDQYJKoZIhvcNAQEL
BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNDEyMTMxNDA2MTFaFw0yNTEy
MTMxNDA2MTFaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQCd6me4LD8b7v6hGgwrQ0LE6GvZeJVlBLePLWI5e82r
wz8BdP7IyduNP/AnYr01aD/kIK5DZfBNa1YZ3epQdhslRkNqRpuMzvZ+jlJqTXxj
PNthSSFL+i2FQlVAHRj7vfd5ttejBfbCdrFEcvwcSahf1mQUIdtYR43Res99I67Z
2Z26Yx2LEZP8vyX6TZhbCnxWnkHsVEa+Uz/va1TgibFJk8ca3Y0m+ADWDA/tOTy2
qCikhf+KoykjGC0B+wU/fQSVaI1ZY23V3icxPMAqusNmxzQIBesvohz5LLr2pyN9
t93CPj4Txhqj/GlG6uzHQxt95lF9+USLtkPZQ+uX2LeXAgMBAAGjITAfMB0GA1Ud
DgQWBBQCAwfofUKkgx7VerAGTb+LUFjozjANBgkqhkiG9w0BAQsFAAOCAQEAM4GI
KTxKto/ZAuBc16MOPlH1gjISi7f+Ur8DBW/Rr2yIjERd+uxzrg7lVGHPRY7MVnHE
jL/OCFdqnZ5NTW70gVOKmNn8+gkDS66xLS7iz7xMEtC2AFg7TT+OJYWI6JpV19M8
eJUANMvI8MMbGzZM5p8yxwqLjnpgqoseJh45J1x6LJRQeUNlSLkip//CiLTdezn0
H3C7X+AOldcFOo2RNXcGYOoZGIApjo4PTTqsbODm2UFJo8FmfjpdtR9dtSo/Z+N3
QsAqX5ItNpiVNSQBYQ78QEOIf8z7PRZUfqqabF8NbFX+szvJhwsPwlrwm9XeD6ti
dx069Thegj/2s3G39A==
-----END CERTIFICATE-----
Binary file added log-sink/src/test/resources/keystore/server.jks
Binary file not shown.
28 changes: 28 additions & 0 deletions log-sink/src/test/resources/keystore/server.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCd6me4LD8b7v6h
GgwrQ0LE6GvZeJVlBLePLWI5e82rwz8BdP7IyduNP/AnYr01aD/kIK5DZfBNa1YZ
3epQdhslRkNqRpuMzvZ+jlJqTXxjPNthSSFL+i2FQlVAHRj7vfd5ttejBfbCdrFE
cvwcSahf1mQUIdtYR43Res99I67Z2Z26Yx2LEZP8vyX6TZhbCnxWnkHsVEa+Uz/v
a1TgibFJk8ca3Y0m+ADWDA/tOTy2qCikhf+KoykjGC0B+wU/fQSVaI1ZY23V3icx
PMAqusNmxzQIBesvohz5LLr2pyN9t93CPj4Txhqj/GlG6uzHQxt95lF9+USLtkPZ
Q+uX2LeXAgMBAAECggEADq4mY0A1w7aFlFt0CyePEvgaYparqL72A4jwCzD/rzqQ
5mVGdEsTrn9lp3ut5EOjQOVq3dghrUjPscroB//ayS3NgZk7x6zLzHsVnU1DxYP4
TwR55HLG/Y7rlvC9jFWeJoIBbOXWiUB4fUkFN+n/DZ3EIvz8w6mvPOyiUltZW2YS
meewcWpNxHgQpby57k9nyMZuKFFftWQwfSisE85QK2xpeWM052v4OadjRjUGIxAf
iC5BcgeW+Nt5ZIN84AhEOgYw/RZnfFm6QuLQD0DtW/QVEYKTVCbvyp/aPSF+gcvS
3fswWuFWf0hCsIkSIVuTanFtxtXLP+0fzFcawOjDkQKBgQDaOj6Nn6GIeYrIjcPb
doa7mZ1nlk0hikQT9PtUfdmMnTKoWpnN4XgNZ3lsq0syBkS5eFqhjskr2RIxFY/V
DB4iCcQ/O43scNleWIELVWDU9qIh4gRrGoIoV9UUIJu650iPlUKeG3MixVCPxW1k
s2sLQ67gHpQMkRIezfTRvfkQxwKBgQC5P7c25fcAffrw9ecuR28YvT8V7ezBoOR2
8kIQoHB8VfbREQnP17BUV+C7mn48b4rYD1UWKVtCqh9v4Ac1g+TUin1fxhUDjvHO
70CSha8es6aNF4DYZYmtbTuhgBsuS5XUbykIfTNgDPG6a6Etd4ENQ6gF8Lb2e7/e
I4l2FPjysQKBgF55YKNHPFMs6xwv416bTXDh6/bwZqvig95v7G6DnS72zvt7XaJ3
vdVvum2FKqSZeh8hL3tJqWXGL834G7CL8m+h8se9LI/zuubRQex6JdWMgFxS0L7d
VwPIIoL4KvMbNZqTb6erEok3Cs1zFwzFb84MmySDmGxoUYPsfdRffff5AoGADmSo
85cCjgM70CULBUl/lEh/8lA+KP07QxKnl2sf0klLmAre3EtB5Au/5lOmo0N3Yjou
vj4QXSmir6qUZNAOo4TvINXfJBujJhToy3mflZ8XvbapyCZ7gAIQtAekFQDCb3MD
mSlBKKFY1scuCr5SRJmRIIUHcjdDPRs9vvL6NMECgYBJdbC+BSqY8HSEIiwlZiPr
1siiq8jOESCu528kTh/NLWrz6CfnXDa8o+jtS8YvTLtzdupPtCQiTMnGFWvmnAQO
FHS89mDebS8EsEdCOydfAAyENTZIUSOqZNXVhs1hBbP3C7IB1ZS4C87zi4y83MtD
MkY1gMZWnzaf0Egv1e4fhg==
-----END PRIVATE KEY-----
Binary file added log-sink/src/test/resources/keystore/truststore.jks
Binary file not shown.

0 comments on commit f93f4de

Please sign in to comment.