Skip to content

Commit 4926d3b

Browse files
committed
updating contract tests for tls testing
1 parent 69e0a2f commit 4926d3b

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed

contract-tests/client-contract-tests/src/entity_manager.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,15 @@ std::optional<std::string> EntityManager::create(ConfigParams const& in) {
129129
}
130130
}
131131

132+
if (in.tls) {
133+
auto builder = TlsBuilder();
134+
builder.VerifyPeer(in.tls->verifyPeer);
135+
if (in.tls->certificateAuthorityPath) {
136+
/* TODO: pass in the CA path */
137+
}
138+
config_builder.HttpProperties().Tls(std::move(builder));
139+
}
140+
132141
auto config = config_builder.Build();
133142
if (!config) {
134143
LD_LOG(logger_, LogLevel::kWarn)

contract-tests/client-contract-tests/src/main.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ int main(int argc, char* argv[]) {
2121
launchdarkly::Logger logger{
2222
std::make_unique<ConsoleBackend>("client-contract-tests")};
2323

24-
const std::string default_port = "8123";
24+
std::string const default_port = "8123";
2525
std::string port = default_port;
2626
if (argc == 2) {
2727
port =
@@ -43,6 +43,7 @@ int main(int argc, char* argv[]) {
4343
srv.add_capability("client-independence");
4444
srv.add_capability("inline-context");
4545
srv.add_capability("anonymous-redaction");
46+
srv.add_capability("tls");
4647

4748
net::signal_set signals{ioc, SIGINT, SIGTERM};
4849

contract-tests/data-model/include/data_model/data_model.hpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,14 @@ struct adl_serializer<std::optional<T>> {
2929
};
3030
} // namespace nlohmann
3131

32+
struct ConfigTLSParams {
33+
bool verifyPeer;
34+
std::optional<std::string> certificateAuthorityPath;
35+
};
36+
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(ConfigTLSParams,
37+
verifyPeer,
38+
certificateAuthorityPath);
39+
3240
struct ConfigStreamingParams {
3341
std::optional<std::string> baseUri;
3442
std::optional<uint32_t> initialRetryDelayMs;
@@ -98,6 +106,7 @@ struct ConfigParams {
98106
std::optional<ConfigServiceEndpointsParams> serviceEndpoints;
99107
std::optional<ConfigClientSideParams> clientSide;
100108
std::optional<ConfigTags> tags;
109+
std::optional<ConfigTLSParams> tls;
101110
};
102111
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(ConfigParams,
103112
credential,
@@ -108,7 +117,8 @@ NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(ConfigParams,
108117
events,
109118
serviceEndpoints,
110119
clientSide,
111-
tags);
120+
tags,
121+
tls);
112122

113123
struct ContextSingleParams {
114124
std::optional<std::string> kind;

0 commit comments

Comments
 (0)