-
Notifications
You must be signed in to change notification settings - Fork 30
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
issue 597: Rework unit-test for ExchangeConfig
- Increased the number of test cases to cover corner cases. Signed-off-by: Oleksandr Mordyk <[email protected]>
- Loading branch information
Showing
2 changed files
with
73 additions
and
25 deletions.
There are no files selected for viewing
25 changes: 0 additions & 25 deletions
25
src/test/scala/org/openhorizon/exchangeapi/ExchConfigSuite.scala
This file was deleted.
Oops, something went wrong.
73 changes: 73 additions & 0 deletions
73
...t/scala/org/openhorizon/exchangeapi/utility/exchconfiguration/TestExchConfiguration.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
package org.openhorizon.exchangeapi | ||
|
||
import org.scalatest.funsuite.AnyFunSuite | ||
import org.openhorizon.exchangeapi._ | ||
import org.openhorizon.exchangeapi.utility.Configuration | ||
|
||
import com.typesafe.config.{Config, ConfigFactory} | ||
import org.scalatest.BeforeAndAfterEach | ||
|
||
class TestConfiguration extends AnyFunSuite with BeforeAndAfterEach { | ||
|
||
override def beforeEach(): Unit = { | ||
Configuration.reload() | ||
} | ||
|
||
test("Should load the configuration successfully") { | ||
val config: Config = Configuration.getConfig | ||
assert(config != null) | ||
} | ||
|
||
test("Should validate necessary configuration keys") { | ||
val config: Config = Configuration.getConfig | ||
assert(config.hasPath("api")) | ||
assert(config.hasPath("exchange-db-connection")) | ||
} | ||
|
||
test ("Should set logback properties correctly") { | ||
val config: Config = Configuration.getConfig | ||
// Extract expected values from the config | ||
val logbackConfigValues = Map( | ||
"log.logback.appenderrefmodelhandler" -> config.getString("logback.core.model.processor.AppenderRefModelHandler"), | ||
"log.logback.loggermodelhandler" -> config.getString("logback.classic.model.processor.LoggerModelHandler"), | ||
"log.hikari.config" -> config.getString("logback.hikari.HikariConfig"), | ||
"log.hikari.datasource" -> config.getString("logback.hikari.HikariDataSource"), | ||
"log.hikari.pool" -> config.getString("logback.hikari.pool.HikariPool"), | ||
"log.hikari.pool.base" -> config.getString("logback.hikari.pool.PoolBase"), | ||
"log.guavacache" -> config.getString("logback.scalacache.guava.GuavaCache"), | ||
"log.action" -> config.getString("logback.slick.basic.BasicBackend.action"), | ||
"log.stream" -> config.getString("logback.slick.basic.BasicBackend.stream"), | ||
"log.qcomp" -> config.getString("logback.slick.compiler-log"), | ||
"log.jdbc.driver" -> config.getString("logback.slick.jdbc.DriverDataSource"), | ||
"log.jdbc.bench" -> config.getString("logback.slick.jdbc.JdbcBackend.benchmark"), | ||
) | ||
|
||
logbackConfigValues.foreach { case (key, expectedValue) => | ||
assert(System.getProperty(key) == expectedValue, "Expected $key to be $expectedValue, but was ${System.getProperty(key)}") | ||
} | ||
} | ||
|
||
test ("Allow reloading of configuration") { | ||
val initialConfig: Config = Configuration.getConfig | ||
|
||
// Simulate a reload | ||
Configuration.reload() | ||
val reloadedConfig: Config = Configuration.getConfig | ||
|
||
// Verify that the config remains the same (or check for specific changes) | ||
assert(initialConfig == reloadedConfig, "Reloaded config should be the same as initial") | ||
} | ||
|
||
test ("Should have correct ExchConfig values") { | ||
// Assertions based on the expected values in your config.json | ||
assert(Configuration.getConfig.getInt("api.limits.maxNodes") === 45000) | ||
assert(Configuration.getConfig.getInt("api.limits.maxAgreements") === 0) | ||
assert(Configuration.getConfig.getInt("api.limits.maxMessagesInMailbox") === 0) | ||
assert(Configuration.getConfig.getString("exchange-db-connection.dataSourceClass") === "org.postgresql.ds.PGSimpleDataSource") | ||
|
||
// Uncomment if you want to test these as well | ||
// assert(Configuration.getConfig.getInt("api.db.minPoolSize") === 1) | ||
// assert(Configuration.getConfig.getInt("api.db.acquireIncrement") === 1) | ||
// assert(Configuration.getConfig.getInt("api.db.maxPoolSize") === 50) | ||
} | ||
} |