Skip to content

Commit

Permalink
Add MongoDB docker images in build scripts for testing
Browse files Browse the repository at this point in the history
  • Loading branch information
ThisaruGuruge committed Nov 28, 2023
1 parent c28d540 commit a763417
Show file tree
Hide file tree
Showing 13 changed files with 262 additions and 67 deletions.
16 changes: 0 additions & 16 deletions ballerina/Dependencies.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,6 @@ modules = [
{org = "ballerina", packageName = "crypto", moduleName = "crypto"}
]

[[package]]
org = "ballerina"
name = "file"
version = "1.9.0"
scope = "testOnly"
dependencies = [
{org = "ballerina", name = "io"},
{org = "ballerina", name = "jballerina.java"},
{org = "ballerina", name = "os"},
{org = "ballerina", name = "time"}
]
modules = [
{org = "ballerina", packageName = "file", moduleName = "file"}
]

[[package]]
org = "ballerina"
name = "io"
Expand Down Expand Up @@ -134,7 +119,6 @@ name = "mongodb"
version = "4.3.0"
dependencies = [
{org = "ballerina", name = "crypto"},
{org = "ballerina", name = "file"},
{org = "ballerina", name = "jballerina.java"},
{org = "ballerina", name = "log"},
{org = "ballerina", name = "os"},
Expand Down
31 changes: 31 additions & 0 deletions ballerina/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -89,10 +89,41 @@ task commitTomlFiles {
}
}

task startMongodbServer() {
doLast {
println("Starting mongodb server...")
exec {
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
commandLine 'cmd', '/c', "docker-compose -f tests/resources/docker/docker-compose.yml up && exit %%ERRORLEVEL%%"
} else {
commandLine 'sh', '-c', "docker-compose -f tests/resources/docker/docker-compose.yml up -d"
}
}
}
}

task stopMongodbServer() {
doLast {
println("Stopping mongodb server...")
exec {
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
commandLine 'cmd', '/c', "docker-compose -f tests/resources/docker/docker-compose.yml down && exit %%ERRORLEVEL%%"
} else {
commandLine 'sh', '-c', "docker-compose -f tests/resources/docker/docker-compose.yml down"
}
}
}
}

clean {
delete 'build'
}

build.dependsOn copyToLib
build.dependsOn ":${packageName}-native:build"
build.dependsOn startMongodbServer
build.finalizedBy stopMongodbServer

test.dependsOn ":${packageName}-native:build"
test.dependsOn startMongodbServer
test.finalizedBy stopMongodbServer
34 changes: 7 additions & 27 deletions ballerina/tests/main_test.bal
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,19 @@
// under the License.

import ballerina/log;
import ballerina/os;
import ballerina/test;

string testHostName = os:getEnv("MONGODB_HOST") != "" ? os:getEnv("MONGODB_HOST") : "localhost";
string testUser = os:getEnv("MONGODB_USER") != "" ? os:getEnv("MONGODB_USER") : "admin";
string testPass = os:getEnv("MONGODB_PASSWORD") != "" ? os:getEnv("MONGODB_PASSWORD") : "admin";
string testHostName = "localhost";
string testUser = "admin";
string testPass = "admin";

const DATABASE_NAME = "moviecollection";
const COLLECTION_NAME = "moviedetails";
const DATABASE_NAME = "moviesDB";
const COLLECTION_NAME = "movies";

ConnectionConfig mongoConfig = {
connection: {
host: testHostName,
port: 27011,
port: 27017,
auth: {
username: testUser,
password: testPass
Expand All @@ -43,7 +42,7 @@ ConnectionConfig mongoConfig = {

ConnectionConfig mongoConfigError = {
connection: {
url: "asdakjdk"
url: "invalidDB"
},
databaseName: "MyDb"
};
Expand All @@ -68,7 +67,6 @@ public function initializeInvalidClient() {
groups: ["mongodb"]
}
public function testListDatabaseNames() returns error? {
log:printInfo("----------------- List Databases------------------");
string[] dbNames = check mongoClient->getDatabasesNames();
log:printInfo("Database Names: " + dbNames.toString());
}
Expand All @@ -78,7 +76,6 @@ public function testListDatabaseNames() returns error? {
groups: ["mongodb"]
}
public function testListCollections() returns error? {
log:printInfo("----------------- List Collections------------------");
string[] collectionNames = check mongoClient->getCollectionNames("admin");
log:printInfo("Collection Names: " + collectionNames.toString());
}
Expand All @@ -88,7 +85,6 @@ public function testListCollections() returns error? {
groups: ["mongodb"]
}
public function testInsertData() returns error? {
log:printInfo("------------------ Inserting Data ------------------");
map<json> document1 = {name: "The Lion King", year: "2019", rating: 8};
map<json> ducument2 = {name: "Black Panther", year: "2018", rating: 7};

Expand All @@ -104,7 +100,6 @@ public function testInsertData() returns error? {
groups: ["mongodb"]
}
public function testInsertDataWithDbName() returns error? {
log:printInfo("------------------ Inserting Data With Second Database ------------------");
map<json> document1 = {name: "The Lion King", year: "2019", rating: 8};
map<json> document2 = {name: "Black Panther", year: "2018", rating: 7};

Expand All @@ -120,8 +115,6 @@ public function testInsertDataWithDbName() returns error? {
groups: ["mongodb"]
}
public function testCountDocuments() returns error? {
log:printInfo("----------------- Count Documents------------------");

int documentCount = check mongoClient->countDocuments(COLLECTION_NAME, (),());
log:printInfo("Documents counted successfully. Count: " + documentCount.toString());
test:assertEquals(2, documentCount);
Expand All @@ -138,7 +131,6 @@ public function testCountDocuments() returns error? {
groups: ["mongodb"]
}
public function testListIndices() returns error? {
log:printInfo("----------------- List Indices------------------");
stream<Index, error?> returned = check mongoClient->listIndices(COLLECTION_NAME);
check returned.forEach(function(Index data){
log:printInfo(data.ns);
Expand All @@ -151,8 +143,6 @@ public function testListIndices() returns error? {
groups: ["mongodb"]
}
public function testFindData() returns error? {
log:printInfo("----------------- Querying Data ----------------");

map<json> document1 = {name: "Joker", year: "2019", rating: 7};
map<json> document2 = {name: "Black Panther", year: "2018", rating: 7};

Expand Down Expand Up @@ -190,8 +180,6 @@ public function testFindData() returns error? {
groups: ["mongodb"]
}
public function testFindDataWithProjection() returns error? {
log:printInfo("----------------- Querying Data with Projection ----------------");

map<json> findDoc = {year: "2019"};
map<json> projectionDoc = {name: 1, year: true};
stream<MovieWithoutRating, error?> result = check mongoClient->find(COLLECTION_NAME, projection = projectionDoc,
Expand Down Expand Up @@ -225,7 +213,6 @@ public function testFindDataWithProjection() returns error? {
groups: ["mongodb"]
}
function testFindDistinctValues() returns error? {
log:printInfo("----------------- Querying Distinct Values ----------------");
string[] distictiveValues = [];
stream<string, error?> result = check mongoClient->'distinct(COLLECTION_NAME, "year");
check result.forEach(function(string data){
Expand All @@ -242,8 +229,6 @@ function testFindDistinctValues() returns error? {
groups: ["mongodb"]
}
function testUpdateDocument() returns error? {
log:printInfo("------------------ Updating Data -------------------");

map<json> replaceFilter = {name: "The Lion King"};
map<json> replaceDoc = { "$set": {name: "The Lion King", year: "2019", rating: 6}};

Expand All @@ -264,8 +249,6 @@ function testUpdateDocument() returns error? {
groups: ["mongodb"]
}
function testUpdateDocumentUpsertTrue() returns error? {
log:printInfo("------------------ Updating Data (Upsert) -------------------");

map<json> replaceFilter = {name: "The Lion King 2"};
map<json> replaceDoc = { "$set": {name: "The Lion King 2", year: "2019", rating: 7}};

Expand All @@ -279,8 +262,6 @@ function testUpdateDocumentUpsertTrue() returns error? {
groups: ["mongodb"]
}
function testDelete() returns error? {
log:printInfo("------------------ Deleting Data -------------------");

map<json> deleteFilter = {"rating": 9};

int deleteDocCount = check mongoClient->delete(COLLECTION_NAME, (), deleteFilter, true);
Expand All @@ -291,7 +272,6 @@ function testDelete() returns error? {
log:printInfo("Deleted count: " + deleteDocCount.toString());
test:assertEquals(deleteDocCount, 2, msg = "Document deletion failed");

log:printInfo("------------------ Deleting Data From Second Database-------------------");
deleteDocCount = check mongoClient->delete(COLLECTION_NAME, "anothermoviecollection", (), true);
log:printInfo("Deleted count: " + deleteDocCount.toString());
test:assertEquals(deleteDocCount, 2, msg = "Document deletion failed");
Expand Down
50 changes: 50 additions & 0 deletions ballerina/tests/resources/docker/certs/mongodb-CA.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCOTt8cJP70dLZi
iIvk4BwNtXB0hs8Io0jeL9Kz4UyzLTRfPvKL7cL4cS57HOOjfWnlzdOdcaYxjapT
6HSaF/4R/mRMD3g7X7LcczGJDBV5N8FdmPrwuvL7kDttt8bC+nINFQvGoFlSXZc8
cx+bejxLs6EtanPFfqX+aOYWvAjJF9cTs3N7ZP7pmax59dB+tAhPQnKy+4QornSe
npLxUjiQHAxg90yru0up1OPDPMIJthO1V7eW84aqqce0y7KwUs8xAR3Qneh88XYP
9v7uKyEOcZgzKcG69Geee9OXMIHXh+TB87y0R8twrGT8lHT7V3Oi19YeNfDjJBy7
vMgMoqZ5AgMBAAECggEAGIYjENiXT01luOlLInA0pXAlJw+sUhLBlfir2O/0pdQe
eGOCrPaWaPYoSnMaD6ynOUEVPMa/Gz8MoVUn8v47fKJYansn/yNo0XDQkouQj8k5
+4VHiYDOKugaNbg7+pHqYbLEysALZJRYYcR9J/ASwAD+v7LerKQ8uvEc5cIVyYGe
ZJ041hmux9SYfj+lwmKlzXZXLF9ua3lCtscE2Sne90X25w+eOVUAYQTuy5cV4CjG
7sHUVMp3g2irtSE57wiCbVTMRjwS/iBYj61vi7VvQyYQf+RSFkZKNJbwwNb2jM0t
zXhMjBbRFH7CEFJ01FHKI8Gi1m7VcGVLZlQOoouXYQKBgQDIMlue2Z9yOSDJmpuI
3ImDcrx2DCaDWnAiyqa7B9h5r1zgPZo2MnRCCo7dLP57DE5hfvjJU8Ltjuq4qJnj
MGJiY+jGeCrScizymLv0ycS2TkQeYNveG3beK2jB/j61IpqVvAB1KhR1aoigeVGv
kcJVbhbn5XwUNpm925XXKjy5zQKBgQC1+bIxfayYk+0Rxhk5wrTfngE8MYovNPoi
Is9HM86EU3ctp/+gLSJefJA9yqbf32EZFdll4mJShsZ33SmJIsSlEGNVDi9UXxp/
BcKa9S9zTjlFR9YSh658jgWqMi3heZdXk5278sE0T6zA88R9im97A8C8WlNpFxqJ
aEGqgzzDXQKBgCiC+ENm6nsk0Fu7q6nAZxtwhm6k+s4t6O9Bbwf+CHJnaDYAgUpi
X2BV3p8nUb/4t4vHM/UZvCJyf1Eq3Sk6S055xUsUWiYH8MyO18orYmE56VL0asnB
aQaAZkyLdIkXHY0bZERRZZ51FnzS0BLlPhwnkP8QU1GL0wS2gNXvuCYpAoGAJ9FP
EE0zat9TTERQWLcl5JgqJQWh+tpYsQd021uWoJWyyiasZFv73TjcRukEwo+aK2cA
fq6eXPhojOmzoPIenQ+M7JuB97AnmAumnUlw7IX9Og+R49QUdeSNkMQSDfgRCXSf
WvSvGcclQcMVB3M3GW+kyJHrFl+byt0pISo+LXECgYAatxmI8q6IOYQvTNsKM/LB
i2Izymw21B9PBntMyF0QbewCnsOHjMkXdbo3RBkI74f78etNbOCu+lCqoTCkGCIB
OlAGzn6MMqnTuJ65sHiT+E+5S+pMlxeNihyoxkgoN1GlQT8igNAv9OKJpAV7TwlO
StUf25sqRLApTl0eQH4pSA==
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIDnzCCAoegAwIBAgIUEwxERoOPiDYAZREjlV/UlOvCIZwwDQYJKoZIhvcNAQEL
BQAwXjELMAkGA1UEAwwCQ0ExCzAJBgNVBAsMAkRCMRAwDgYDVQQKDAdNb25nb0RC
MRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMQswCQYDVQQIDAJDQTELMAkGA1UEBhMC
VVMwIBcNMjMxMTIzMTEwNzAxWhgPMjA1MTA0MDkxMTA3MDFaMF4xCzAJBgNVBAMM
AkNBMQswCQYDVQQLDAJEQjEQMA4GA1UECgwHTW9uZ29EQjEWMBQGA1UEBwwNU2Fu
IEZyYW5jaXNjbzELMAkGA1UECAwCQ0ExCzAJBgNVBAYTAlVTMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjk7fHCT+9HS2YoiL5OAcDbVwdIbPCKNI3i/S
s+FMsy00Xz7yi+3C+HEuexzjo31p5c3TnXGmMY2qU+h0mhf+Ef5kTA94O1+y3HMx
iQwVeTfBXZj68Lry+5A7bbfGwvpyDRULxqBZUl2XPHMfm3o8S7OhLWpzxX6l/mjm
FrwIyRfXE7Nze2T+6ZmsefXQfrQIT0JysvuEKK50np6S8VI4kBwMYPdMq7tLqdTj
wzzCCbYTtVe3lvOGqqnHtMuysFLPMQEd0J3ofPF2D/b+7ishDnGYMynBuvRnnnvT
lzCB14fkwfO8tEfLcKxk/JR0+1dzotfWHjXw4yQcu7zIDKKmeQIDAQABo1MwUTAd
BgNVHQ4EFgQUh7jELAU5Z3FbhEeqXlnbPp2SEtUwHwYDVR0jBBgwFoAUh7jELAU5
Z3FbhEeqXlnbPp2SEtUwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC
AQEAPrHmFUjofdVJL9AXcL3Ey5BSw+8Kq8DzSiQ0p9jgxZzMd7zTBItqtKiL9/Ph
qIyftGHcJfNUMWiEXH9R9MBkv1N43DRkDvChXdZCTgZ0lDBc9V64yUQZ/J7rvECF
fIDvwh+U4/FV1hzh/+5rWlU8nfwky8xzSKOgdZDle1+xRrSaGztYvyGpCPDjyCuu
yW9bha3ICPSB0fe/V4WGZYOUN9su+t+O4Xj7I9xJPVysPkdO9Ik0lyuPe2+briRP
O5zY/ach9MbJ6/nH3z5fl6MQKQ4c3f+Z6klwqbRQBC0aAUfAmDetbQi0W1cAvKY8
banL+FYfkeVVxgTk3ilqtWQ+rw==
-----END CERTIFICATE-----
Binary file not shown.
48 changes: 48 additions & 0 deletions ballerina/tests/resources/docker/certs/mongodb-client.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCrul6TzDjh55FT
OuVnPJU4NDWC58+tCsfv8LiTFtmk6F1Q7hQ28fEwG5R9EFYkSARqCn5J8Nmwe6SQ
GQ7N2WHzF65XkwcYMh9GqMiAMYNGcL+2yhkuacahCo+r5I2jumSaf5Fn8YTkhW1H
EFcZeo/YqNpLkJ+m4XaivUvPlx/IePz5Z5hnecbU8GuChUYUrDXBCbE4Jwd7f6J2
GELokebmaKNXa4kG2hmmyrSUTk3ZKVrbxIgBZfteyMWiunSzhM4I2m3PEzcvDJcN
OzprO0XMHovi0rF5smDJUxKcLi7iMuAxSwVpggB2ITu/ueBXu33rprsvDDpwpe+y
cxd6vq9lAgMBAAECgf8mEWpl2R/C9FKC4Mt51zQ9AVXbbwfalEk+J17DPI2CwP/u
sNhKVdfhkjuYfcaaxFw2JZ1ZRsr7FG2mg+eEOmw8N0Oupiksc+/6+e94e4FeXCAj
pSlv4ILnsC+pK0E6ylcC6MSTBjcvcWSIHFcyjrjUjpnVpnm9xL1H1i64Fgg1qD6S
BrSg3lZm/plSOqJCcr11nckXk3uivm+zzbp2bhHuCxbd2Vh0ySyr10MD/DEGkhZD
aHdI91f1IAHM7h5OpHXrboBViGDCCqfJFZHnIoBJMcBChy3uMl0LOm7CUfg7kQrt
LR+hOCBRmqZJBV+kpYGx/oGga9SxvejQzdWkhMECgYEA8MqlOIekg3fQATVuW8iH
q4qaR7ZzOGYtv5YqWbt6Chp7UGXA7JkmloboETYHFK+1BIH5JpRxyoE79h+knKRf
OurBiFa3eExEPa+gLxJV5eUu4OzaJITN/vrgzy9cyUua2cJsqiJYJBaUJTQB5l/p
M9gANrnLQEuUXHRLdLKa8kECgYEAtpMJTkK9u/B+A2EJlcRxOo8MMU5zMD4GAHBT
uJwGzIM9Ttbg6f6WupP5fszP4AVPvbmtBlWTwG8r+9SRIoxHU67vhqr0Kda9dlbi
vrfU5DT/Si46O/IRS0s2mTEIwLKfzhOpIGHPnQwvoKGBILLwECWw4qTyOefXl36Z
/T4WrCUCgYASbP9dpwuQv99b6FHMljjDiLSrniuM+kyv53bQLQd2tHYRPegYctPA
GwyxHHhIPfXVJXkCWcOnYmJLQDqhffaHlKVAoJoji3qBWeohD/8gu3vt3FIJD1yQ
EXSYhiBMiwuLdFRKZJxoDo5Blow6q8Y1oGbLyUXjYqU0ufV4NZ6jwQKBgQCIzaZU
aPgooiyaNZTsDxVU7qkRLRps1JzEqWZiVy9VASXoNGS1kRm6VnTFyYwd7XzxyfZX
X7ploCfR/FaAD6LGlrdOLjzkOM8gpDwk8jRohzmfiQIDtv+0bnhL040ebvoFfX/m
DsR1hhMOBtZt/Qaa4tMnELecIhfOoYObWXG9rQKBgQCPpQ+2P3q3bY3w2qV3vOSl
krPjsvnyd/YRo/HDGPAw9pNzuqOtk7e9EjHzxIqdiAGUjVrmtnywi2GXdfYdCKG5
wZFRcMaxE0xRynRgCFB3JNbl4Ia6b7lqcPqMB96QLPynev09UcYBRL/eEyI+O27c
zRtFgewpYjj+nKuNRsYIsg==
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIDSzCCAjMCFFGeGkfRu4/advpy1mtdPFt7dfCaMA0GCSqGSIb3DQEBCwUAMF4x
CzAJBgNVBAMMAkNBMQswCQYDVQQLDAJEQjEQMA4GA1UECgwHTW9uZ29EQjEWMBQG
A1UEBwwNU2FuIEZyYW5jaXNjbzELMAkGA1UECAwCQ0ExCzAJBgNVBAYTAlVTMCAX
DTIzMTEyMzExMDcwMVoYDzIwNTEwNDA5MTEwNzAxWjBkMQ4wDAYDVQQDDAVhZG1p
bjESMBAGA1UECwwJQmFsbGVyaW5hMQ0wCwYDVQQKDARXU08yMRAwDgYDVQQHDAdD
b2xvbWJvMRAwDgYDVQQIDAdXZXN0ZXJuMQswCQYDVQQGEwJMSzCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAKu6XpPMOOHnkVM65Wc8lTg0NYLnz60Kx+/w
uJMW2aToXVDuFDbx8TAblH0QViRIBGoKfknw2bB7pJAZDs3ZYfMXrleTBxgyH0ao
yIAxg0Zwv7bKGS5pxqEKj6vkjaO6ZJp/kWfxhOSFbUcQVxl6j9io2kuQn6bhdqK9
S8+XH8h4/PlnmGd5xtTwa4KFRhSsNcEJsTgnB3t/onYYQuiR5uZoo1driQbaGabK
tJROTdkpWtvEiAFl+17IxaK6dLOEzgjabc8TNy8Mlw07Oms7Rcwei+LSsXmyYMlT
EpwuLuIy4DFLBWmCAHYhO7+54Fe7feumuy8MOnCl77JzF3q+r2UCAwEAATANBgkq
hkiG9w0BAQsFAAOCAQEAd0Lc4wglK+dmbif9xeIbCpql1883YbuAQaV1NI2SL7K8
2pu6iwa2U6mk9LsSR01Klkrhw7zNkTCvGGXq6FcRWZTQfjK0w6YicEuhsB8Vdr6E
PoLTpG6QIKwLiUpZEX4J9SqYfyrlOkFLAPS3eiLHZ41XAwFa5Fboh3822MYGoDuX
RgoU1eeD099L6Swm5kOq8KOXdLHtYpoQ3FLt+YSTTr/nwbe7W4RoM1MXIcQsJ0nX
WJRwh+mXvaPoo21BeXBHyL0BC+i826mn54wcOlrELVmJOuOgsOfmq/WeeP3BckMV
qCo2CLuz4Zt9GTXcTLVYW2wA6Ni5/i01tvhaCuHzpw==
-----END CERTIFICATE-----
48 changes: 48 additions & 0 deletions ballerina/tests/resources/docker/certs/mongodb-server.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC2YbOLff66HOaC
0/y2pwcJEvjCmPW8nbmI+DgE9rxhBgOPaSPk0QoqnHcJyfOvfnpgY+7i7a4NMoa/
wyTONTrbiSa2jtwKgGKrK+SMJyouNGGWjYf44XzHD4AerJ4y5boQ0JVW5cBMUBzI
I7a5rs/RSINdg0svh/DTfPbtzr36cI/HKRQ0mAQgOR926zFHxZY04T/wv/dmDhUD
e31/aElB7hcEeHdJtNWCoUtroVdlVysuAf6J9sS01FYwRt0lt75Ln2BQu5D6dwD2
HIgC88SsmsmbqOq4WxVcd9r9gFQa2sIo0Ze4cSmpEP6qwJr8uXXlfWXRgVNYEAR0
qViUo2/zAgMBAAECggEAFCnSDUp1NoNKcs1YA6OMshKgYPdDN8KiSAPVQas7oWhm
TV0c5Ee+HX7l5DWpFM5hXjW+K+WGGBxtbFb5Qzj8VFgh6Q37Qsf14KG+J0aPMcOF
xHzKOxhG0MUkb3+7D7p5KzG8SPqmm2lB/ViBc57hh+xB5b1FuzAGzoLi0+DG/SBz
x+BDwEcMGyNa8cd2oK8YLkKf86K2g7YqXrP8rsXQWPQfOjGHKkuxHfmd6CmSfS5e
ILi0VX0ZTxZIdZOuCEwG5LCyOMKqLn78uEfHLr9aFP1UxbhSwVDNp8hNinfdKNkY
eKyZqLUC8Qssvs/ry7t2Z71+1a12bUnqe7nAJWckmQKBgQDnsWaOsCt1cjGttE1D
+/f3DOVBj3pPD40H30v3pa3TxlppD8kFJw4sgyb+5Fq6p/81r9w6ljQxhMpR0G8O
YR76UW3wY31mcrPb/g0tBirt7Qo1VZV2S2A2gefS8uf74pRNgpD1RVkRZZZwEB8O
6TEUqzCvLLlB9Eg+ZNvs3eIE6QKBgQDJg/EjU9BgCN6mfSgq8hq4tODwd69CrAT/
MJMcZGPWbM8eow8K1HvAjwZFnHDLLMlh3xHjmmOygM4yqiRQ3LoBqOh2JZEFueAJ
4Jlz8uPozwaUacsl7h4LebNes65aI1Bs/Y5WDOO1nSplRAaX+lTp2bju/hdL/0P+
Cmx0s1X0ewKBgCDKN4R8JDpj5en6eXDkqQw6s/taTeoAfmodzQeIWBh/mu4BgOaM
x3G/QfaS5NBD1FeJwvY7qblUXLnFcOItFpBAk/mQav/jvdallsHHfK3dfTNdIGD0
e/Ja4i81l2VLhMePcep0XQ2cPfUwIuUeVYbiT2qLPtC5vLuv1HwqTsF5AoGBALkk
VAQVGTlibM2h56mtTgeth4znKUqkKOMcicxoH6H9zj1jqopUtm4v+Z8zIB5LQ6p7
/D+UtUxnMwsxbrQsV2j2+ryxvw/3unLYu6Pf4K0gp/brTA3JPClm4vl7NBD0qQu5
2XAN35gYkb8ARN6UzDceJd7N7DGSkbFxejuuGKbJAoGAa5rKwpGKHWDIen1X6uiO
Mjg2iH+qmNf7c8GLaRlmSqoKaMRKiTO+DEX4zpxManNJYTcWcaSCtsyv2S3JWpe7
/xWObYKmfUcbCKRa499cqAQmICyzo8YuYPN8of+f+G1lYSh7yMsivE6LzW2diEGT
DKclDdGVZGnCrD+aHCa/0+Q=
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIDTDCCAjQCFFGeGkfRu4/advpy1mtdPFt7dfCZMA0GCSqGSIb3DQEBCwUAMF4x
CzAJBgNVBAMMAkNBMQswCQYDVQQLDAJEQjEQMA4GA1UECgwHTW9uZ29EQjEWMBQG
A1UEBwwNU2FuIEZyYW5jaXNjbzELMAkGA1UECAwCQ0ExCzAJBgNVBAYTAlVTMCAX
DTIzMTEyMzExMDcwMVoYDzIwNTEwNDA5MTEwNzAxWjBlMRIwEAYDVQQDDAlsb2Nh
bGhvc3QxCzAJBgNVBAsMAkRCMRAwDgYDVQQKDAdNb25nb0RCMRYwFAYDVQQHDA1T
YW4gRnJhbmNpc2NvMQswCQYDVQQIDAJDQTELMAkGA1UEBhMCVVMwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2YbOLff66HOaC0/y2pwcJEvjCmPW8nbmI
+DgE9rxhBgOPaSPk0QoqnHcJyfOvfnpgY+7i7a4NMoa/wyTONTrbiSa2jtwKgGKr
K+SMJyouNGGWjYf44XzHD4AerJ4y5boQ0JVW5cBMUBzII7a5rs/RSINdg0svh/DT
fPbtzr36cI/HKRQ0mAQgOR926zFHxZY04T/wv/dmDhUDe31/aElB7hcEeHdJtNWC
oUtroVdlVysuAf6J9sS01FYwRt0lt75Ln2BQu5D6dwD2HIgC88SsmsmbqOq4WxVc
d9r9gFQa2sIo0Ze4cSmpEP6qwJr8uXXlfWXRgVNYEAR0qViUo2/zAgMBAAEwDQYJ
KoZIhvcNAQELBQADggEBAH7tHx7s6AQAVpOmN8jcPulFgNTUrUCT9Ww/DGUMl2i7
tyj9YL4eMLkC9/WTAMqEZg9JO3f0708WhfEpxro7z8vSzczObJAtalB5uCN2NszQ
L0peujUAu2mLWtXoin3CbNz6EPe6H/SUKf/zzqpw9L6iZaEju7Qf2ckBN/S0bWSw
EiW9ol1TrFQB5noja3K7N3l8XXz+3TEdz7N5XeU9c3/r76yk4ODcOTkYmbZe0lev
vKEC7OXxmvwekUYkX4+XPLjEU44gH8nlATSjXUGWFqLVHGp0arLCDzZBtLIQCSPi
alX/ZSoXwpRSx+8Go+E1Lu+ZC3VG2Gfl8Ldu1RT+8XA=
-----END CERTIFICATE-----
32 changes: 32 additions & 0 deletions ballerina/tests/resources/docker/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
version: '3.8'

services:
mongo-no-ssl:
image: mongo:4.2
restart: always
ports:
- 27017:27017
volumes:
- ./init-scripts/no-ssl.js:/docker-entrypoint-initdb.d/init-mongo.js:ro
healthcheck:
test: echo 'db.runCommand("ping").ok' | mongo localhost:27017/test --quiet
interval: 30s
timeout: 20s
retries: 3
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: admin

mongo-with-ssl:
image: mongo:4.2
restart: always
ports:
- 27018:27018
volumes:
- ./init-scripts/ssl.js:/docker-entrypoint-initdb.d/init-mongo.js:ro
- ./certs/mongodb-server.pem:/etc/ssl/mongodb.pem:ro
- ./certs/mongodb-CA.pem:/etc/ssl/mongodb-ca.pem:ro
depends_on:
mongo-no-ssl:
condition: service_healthy
command: --port 27018 --tlsMode requireTLS --tlsCertificateKeyFile /etc/ssl/mongodb.pem --tlsCAFile /etc/ssl/mongodb-ca.pem
Loading

0 comments on commit a763417

Please sign in to comment.