Skip to content

Commit d795bff

Browse files
authored
Merge pull request #2023 from OneSignal/tests/switch-to-kotest-extensions-android
[Tests] Switch to kotest-extensions-android
2 parents 3c79306 + 227334f commit d795bff

File tree

24 files changed

+26
-224
lines changed

24 files changed

+26
-224
lines changed

Examples/OneSignalDemo/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ plugins {
55
android {
66
compileSdkVersion 33
77
defaultConfig {
8-
minSdkVersion 19
8+
minSdkVersion 21
99
targetSdkVersion 33
1010
versionCode 1
1111
versionName "1.0"
@@ -33,7 +33,7 @@ android {
3333
}
3434
huawei {
3535
dimension "default"
36-
minSdkVersion 19
36+
minSdkVersion 21
3737
applicationId "com.onesignal.sdktest"
3838
}
3939
}

OneSignalSDK/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ buildscript {
66
buildVersions = [
77
compileSdkVersion: 34,
88
targetSdkVersion: 34,
9-
minSdkVersion: 19
9+
minSdkVersion: 21
1010
]
1111
androidGradlePluginVersion = '7.2.0'
1212
googleServicesGradlePluginVersion = '4.3.10'

OneSignalSDK/onesignal/core/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ dependencies {
8888
testImplementation("io.kotest:kotest-assertions-core:$kotestVersion")
8989
testImplementation("io.kotest:kotest-property:$kotestVersion")
9090
testImplementation("org.robolectric:robolectric:4.8.1")
91+
// kotest-extensions-android allows Robolectric to work with Kotest via @RobolectricTest
92+
testImplementation("br.com.colman:kotest-extensions-android:0.1.1")
9193
testImplementation("androidx.test:core-ktx:1.4.0")
9294
testImplementation("androidx.test:core:1.4.0")
9395
testImplementation("io.mockk:mockk:1.13.2")

OneSignalSDK/onesignal/core/src/test/java/com/onesignal/core/internal/application/ApplicationServiceTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ package com.onesignal.core.internal.application
33
import android.app.Activity
44
import android.content.Context
55
import androidx.test.core.app.ApplicationProvider
6+
import br.com.colman.kotest.android.extensions.robolectric.RobolectricTest
67
import com.onesignal.common.threading.WaiterWithValue
78
import com.onesignal.common.threading.suspendifyOnThread
89
import com.onesignal.core.internal.application.impl.ApplicationService
910
import com.onesignal.debug.LogLevel
1011
import com.onesignal.debug.internal.logging.Logging
11-
import com.onesignal.testhelpers.extensions.RobolectricTest
1212
import io.kotest.core.spec.style.FunSpec
1313
import io.kotest.matchers.shouldBe
1414
import io.mockk.spyk

OneSignalSDK/onesignal/core/src/test/java/com/onesignal/core/internal/database/OSDatabaseTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ package com.onesignal.core.internal.database
22

33
import android.content.ContentValues
44
import androidx.test.core.app.ApplicationProvider
5+
import br.com.colman.kotest.android.extensions.robolectric.RobolectricTest
56
import com.onesignal.core.internal.database.impl.OSDatabase
67
import com.onesignal.core.internal.database.impl.OneSignalDbContract
78
import com.onesignal.debug.LogLevel
89
import com.onesignal.debug.internal.logging.Logging
910
import com.onesignal.session.internal.outcomes.impl.OutcomeTableProvider
10-
import com.onesignal.testhelpers.extensions.RobolectricTest
1111
import io.kotest.core.spec.style.FunSpec
1212
import io.kotest.matchers.shouldBe
1313
import io.mockk.mockk

OneSignalSDK/onesignal/core/src/test/java/com/onesignal/core/internal/preferences/PreferencesServiceTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ package com.onesignal.core.internal.preferences
22

33
import android.content.Context
44
import androidx.test.core.app.ApplicationProvider
5+
import br.com.colman.kotest.android.extensions.robolectric.RobolectricTest
56
import com.onesignal.core.internal.preferences.impl.PreferencesService
67
import com.onesignal.debug.LogLevel
78
import com.onesignal.debug.internal.logging.Logging
89
import com.onesignal.mocks.AndroidMockHelper
910
import com.onesignal.mocks.MockHelper
10-
import com.onesignal.testhelpers.extensions.RobolectricTest
1111
import io.kotest.assertions.throwables.shouldThrowUnit
1212
import io.kotest.core.spec.style.FunSpec
1313
import io.kotest.matchers.shouldBe

OneSignalSDK/onesignal/core/src/test/java/com/onesignal/selftest/JSONObjectEnvTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.onesignal.selftest
22

3+
import br.com.colman.kotest.android.extensions.robolectric.RobolectricTest
34
import com.onesignal.common.toMap
4-
import com.onesignal.testhelpers.extensions.RobolectricTest
55
import io.kotest.core.spec.style.FunSpec
66
import io.kotest.core.spec.style.funSpec
77
import io.kotest.matchers.shouldBe

OneSignalSDK/onesignal/core/src/test/java/com/onesignal/session/internal/outcomes/OutcomeEventsRepositoryTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.onesignal.session.internal.outcomes
22

3+
import br.com.colman.kotest.android.extensions.robolectric.RobolectricTest
34
import com.onesignal.debug.LogLevel
45
import com.onesignal.debug.internal.logging.Logging
56
import com.onesignal.mocks.DatabaseMockHelper
@@ -12,7 +13,6 @@ import com.onesignal.session.internal.outcomes.impl.OutcomeEventsRepository
1213
import com.onesignal.session.internal.outcomes.impl.OutcomeEventsTable
1314
import com.onesignal.session.internal.outcomes.impl.OutcomeSource
1415
import com.onesignal.session.internal.outcomes.impl.OutcomeSourceBody
15-
import com.onesignal.testhelpers.extensions.RobolectricTest
1616
import io.kotest.core.spec.style.FunSpec
1717
import io.kotest.matchers.shouldBe
1818
import io.kotest.matchers.shouldNotBe

OneSignalSDK/onesignal/core/src/test/java/com/onesignal/user/internal/operations/LoginUserOperationExecutorTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package com.onesignal.user.internal.operations
22

3+
import br.com.colman.kotest.android.extensions.robolectric.RobolectricTest
34
import com.onesignal.common.exceptions.BackendException
45
import com.onesignal.core.internal.operations.ExecutionResponse
56
import com.onesignal.core.internal.operations.ExecutionResult
67
import com.onesignal.core.internal.operations.Operation
78
import com.onesignal.mocks.AndroidMockHelper
89
import com.onesignal.mocks.MockHelper
9-
import com.onesignal.testhelpers.extensions.RobolectricTest
1010
import com.onesignal.user.internal.backend.CreateUserResponse
1111
import com.onesignal.user.internal.backend.IUserBackendService
1212
import com.onesignal.user.internal.backend.IdentityConstants

OneSignalSDK/onesignal/core/src/test/java/com/onesignal/user/internal/operations/SubscriptionOperationExecutorTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package com.onesignal.user.internal.operations
22

3+
import br.com.colman.kotest.android.extensions.robolectric.RobolectricTest
34
import com.onesignal.common.exceptions.BackendException
45
import com.onesignal.core.internal.operations.ExecutionResult
56
import com.onesignal.core.internal.operations.Operation
67
import com.onesignal.mocks.AndroidMockHelper
78
import com.onesignal.mocks.MockHelper
8-
import com.onesignal.testhelpers.extensions.RobolectricTest
99
import com.onesignal.user.internal.backend.ISubscriptionBackendService
1010
import com.onesignal.user.internal.backend.IdentityConstants
1111
import com.onesignal.user.internal.backend.SubscriptionObjectType

OneSignalSDK/onesignal/in-app-messages/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ dependencies {
8888
testImplementation("io.kotest:kotest-assertions-core:$kotestVersion")
8989
testImplementation("io.kotest:kotest-property:$kotestVersion")
9090
testImplementation("org.robolectric:robolectric:4.8.1")
91+
// kotest-extensions-android allows Robolectric to work with Kotest via @RobolectricTest
92+
testImplementation("br.com.colman:kotest-extensions-android:0.1.1")
9193
testImplementation("androidx.test:core-ktx:1.4.0")
9294
testImplementation("androidx.test:core:1.4.0")
9395
testImplementation("io.mockk:mockk:1.13.2")

OneSignalSDK/onesignal/in-app-messages/src/test/java/com/onesignal/inAppMessages/internal/preview/InAppMessagePreviewHandlerTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.onesignal.inAppMessages.internal.preview
22

33
import android.app.Activity
4+
import br.com.colman.kotest.android.extensions.robolectric.RobolectricTest
45
import com.onesignal.debug.LogLevel
56
import com.onesignal.debug.internal.logging.Logging
67
import com.onesignal.inAppMessages.internal.display.IInAppDisplayer
@@ -9,7 +10,6 @@ import com.onesignal.mocks.MockHelper
910
import com.onesignal.notifications.internal.INotificationActivityOpener
1011
import com.onesignal.notifications.internal.display.INotificationDisplayer
1112
import com.onesignal.notifications.internal.lifecycle.INotificationLifecycleService
12-
import com.onesignal.testhelpers.extensions.RobolectricTest
1313
import io.kotest.core.spec.style.FunSpec
1414
import io.kotest.matchers.shouldBe
1515
import io.mockk.coEvery

OneSignalSDK/onesignal/location/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ dependencies {
8787
testImplementation("io.kotest:kotest-assertions-core:$kotestVersion")
8888
testImplementation("io.kotest:kotest-property:$kotestVersion")
8989
testImplementation("org.robolectric:robolectric:4.8.1")
90+
// kotest-extensions-android allows Robolectric to work with Kotest via @RobolectricTest
91+
testImplementation("br.com.colman:kotest-extensions-android:0.1.1")
9092
testImplementation("androidx.test:core-ktx:1.4.0")
9193
testImplementation("androidx.test:core:1.4.0")
9294
testImplementation("io.mockk:mockk:1.13.2")

OneSignalSDK/onesignal/location/src/test/java/com/onesignal/location/internal/background/LocationBackgroundServiceTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.onesignal.location.internal.background
33
import android.Manifest
44
import android.app.Application
55
import androidx.test.core.app.ApplicationProvider
6+
import br.com.colman.kotest.android.extensions.robolectric.RobolectricTest
67
import com.onesignal.debug.LogLevel
78
import com.onesignal.debug.internal.logging.Logging
89
import com.onesignal.location.ILocationManager
@@ -11,7 +12,6 @@ import com.onesignal.location.internal.common.LocationConstants
1112
import com.onesignal.location.internal.preferences.ILocationPreferencesService
1213
import com.onesignal.mocks.AndroidMockHelper
1314
import com.onesignal.mocks.MockHelper
14-
import com.onesignal.testhelpers.extensions.RobolectricTest
1515
import io.kotest.core.spec.style.FunSpec
1616
import io.kotest.matchers.shouldBe
1717
import io.mockk.every

OneSignalSDK/onesignal/location/src/test/java/com/onesignal/location/internal/controller/GmsLocationControllerTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package com.onesignal.location.internal.controller
22

33
import android.location.Location
4+
import br.com.colman.kotest.android.extensions.robolectric.RobolectricTest
45
import com.onesignal.debug.LogLevel
56
import com.onesignal.debug.internal.logging.Logging
67
import com.onesignal.location.internal.controller.impl.GmsLocationController
78
import com.onesignal.location.mocks.FusedLocationApiWrapperMock
89
import com.onesignal.location.shadows.ShadowGoogleApiClient
910
import com.onesignal.location.shadows.ShadowGoogleApiClientBuilder
1011
import com.onesignal.mocks.AndroidMockHelper
11-
import com.onesignal.testhelpers.extensions.RobolectricTest
1212
import io.kotest.core.spec.style.FunSpec
1313
import io.kotest.matchers.shouldBe
1414
import io.kotest.matchers.shouldNotBe

OneSignalSDK/onesignal/location/src/test/java/com/onesignal/location/internal/permissions/LocationPermissionControllerTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package com.onesignal.location.internal.permissions
22

3+
import br.com.colman.kotest.android.extensions.robolectric.RobolectricTest
34
import com.onesignal.core.internal.permissions.IRequestPermissionService
45
import com.onesignal.debug.LogLevel
56
import com.onesignal.debug.internal.logging.Logging
67
import com.onesignal.mocks.AndroidMockHelper
7-
import com.onesignal.testhelpers.extensions.RobolectricTest
88
import io.kotest.core.spec.style.FunSpec
99
import io.kotest.matchers.longs.shouldBeGreaterThan
1010
import io.kotest.matchers.shouldBe

OneSignalSDK/onesignal/notifications/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ dependencies {
100100
testImplementation("io.kotest:kotest-assertions-core:$kotestVersion")
101101
testImplementation("io.kotest:kotest-property:$kotestVersion")
102102
testImplementation("org.robolectric:robolectric:4.8.1")
103+
// kotest-extensions-android allows Robolectric to work with Kotest via @RobolectricTest
104+
testImplementation("br.com.colman:kotest-extensions-android:0.1.1")
103105
testImplementation("androidx.test:core-ktx:1.4.0")
104106
testImplementation("androidx.test:core:1.4.0")
105107
testImplementation("io.mockk:mockk:1.13.2")

OneSignalSDK/onesignal/notifications/src/test/java/com/onesignal/notifications/internal/channels/NotificationChannelManagerTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ import android.app.NotificationChannel
55
import android.app.NotificationManager
66
import android.content.Context
77
import androidx.test.core.app.ApplicationProvider
8+
import br.com.colman.kotest.android.extensions.robolectric.RobolectricTest
89
import com.onesignal.debug.LogLevel
910
import com.onesignal.debug.internal.logging.Logging
1011
import com.onesignal.mocks.AndroidMockHelper
1112
import com.onesignal.mocks.MockHelper
1213
import com.onesignal.notifications.internal.channels.impl.NotificationChannelManager
1314
import com.onesignal.notifications.internal.common.NotificationGenerationJob
1415
import com.onesignal.notifications.shadows.ShadowRoboNotificationManager
15-
import com.onesignal.testhelpers.extensions.RobolectricTest
1616
import io.kotest.core.spec.style.FunSpec
1717
import io.kotest.matchers.shouldBe
1818
import io.kotest.matchers.shouldNotBe

OneSignalSDK/onesignal/notifications/src/test/java/com/onesignal/notifications/internal/generation/NotificationGenerationProcessorTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.onesignal.notifications.internal.generation
22

33
import android.content.Context
44
import androidx.test.core.app.ApplicationProvider
5+
import br.com.colman.kotest.android.extensions.robolectric.RobolectricTest
56
import com.onesignal.debug.LogLevel
67
import com.onesignal.debug.internal.logging.Logging
78
import com.onesignal.mocks.AndroidMockHelper
@@ -13,7 +14,6 @@ import com.onesignal.notifications.internal.display.INotificationDisplayer
1314
import com.onesignal.notifications.internal.generation.impl.NotificationGenerationProcessor
1415
import com.onesignal.notifications.internal.lifecycle.INotificationLifecycleService
1516
import com.onesignal.notifications.internal.summary.INotificationSummaryManager
16-
import com.onesignal.testhelpers.extensions.RobolectricTest
1717
import io.kotest.core.spec.style.FunSpec
1818
import io.kotest.matchers.shouldBe
1919
import io.mockk.coEvery

OneSignalSDK/onesignal/notifications/src/test/java/com/onesignal/notifications/internal/limiting/NotificationLimitManagerTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ import android.content.Context
44
import androidx.core.app.NotificationCompat
55
import androidx.core.app.NotificationManagerCompat
66
import androidx.test.core.app.ApplicationProvider
7+
import br.com.colman.kotest.android.extensions.robolectric.RobolectricTest
78
import com.onesignal.debug.LogLevel
89
import com.onesignal.debug.internal.logging.Logging
910
import com.onesignal.mocks.AndroidMockHelper
1011
import com.onesignal.notifications.internal.data.INotificationRepository
1112
import com.onesignal.notifications.internal.limiting.impl.NotificationLimitManager
1213
import com.onesignal.notifications.internal.summary.INotificationSummaryManager
13-
import com.onesignal.testhelpers.extensions.RobolectricTest
1414
import io.kotest.core.spec.style.FunSpec
1515
import io.mockk.coEvery
1616
import io.mockk.coVerify

OneSignalSDK/onesignal/notifications/src/test/java/com/onesignal/notifications/internal/summary/NotificationSummaryManagerTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.onesignal.notifications.internal.summary
22

3+
import br.com.colman.kotest.android.extensions.robolectric.RobolectricTest
34
import com.onesignal.debug.LogLevel
45
import com.onesignal.debug.internal.logging.Logging
56
import com.onesignal.mocks.AndroidMockHelper
@@ -9,7 +10,6 @@ import com.onesignal.notifications.internal.display.ISummaryNotificationDisplaye
910
import com.onesignal.notifications.internal.restoration.INotificationRestoreProcessor
1011
import com.onesignal.notifications.internal.summary.impl.NotificationSummaryManager
1112
import com.onesignal.notifications.shadows.ShadowRoboNotificationManager
12-
import com.onesignal.testhelpers.extensions.RobolectricTest
1313
import io.kotest.core.spec.style.FunSpec
1414
import io.kotest.matchers.shouldBe
1515
import io.mockk.coEvery

OneSignalSDK/onesignal/testhelpers/build.gradle

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,8 @@ android {
3838
dependencies {
3939
implementation(project(':OneSignal:core'))
4040

41-
// Only use for RobolectricExtension.kt,
42-
// to bridge Robolectric's JUnit4 usage to Kotest's Junit 5
43-
implementation("junit:junit:4.13.2")
44-
4541
implementation("io.kotest:kotest-runner-junit5:$kotestVersion")
4642
implementation("io.kotest:kotest-runner-junit5-jvm:$kotestVersion")
47-
implementation("org.robolectric:robolectric:4.8.1")
48-
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion")
4943
implementation("io.mockk:mockk:1.13.2")
5044
implementation("androidx.test:core-ktx:1.5.0")
5145
}

OneSignalSDK/onesignal/testhelpers/src/main/java/com/onesignal/testhelpers/extensions/ContainedRobolectricRunner.kt

Lines changed: 0 additions & 70 deletions
This file was deleted.

0 commit comments

Comments
 (0)