/* * Copyright (c) 2026, OpenSavvy and contributors. * * 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. */ @file:OptIn(ExperimentalAtomicApi::class) package opensavvy.ktmongo.tests.multiplatform import opensavvy.ktmongo.multiplatform.MultiplatformMongoClient import opensavvy.ktmongo.tests.api.verifyClient import opensavvy.prepared.runner.testballoon.preparedSuite import kotlin.concurrent.atomics.ExperimentalAtomicApi val IntegrationTests by preparedSuite { verifyClient("MultiplatformMongoClient") { connectionString, coroutineContext -> val regex = Regex("""mongodb://([^:]+):(\d+)""") val matchResult = regex.find(connectionString) checkNotNull(matchResult) { "Failed to parse connection string" } val hostname = matchResult.groupValues[1] val port = matchResult.groupValues[2] MultiplatformMongoClient( hostname = hostname, port = port.toInt(), coroutineContext = coroutineContext, ) } }