Skip to content

Commit 5c2ace0

Browse files
committed
Refactor API, especially DavResponse
1 parent 720c01d commit 5c2ace0

File tree

10 files changed

+327
-287
lines changed

10 files changed

+327
-287
lines changed

build.gradle

+3-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ android {
3333
buildToolsVersion '27.0.3'
3434

3535
defaultConfig {
36-
minSdkVersion 14
36+
//noinspection MinSdkTooLow
37+
minSdkVersion 9 // Android 2.3
3738
targetSdkVersion 27
3839

3940
buildConfigField "String", "version_okhttp", "\"$okhttp_version\""
@@ -58,6 +59,7 @@ dependencies {
5859
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
5960

6061
implementation "com.squareup.okhttp3:okhttp:$okhttp_version"
62+
implementation "commons-io:commons-io:2.6"
6163

6264
androidTestImplementation "com.squareup.okhttp3:mockwebserver:$okhttp_version"
6365
androidTestImplementation 'com.android.support.test:runner:1.0.2'

src/androidTest/java/at/bitfire/dav4android/DavCollectionTest.kt

+39-41
Original file line numberDiff line numberDiff line change
@@ -94,25 +94,25 @@ class DavCollectionTest {
9494
" <D:sync-token>http://example.com/ns/sync/1234</D:sync-token>\n" +
9595
" </D:multistatus>")
9696
)
97-
val changes = collection.reportChanges(null, false, null, GetETag.NAME)
98-
99-
assertEquals(3, changes.members.size)
100-
val members = changes.members.iterator()
101-
val member1 = members.next()
102-
assertEquals(sampleUrl().newBuilder().addPathSegment("test.doc").build(), member1.url)
103-
assertEquals("00001-abcd1", member1[GetETag::class.java]!!.eTag)
104-
105-
val member2 = members.next()
106-
assertEquals(sampleUrl().newBuilder().addPathSegment("vcard.vcf").build(), member2.url)
107-
assertEquals("00002-abcd1", member2[GetETag::class.java]!!.eTag)
108-
109-
val member3 = members.next()
110-
assertEquals(sampleUrl().newBuilder().addPathSegment("calendar.ics").build(), member3.url)
111-
assertEquals("00003-abcd1", member3[GetETag::class.java]!!.eTag)
112-
113-
assertEquals(0, changes.removedMembers.size)
114-
assertFalse(changes.furtherResults)
115-
assertEquals("http://example.com/ns/sync/1234", changes.syncToken!!.token)
97+
collection.reportChanges(null, false, null, GetETag.NAME).use { changes ->
98+
assertEquals(3, changes.members.size)
99+
val members = changes.members.iterator()
100+
val member1 = members.next()
101+
assertEquals(sampleUrl().newBuilder().addPathSegment("test.doc").build(), member1.url)
102+
assertEquals("00001-abcd1", member1[GetETag::class.java]!!.eTag)
103+
104+
val member2 = members.next()
105+
assertEquals(sampleUrl().newBuilder().addPathSegment("vcard.vcf").build(), member2.url)
106+
assertEquals("00002-abcd1", member2[GetETag::class.java]!!.eTag)
107+
108+
val member3 = members.next()
109+
assertEquals(sampleUrl().newBuilder().addPathSegment("calendar.ics").build(), member3.url)
110+
assertEquals("00003-abcd1", member3[GetETag::class.java]!!.eTag)
111+
112+
assertEquals(0, changes.removedMembers.size)
113+
assertFalse(changes.furtherResults)
114+
assertEquals("http://example.com/ns/sync/1234", changes.syncToken!!.token)
115+
}
116116
}
117117

118118
/**
@@ -158,24 +158,24 @@ class DavCollectionTest {
158158
" <D:sync-token>http://example.com/ns/sync/1233</D:sync-token>\n" +
159159
" </D:multistatus>")
160160
)
161-
val changes = collection.reportChanges(null, false, null, GetETag.NAME)
162-
163-
assertEquals(2, changes.members.size)
164-
val members = changes.members.iterator()
165-
val member1 = members.next()
166-
assertEquals(sampleUrl().newBuilder().addPathSegment("test.doc").build(), member1.url)
167-
assertEquals("00001-abcd1", member1[GetETag::class.java]!!.eTag)
168-
169-
val member2 = members.next()
170-
assertEquals(sampleUrl().newBuilder().addPathSegment("vcard.vcf").build(), member2.url)
171-
assertEquals("00002-abcd1", member2[GetETag::class.java]!!.eTag)
172-
173-
assertEquals(1, changes.removedMembers.size)
174-
val removedMember = changes.removedMembers.first()
175-
assertEquals(sampleUrl().newBuilder().addPathSegment("removed.txt").build(), removedMember.url)
176-
177-
assertTrue(changes.furtherResults)
178-
assertEquals("http://example.com/ns/sync/1233", changes.syncToken!!.token)
161+
collection.reportChanges(null, false, null, GetETag.NAME).use { changes ->
162+
assertEquals(2, changes.members.size)
163+
val members = changes.members.iterator()
164+
val member1 = members.next()
165+
assertEquals(sampleUrl().newBuilder().addPathSegment("test.doc").build(), member1.url)
166+
assertEquals("00001-abcd1", member1[GetETag::class.java]!!.eTag)
167+
168+
val member2 = members.next()
169+
assertEquals(sampleUrl().newBuilder().addPathSegment("vcard.vcf").build(), member2.url)
170+
assertEquals("00002-abcd1", member2[GetETag::class.java]!!.eTag)
171+
172+
assertEquals(1, changes.removedMembers.size)
173+
val removedMember = changes.removedMembers.first()
174+
assertEquals(sampleUrl().newBuilder().addPathSegment("removed.txt").build(), removedMember.url)
175+
176+
assertTrue(changes.furtherResults)
177+
assertEquals("http://example.com/ns/sync/1233", changes.syncToken!!.token)
178+
}
179179
}
180180

181181
/**
@@ -196,13 +196,11 @@ class DavCollectionTest {
196196
)
197197

198198
try {
199-
collection.reportChanges("http://example.com/ns/sync/1232", false, 100, GetETag.NAME)
199+
collection.reportChanges("http://example.com/ns/sync/1232", false, 100, GetETag.NAME).close()
200+
fail("Expected HttpException")
200201
} catch (e: HttpException) {
201202
assertEquals(507, e.status)
202-
return
203203
}
204-
205-
fail()
206204
}
207205

208206
}

0 commit comments

Comments
 (0)