Skip to content

Commit bfd3ed9

Browse files
committed
Add Hilt rule to various tests
1 parent 0a92f09 commit bfd3ed9

File tree

4 files changed

+111
-54
lines changed

4 files changed

+111
-54
lines changed

app/src/androidTest/kotlin/at/bitfire/davdroid/resource/LocalGroupTest.kt

+40-30
Original file line numberDiff line numberDiff line change
@@ -19,66 +19,64 @@ import at.bitfire.vcard4android.Contact
1919
import at.bitfire.vcard4android.GroupMethod
2020
import dagger.hilt.android.testing.HiltAndroidRule
2121
import dagger.hilt.android.testing.HiltAndroidTest
22-
import org.junit.*
23-
import org.junit.Assert.*
22+
import org.junit.AfterClass
23+
import org.junit.Assert.assertEquals
24+
import org.junit.Assert.assertFalse
25+
import org.junit.Assert.assertNotNull
26+
import org.junit.Assert.assertNull
27+
import org.junit.Assert.assertTrue
28+
import org.junit.Before
29+
import org.junit.BeforeClass
30+
import org.junit.ClassRule
31+
import org.junit.Rule
32+
import org.junit.Test
2433
import javax.inject.Inject
2534

2635
@HiltAndroidTest
2736
class LocalGroupTest {
2837

29-
@get:Rule
30-
val hiltRule = HiltAndroidRule(this)
31-
32-
@Inject
33-
lateinit var settingsManager: SettingsManager
38+
companion object {
3439

35-
@Before
36-
fun inject() {
37-
hiltRule.inject()
38-
}
40+
val context = InstrumentationRegistry.getInstrumentation().targetContext
3941

40-
companion object {
4142
@JvmField
4243
@ClassRule
4344
val permissionRule = GrantPermissionRule.grant(Manifest.permission.READ_CONTACTS, Manifest.permission.WRITE_CONTACTS)!!
4445

4546
private lateinit var provider: ContentProviderClient
4647

47-
private lateinit var addressBookGroupsAsCategories: LocalTestAddressBook
48-
private lateinit var addressBookGroupsAsVCards: LocalTestAddressBook
49-
5048
@BeforeClass
5149
@JvmStatic
5250
fun connect() {
53-
val context = InstrumentationRegistry.getInstrumentation().targetContext
5451
provider = context.contentResolver.acquireContentProviderClient(ContactsContract.AUTHORITY)!!
5552
assertNotNull(provider)
56-
57-
addressBookGroupsAsCategories = LocalTestAddressBook(context, provider, GroupMethod.CATEGORIES)
58-
addressBookGroupsAsVCards = LocalTestAddressBook(context, provider, GroupMethod.GROUP_VCARDS)
5953
}
6054

6155
@AfterClass
6256
@JvmStatic
6357
fun disconnect() {
64-
@Suppress("DEPRECATION")
65-
provider.release()
58+
provider.close()
6659
}
6760
}
6861

69-
private fun newGroup(addressBook: LocalAddressBook = addressBookGroupsAsCategories): LocalGroup =
70-
LocalGroup(addressBook,
71-
Contact().apply {
72-
displayName = "Test Group"
73-
}, null, null, 0
74-
).apply {
75-
add()
76-
}
62+
@get:Rule
63+
val hiltRule = HiltAndroidRule(this)
64+
65+
@Inject
66+
lateinit var settingsManager: SettingsManager
7767

7868

69+
private lateinit var addressBookGroupsAsCategories: LocalTestAddressBook
70+
private lateinit var addressBookGroupsAsVCards: LocalTestAddressBook
7971

8072
@Before
81-
fun clearContacts() {
73+
fun setup() {
74+
hiltRule.inject()
75+
76+
addressBookGroupsAsCategories = LocalTestAddressBook(context, provider, GroupMethod.CATEGORIES)
77+
addressBookGroupsAsVCards = LocalTestAddressBook(context, provider, GroupMethod.GROUP_VCARDS)
78+
79+
// clear contacts
8280
addressBookGroupsAsCategories.clear()
8381
addressBookGroupsAsVCards.clear()
8482
}
@@ -264,4 +262,16 @@ class LocalGroupTest {
264262
assertEquals("$newUid.vcf", fileName)
265263
}
266264

265+
266+
// helpers
267+
268+
private fun newGroup(addressBook: LocalAddressBook = addressBookGroupsAsCategories): LocalGroup =
269+
LocalGroup(addressBook,
270+
Contact().apply {
271+
displayName = "Test Group"
272+
}, null, null, 0
273+
).apply {
274+
add()
275+
}
276+
267277
}

app/src/androidTest/kotlin/at/bitfire/davdroid/resource/contactrow/CachedGroupMembershipHandlerTest.kt

+25-7
Original file line numberDiff line numberDiff line change
@@ -15,39 +15,57 @@ import at.bitfire.davdroid.resource.LocalTestAddressBook
1515
import at.bitfire.vcard4android.CachedGroupMembership
1616
import at.bitfire.vcard4android.Contact
1717
import at.bitfire.vcard4android.GroupMethod
18-
import org.junit.*
18+
import dagger.hilt.android.testing.HiltAndroidRule
19+
import dagger.hilt.android.testing.HiltAndroidTest
20+
import org.junit.AfterClass
21+
import org.junit.Assert
1922
import org.junit.Assert.assertArrayEquals
23+
import org.junit.Before
24+
import org.junit.BeforeClass
25+
import org.junit.ClassRule
26+
import org.junit.Rule
27+
import org.junit.Test
2028

29+
@HiltAndroidTest
2130
class CachedGroupMembershipHandlerTest {
2231

2332
companion object {
2433

34+
val context = InstrumentationRegistry.getInstrumentation().context
35+
2536
@JvmField
2637
@ClassRule
2738
val permissionRule = GrantPermissionRule.grant(Manifest.permission.READ_CONTACTS, Manifest.permission.WRITE_CONTACTS)!!
2839

2940
private lateinit var provider: ContentProviderClient
30-
private lateinit var addressBook: LocalTestAddressBook
3141

3242
@BeforeClass
3343
@JvmStatic
3444
fun connect() {
35-
val context = InstrumentationRegistry.getInstrumentation().context
3645
provider = context.contentResolver.acquireContentProviderClient(ContactsContract.AUTHORITY)!!
3746
Assert.assertNotNull(provider)
38-
39-
addressBook = LocalTestAddressBook(context, provider, GroupMethod.GROUP_VCARDS)
4047
}
4148

4249
@AfterClass
4350
@JvmStatic
4451
fun disconnect() {
45-
@Suppress("DEPRECATION")
46-
provider.release()
52+
provider.close()
4753
}
4854

4955
}
5056

57+
@get:Rule
58+
val hiltRule = HiltAndroidRule(this)
59+
60+
private lateinit var addressBook: LocalTestAddressBook
61+
62+
@Before
63+
fun setup() {
64+
hiltRule.inject()
65+
66+
addressBook = LocalTestAddressBook(context, provider, GroupMethod.GROUP_VCARDS)
67+
}
68+
5169

5270
@Test
5371
fun testMembership() {

app/src/androidTest/kotlin/at/bitfire/davdroid/resource/contactrow/GroupMembershipBuilderTest.kt

+18-1
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,18 @@ import androidx.test.rule.GrantPermissionRule
1414
import at.bitfire.davdroid.resource.LocalTestAddressBook
1515
import at.bitfire.vcard4android.Contact
1616
import at.bitfire.vcard4android.GroupMethod
17-
import org.junit.*
17+
import dagger.hilt.android.testing.HiltAndroidRule
18+
import dagger.hilt.android.testing.HiltAndroidTest
19+
import org.junit.AfterClass
20+
import org.junit.Assert
1821
import org.junit.Assert.assertEquals
22+
import org.junit.Before
23+
import org.junit.BeforeClass
24+
import org.junit.ClassRule
25+
import org.junit.Rule
26+
import org.junit.Test
1927

28+
@HiltAndroidTest
2029
class GroupMembershipBuilderTest {
2130

2231
companion object {
@@ -48,6 +57,14 @@ class GroupMembershipBuilderTest {
4857
}
4958
}
5059

60+
@get:Rule
61+
val hiltRule = HiltAndroidRule(this)
62+
63+
@Before
64+
fun setup() {
65+
hiltRule.inject()
66+
}
67+
5168

5269
@Test
5370
fun testCategories_GroupsAsCategories() {

app/src/androidTest/kotlin/at/bitfire/davdroid/resource/contactrow/GroupMembershipHandlerTest.kt

+28-16
Original file line numberDiff line numberDiff line change
@@ -17,25 +17,46 @@ import at.bitfire.vcard4android.Contact
1717
import at.bitfire.vcard4android.GroupMethod
1818
import dagger.hilt.android.testing.HiltAndroidRule
1919
import dagger.hilt.android.testing.HiltAndroidTest
20-
import org.junit.After
20+
import org.junit.AfterClass
2121
import org.junit.Assert
2222
import org.junit.Assert.assertArrayEquals
2323
import org.junit.Assert.assertTrue
2424
import org.junit.Before
25+
import org.junit.BeforeClass
26+
import org.junit.ClassRule
2527
import org.junit.Rule
2628
import org.junit.Test
2729

2830
@HiltAndroidTest
2931
class GroupMembershipHandlerTest {
3032

31-
@get:Rule
32-
var hiltRule = HiltAndroidRule(this)
33+
companion object {
34+
35+
val context = InstrumentationRegistry.getInstrumentation().context
36+
37+
@JvmField
38+
@ClassRule
39+
val permissionRule = GrantPermissionRule.grant(Manifest.permission.READ_CONTACTS, Manifest.permission.WRITE_CONTACTS)!!
3340

34-
@JvmField
35-
@Rule
36-
val permissionRule = GrantPermissionRule.grant(Manifest.permission.READ_CONTACTS, Manifest.permission.WRITE_CONTACTS)!!
41+
private lateinit var provider: ContentProviderClient
3742

38-
private lateinit var provider: ContentProviderClient
43+
@BeforeClass
44+
@JvmStatic
45+
fun connect() {
46+
provider = context.contentResolver.acquireContentProviderClient(ContactsContract.AUTHORITY)!!
47+
Assert.assertNotNull(provider)
48+
}
49+
50+
@AfterClass
51+
@JvmStatic
52+
fun disconnect() {
53+
provider.close()
54+
}
55+
56+
}
57+
58+
@get:Rule
59+
var hiltRule = HiltAndroidRule(this)
3960

4061
private lateinit var addressBookGroupsAsCategories: LocalTestAddressBook
4162
private var addressBookGroupsAsCategoriesGroup: Long = -1
@@ -46,21 +67,12 @@ class GroupMembershipHandlerTest {
4667
fun setup() {
4768
hiltRule.inject()
4869

49-
val context = InstrumentationRegistry.getInstrumentation().targetContext
50-
provider = context.contentResolver.acquireContentProviderClient(ContactsContract.AUTHORITY)!!
51-
Assert.assertNotNull(provider)
52-
5370
addressBookGroupsAsCategories = LocalTestAddressBook(context, provider, GroupMethod.CATEGORIES)
5471
addressBookGroupsAsCategoriesGroup = addressBookGroupsAsCategories.findOrCreateGroup("TEST GROUP")
5572

5673
addressBookGroupsAsVCards = LocalTestAddressBook(context, provider, GroupMethod.GROUP_VCARDS)
5774
}
5875

59-
@After
60-
fun teardown() {
61-
provider.close()
62-
}
63-
6476

6577
@Test
6678
fun testMembership_GroupsAsCategories() {

0 commit comments

Comments
 (0)