Loading build.gradle +2 −2 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:7.2.0' classpath 'com.android.tools.build:gradle:7.2.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${versions.kotlin}" classpath "org.jetbrains.dokka:dokka-gradle-plugin:${versions.dokka}" } Loading Loading @@ -101,7 +101,7 @@ dependencies { implementation "commons-io:commons-io:${versions.commonsIO}" implementation 'org.slf4j:slf4j-jdk14:1.7.32' implementation 'androidx.core:core-ktx:1.7.0' implementation 'androidx.core:core-ktx:1.8.0' androidTestImplementation 'androidx.test:core:1.4.0' androidTestImplementation 'androidx.test:runner:1.4.0' Loading src/androidTest/java/at/bitfire/ical4android/AbstractTasksTest.kt +13 −12 Original line number Diff line number Diff line Loading @@ -5,9 +5,11 @@ package at.bitfire.ical4android import androidx.test.platform.app.InstrumentationRegistry import androidx.test.rule.GrantPermissionRule import org.junit.After import org.junit.Assume import org.junit.Before import org.junit.Rule import org.junit.runner.RunWith import org.junit.runners.Parameterized Loading @@ -23,20 +25,19 @@ abstract class AbstractTasksTest( fun taskProviders() = listOf(TaskProvider.ProviderName.OpenTasks,TaskProvider.ProviderName.TasksOrg) } private val providerOrNull: TaskProvider? by lazy { TaskProvider.acquire(InstrumentationRegistry.getInstrumentation().context, providerName) } protected val provider: TaskProvider by lazy { Assume.assumeNotNull(providerOrNull) providerOrNull!! } @JvmField @Rule val permissionRule = GrantPermissionRule.grant(*providerName.permissions) init { TestUtils.requestPermissions(providerName.permissions) } var providerOrNull: TaskProvider? = null lateinit var provider: TaskProvider @Before open fun prepare() { providerOrNull = TaskProvider.acquire(InstrumentationRegistry.getInstrumentation().context, providerName) Assume.assumeNotNull(providerOrNull) // will halt here if providerOrNull is null provider = providerOrNull!! Ical4Android.log.fine("Using task provider: $provider") } Loading src/androidTest/java/at/bitfire/ical4android/AndroidCalendarTest.kt +23 −17 Original line number Diff line number Diff line Loading @@ -20,40 +20,46 @@ import at.bitfire.ical4android.impl.TestCalendar import at.bitfire.ical4android.impl.TestEvent import net.fortuna.ical4j.model.property.DtEnd import net.fortuna.ical4j.model.property.DtStart import org.junit.After import org.junit.* import org.junit.Assert.assertEquals import org.junit.Assert.assertNotNull import org.junit.Before import org.junit.Rule import org.junit.Test class AndroidCalendarTest { companion object { @JvmField @Rule @ClassRule val permissionRule = GrantPermissionRule.grant( Manifest.permission.READ_CALENDAR, Manifest.permission.WRITE_CALENDAR )!! ) private val testAccount = Account("ical4android.AndroidCalendarTest", CalendarContract.ACCOUNT_TYPE_LOCAL) lateinit var provider: ContentProviderClient @BeforeClass @JvmStatic fun connectProvider() { provider = InstrumentationRegistry.getInstrumentation().targetContext.contentResolver.acquireContentProviderClient(CalendarContract.AUTHORITY)!! } @AfterClass @JvmStatic fun closeProvider() { provider.closeCompat() } private lateinit var provider: ContentProviderClient } private val testAccount = Account("ical4android.AndroidCalendarTest", CalendarContract.ACCOUNT_TYPE_LOCAL) @Before fun prepare() { provider = InstrumentationRegistry.getInstrumentation().targetContext.contentResolver.acquireContentProviderClient(CalendarContract.AUTHORITY)!! // make sure there are no colors for testAccount AndroidCalendar.removeColors(provider, testAccount) assertEquals(0, countColors(testAccount)) } @After fun shutdown() { provider.closeCompat() } @Test fun testManageCalendars() { Loading src/androidTest/java/at/bitfire/ical4android/AndroidEventTest.kt +24 −14 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ package at.bitfire.ical4android import android.Manifest import android.accounts.Account import android.content.ContentProviderClient import android.content.ContentUris import android.content.ContentValues import android.database.DatabaseUtils Loading @@ -25,11 +26,8 @@ import net.fortuna.ical4j.model.component.VAlarm import net.fortuna.ical4j.model.parameter.* import net.fortuna.ical4j.model.property.* import net.fortuna.ical4j.util.TimeZones import org.junit.After import org.junit.* import org.junit.Assert.* import org.junit.Before import org.junit.Rule import org.junit.Test import java.net.URI import java.time.Duration import java.time.Period Loading @@ -37,12 +35,30 @@ import java.util.* class AndroidEventTest { companion object { @JvmField @Rule @ClassRule val permissionRule = GrantPermissionRule.grant( Manifest.permission.READ_CALENDAR, Manifest.permission.WRITE_CALENDAR )!! ) lateinit var provider: ContentProviderClient @BeforeClass @JvmStatic fun connectProvider() { provider = getInstrumentation().targetContext.contentResolver.acquireContentProviderClient(CalendarContract.AUTHORITY)!! } @AfterClass @JvmStatic fun closeProvider() { provider.closeCompat() } } private val testAccount = Account("ical4android@example.com", CalendarContract.ACCOUNT_TYPE_LOCAL) Loading @@ -52,11 +68,6 @@ class AndroidEventTest { private val tzIdDefault = java.util.TimeZone.getDefault().id private val tzDefault = DateUtils.ical4jTimeZone(tzIdDefault) private val provider by lazy { getInstrumentation().targetContext.contentResolver.acquireContentProviderClient(CalendarContract.AUTHORITY)!! } private lateinit var calendarUri: Uri private lateinit var calendar: TestCalendar Loading @@ -70,7 +81,6 @@ class AndroidEventTest { @After fun shutdown() { calendar.delete() provider.closeCompat() } Loading src/androidTest/java/at/bitfire/ical4android/JtxCollectionTest.kt +30 −17 Original line number Diff line number Diff line Loading @@ -6,25 +6,47 @@ package at.bitfire.ical4android import android.accounts.Account import android.content.ContentProviderClient import android.content.ContentResolver import android.content.ContentValues import android.content.Context import androidx.test.platform.app.InstrumentationRegistry import androidx.test.rule.GrantPermissionRule import at.bitfire.ical4android.MiscUtils.ContentProviderClientHelper.closeCompat import at.bitfire.ical4android.impl.TestJtxCollection import at.techbee.jtx.JtxContract import at.techbee.jtx.JtxContract.asSyncAdapter import junit.framework.TestCase.* import org.junit.After import org.junit.Before import org.junit.Test import org.junit.* class JtxCollectionTest { private val testAccount = Account("TEST", JtxContract.JtxCollection.TEST_ACCOUNT_TYPE) private lateinit var contentResolver: ContentResolver companion object { val context = InstrumentationRegistry.getInstrumentation().targetContext val contentResolver = context.contentResolver private lateinit var client: ContentProviderClient lateinit var context: Context @JvmField @ClassRule val permissionRule = GrantPermissionRule.grant(*TaskProvider.PERMISSIONS_JTX) @BeforeClass @JvmStatic fun openProvider() { val clientOrNull = contentResolver.acquireContentProviderClient(JtxContract.AUTHORITY) Assume.assumeNotNull(clientOrNull) client = clientOrNull!! } @AfterClass @JvmStatic fun closeProvider() { client.closeCompat() } } private val testAccount = Account("TEST", JtxContract.JtxCollection.TEST_ACCOUNT_TYPE) private val url = "https://jtx.techbee.at" private val displayname = "jtx" Loading @@ -38,14 +60,6 @@ class JtxCollectionTest { put(JtxContract.JtxCollection.SYNC_VERSION, syncversion) } @Before fun setUp() { context = InstrumentationRegistry.getInstrumentation().targetContext contentResolver = context.contentResolver TestUtils.requestPermissions(TaskProvider.ProviderName.JtxBoard.permissions) client = contentResolver.acquireContentProviderClient(JtxContract.AUTHORITY)!! } @After fun tearDown() { var collections = JtxCollection.find(testAccount, client, context, TestJtxCollection.Factory, null, null) Loading @@ -54,7 +68,6 @@ class JtxCollectionTest { } collections = JtxCollection.find(testAccount, client, context, TestJtxCollection.Factory, null, null) assertEquals(0, collections.size) client.closeCompat() } Loading Loading
build.gradle +2 −2 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:7.2.0' classpath 'com.android.tools.build:gradle:7.2.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${versions.kotlin}" classpath "org.jetbrains.dokka:dokka-gradle-plugin:${versions.dokka}" } Loading Loading @@ -101,7 +101,7 @@ dependencies { implementation "commons-io:commons-io:${versions.commonsIO}" implementation 'org.slf4j:slf4j-jdk14:1.7.32' implementation 'androidx.core:core-ktx:1.7.0' implementation 'androidx.core:core-ktx:1.8.0' androidTestImplementation 'androidx.test:core:1.4.0' androidTestImplementation 'androidx.test:runner:1.4.0' Loading
src/androidTest/java/at/bitfire/ical4android/AbstractTasksTest.kt +13 −12 Original line number Diff line number Diff line Loading @@ -5,9 +5,11 @@ package at.bitfire.ical4android import androidx.test.platform.app.InstrumentationRegistry import androidx.test.rule.GrantPermissionRule import org.junit.After import org.junit.Assume import org.junit.Before import org.junit.Rule import org.junit.runner.RunWith import org.junit.runners.Parameterized Loading @@ -23,20 +25,19 @@ abstract class AbstractTasksTest( fun taskProviders() = listOf(TaskProvider.ProviderName.OpenTasks,TaskProvider.ProviderName.TasksOrg) } private val providerOrNull: TaskProvider? by lazy { TaskProvider.acquire(InstrumentationRegistry.getInstrumentation().context, providerName) } protected val provider: TaskProvider by lazy { Assume.assumeNotNull(providerOrNull) providerOrNull!! } @JvmField @Rule val permissionRule = GrantPermissionRule.grant(*providerName.permissions) init { TestUtils.requestPermissions(providerName.permissions) } var providerOrNull: TaskProvider? = null lateinit var provider: TaskProvider @Before open fun prepare() { providerOrNull = TaskProvider.acquire(InstrumentationRegistry.getInstrumentation().context, providerName) Assume.assumeNotNull(providerOrNull) // will halt here if providerOrNull is null provider = providerOrNull!! Ical4Android.log.fine("Using task provider: $provider") } Loading
src/androidTest/java/at/bitfire/ical4android/AndroidCalendarTest.kt +23 −17 Original line number Diff line number Diff line Loading @@ -20,40 +20,46 @@ import at.bitfire.ical4android.impl.TestCalendar import at.bitfire.ical4android.impl.TestEvent import net.fortuna.ical4j.model.property.DtEnd import net.fortuna.ical4j.model.property.DtStart import org.junit.After import org.junit.* import org.junit.Assert.assertEquals import org.junit.Assert.assertNotNull import org.junit.Before import org.junit.Rule import org.junit.Test class AndroidCalendarTest { companion object { @JvmField @Rule @ClassRule val permissionRule = GrantPermissionRule.grant( Manifest.permission.READ_CALENDAR, Manifest.permission.WRITE_CALENDAR )!! ) private val testAccount = Account("ical4android.AndroidCalendarTest", CalendarContract.ACCOUNT_TYPE_LOCAL) lateinit var provider: ContentProviderClient @BeforeClass @JvmStatic fun connectProvider() { provider = InstrumentationRegistry.getInstrumentation().targetContext.contentResolver.acquireContentProviderClient(CalendarContract.AUTHORITY)!! } @AfterClass @JvmStatic fun closeProvider() { provider.closeCompat() } private lateinit var provider: ContentProviderClient } private val testAccount = Account("ical4android.AndroidCalendarTest", CalendarContract.ACCOUNT_TYPE_LOCAL) @Before fun prepare() { provider = InstrumentationRegistry.getInstrumentation().targetContext.contentResolver.acquireContentProviderClient(CalendarContract.AUTHORITY)!! // make sure there are no colors for testAccount AndroidCalendar.removeColors(provider, testAccount) assertEquals(0, countColors(testAccount)) } @After fun shutdown() { provider.closeCompat() } @Test fun testManageCalendars() { Loading
src/androidTest/java/at/bitfire/ical4android/AndroidEventTest.kt +24 −14 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ package at.bitfire.ical4android import android.Manifest import android.accounts.Account import android.content.ContentProviderClient import android.content.ContentUris import android.content.ContentValues import android.database.DatabaseUtils Loading @@ -25,11 +26,8 @@ import net.fortuna.ical4j.model.component.VAlarm import net.fortuna.ical4j.model.parameter.* import net.fortuna.ical4j.model.property.* import net.fortuna.ical4j.util.TimeZones import org.junit.After import org.junit.* import org.junit.Assert.* import org.junit.Before import org.junit.Rule import org.junit.Test import java.net.URI import java.time.Duration import java.time.Period Loading @@ -37,12 +35,30 @@ import java.util.* class AndroidEventTest { companion object { @JvmField @Rule @ClassRule val permissionRule = GrantPermissionRule.grant( Manifest.permission.READ_CALENDAR, Manifest.permission.WRITE_CALENDAR )!! ) lateinit var provider: ContentProviderClient @BeforeClass @JvmStatic fun connectProvider() { provider = getInstrumentation().targetContext.contentResolver.acquireContentProviderClient(CalendarContract.AUTHORITY)!! } @AfterClass @JvmStatic fun closeProvider() { provider.closeCompat() } } private val testAccount = Account("ical4android@example.com", CalendarContract.ACCOUNT_TYPE_LOCAL) Loading @@ -52,11 +68,6 @@ class AndroidEventTest { private val tzIdDefault = java.util.TimeZone.getDefault().id private val tzDefault = DateUtils.ical4jTimeZone(tzIdDefault) private val provider by lazy { getInstrumentation().targetContext.contentResolver.acquireContentProviderClient(CalendarContract.AUTHORITY)!! } private lateinit var calendarUri: Uri private lateinit var calendar: TestCalendar Loading @@ -70,7 +81,6 @@ class AndroidEventTest { @After fun shutdown() { calendar.delete() provider.closeCompat() } Loading
src/androidTest/java/at/bitfire/ical4android/JtxCollectionTest.kt +30 −17 Original line number Diff line number Diff line Loading @@ -6,25 +6,47 @@ package at.bitfire.ical4android import android.accounts.Account import android.content.ContentProviderClient import android.content.ContentResolver import android.content.ContentValues import android.content.Context import androidx.test.platform.app.InstrumentationRegistry import androidx.test.rule.GrantPermissionRule import at.bitfire.ical4android.MiscUtils.ContentProviderClientHelper.closeCompat import at.bitfire.ical4android.impl.TestJtxCollection import at.techbee.jtx.JtxContract import at.techbee.jtx.JtxContract.asSyncAdapter import junit.framework.TestCase.* import org.junit.After import org.junit.Before import org.junit.Test import org.junit.* class JtxCollectionTest { private val testAccount = Account("TEST", JtxContract.JtxCollection.TEST_ACCOUNT_TYPE) private lateinit var contentResolver: ContentResolver companion object { val context = InstrumentationRegistry.getInstrumentation().targetContext val contentResolver = context.contentResolver private lateinit var client: ContentProviderClient lateinit var context: Context @JvmField @ClassRule val permissionRule = GrantPermissionRule.grant(*TaskProvider.PERMISSIONS_JTX) @BeforeClass @JvmStatic fun openProvider() { val clientOrNull = contentResolver.acquireContentProviderClient(JtxContract.AUTHORITY) Assume.assumeNotNull(clientOrNull) client = clientOrNull!! } @AfterClass @JvmStatic fun closeProvider() { client.closeCompat() } } private val testAccount = Account("TEST", JtxContract.JtxCollection.TEST_ACCOUNT_TYPE) private val url = "https://jtx.techbee.at" private val displayname = "jtx" Loading @@ -38,14 +60,6 @@ class JtxCollectionTest { put(JtxContract.JtxCollection.SYNC_VERSION, syncversion) } @Before fun setUp() { context = InstrumentationRegistry.getInstrumentation().targetContext contentResolver = context.contentResolver TestUtils.requestPermissions(TaskProvider.ProviderName.JtxBoard.permissions) client = contentResolver.acquireContentProviderClient(JtxContract.AUTHORITY)!! } @After fun tearDown() { var collections = JtxCollection.find(testAccount, client, context, TestJtxCollection.Factory, null, null) Loading @@ -54,7 +68,6 @@ class JtxCollectionTest { } collections = JtxCollection.find(testAccount, client, context, TestJtxCollection.Factory, null, null) assertEquals(0, collections.size) client.closeCompat() } Loading