Skip to content

Commit 48ad75b

Browse files
authored
Merge pull request #9 from airwallex/feature/APAM-27-support-staging-environment
[APAM-27] Support staging environment
2 parents 77bd421 + 2e6f45e commit 48ad75b

File tree

5 files changed

+21
-14
lines changed

5 files changed

+21
-14
lines changed

RiskSdk/src/main/java/com/airwallex/risk/AirwallexRisk.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ class AirwallexRisk private constructor() {
99
companion object {
1010
private const val sharedPreferencesFilename: String = Constants.sharedPreferencesFilename
1111

12-
internal var shared: AirwallexRiskInternal? = null
12+
private var shared: AirwallexRiskInternal? = null
1313

1414
/**
1515
* Airwallex risk request header.

RiskSdk/src/main/java/com/airwallex/risk/Environment.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.airwallex.risk
22

3-
internal enum class Environment(internal val host: String) {
3+
enum class Environment(internal val host: String) {
44
PRODUCTION("https://bws.airwallex.com/bws/v2/m/"),
55
DEMO("https://bws-demo.airwallex.com/bws/v2/m/"),
66
STAGING("https://bws-staging.airwallex.com/bws/v2/m/")

RiskSdk/src/main/java/com/airwallex/risk/RiskConfiguration.kt

+14-6
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,26 @@ package com.airwallex.risk
22

33
/**
44
* Configuration context for the Airwallex Risk SDK.
5-
* @param isProduction set to `false` for test environments.
5+
* @param environment Airwallex risk environment, set to production for release builds.
66
* @Param tenant only modify if requested by Airwallex.
77
* @param bufferTimeMillis requests buffer time in milliseconds.
88
*/
99
class RiskConfiguration(
10-
isProduction: Boolean = true,
10+
val environment: Environment = Environment.PRODUCTION,
1111
val tenant: Tenant = Tenant.SCALE,
1212
val bufferTimeMillis: Long = 20_000L
1313
) {
14-
internal val environment: Environment
1514

16-
init {
17-
this.environment = if (isProduction) Environment.PRODUCTION else Environment.DEMO
18-
}
15+
/**
16+
* Configuration context for the Airwallex Risk SDK.
17+
* @param isProduction set to `false` for test environments.
18+
* @Param tenant only modify if requested by Airwallex.
19+
*/
20+
constructor(
21+
isProduction: Boolean = true,
22+
tenant: Tenant = Tenant.SCALE
23+
) : this(
24+
environment = if (isProduction) Environment.PRODUCTION else Environment.DEMO,
25+
tenant = tenant
26+
)
1927
}

RiskSdk/src/test/java/com/airwallex/risk/RiskConfigurationTest.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ class RiskConfigurationTest {
77

88
@Test
99
fun `test configuration`() {
10-
val config1 = RiskConfiguration(isProduction = true, tenant = Tenant.PA)
10+
val config1 = RiskConfiguration(environment = Environment.PRODUCTION, tenant = Tenant.PA, bufferTimeMillis = 5_000L)
1111
assertEquals(config1.environment, Environment.PRODUCTION)
1212
assertEquals(config1.tenant, Tenant.PA)
13-
assertEquals(config1.bufferTimeMillis, 20_000L)
13+
assertEquals(config1.bufferTimeMillis, 5_000L)
1414

15-
val config2 = RiskConfiguration(isProduction = false, tenant = Tenant.SCALE, bufferTimeMillis = 5_000L)
15+
val config2 = RiskConfiguration(isProduction = false, tenant = Tenant.SCALE)
1616
assertEquals(config2.environment, Environment.DEMO)
1717
assertEquals(config2.tenant, Tenant.SCALE)
18-
assertEquals(config2.bufferTimeMillis, 5_000L)
18+
assertEquals(config2.bufferTimeMillis, 20_000L)
1919
}
2020
}

app/src/main/java/com/airwallex/risk/sample/SampleApplication.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ class SampleApplication : Application() {
1515
applicationContext = applicationContext,
1616
accountId = accountId,
1717
configuration = RiskConfiguration(
18-
isProduction = !BuildConfig.DEBUG,
19-
bufferTimeMillis = 5_000L
18+
isProduction = !BuildConfig.DEBUG
2019
)
2120
)
2221

0 commit comments

Comments
 (0)