mirror of
https://github.com/square/okhttp.git
synced 2026-01-12 10:23:16 +03:00
Fix CacheTest on Windows (#9248)
cache.directory.path.toPath() fights the emulateUnix. Also avoid 10s delays on failure. Came from flake process, with AI. But all actual fix from me.
This commit is contained in:
@@ -3170,6 +3170,7 @@ class CacheTest {
|
||||
.code(HttpURLConnection.HTTP_NOT_MODIFIED)
|
||||
.build(),
|
||||
)
|
||||
addFinalFailingResponse()
|
||||
val url = server.url("/")
|
||||
val urlKey = key(url)
|
||||
val entryMetadata =
|
||||
@@ -3205,7 +3206,7 @@ CLEAN $urlKey ${entryMetadata.length} ${entryBody.length}
|
||||
writeFile(cache.directoryPath, "$urlKey.0", entryMetadata)
|
||||
writeFile(cache.directoryPath, "$urlKey.1", entryBody)
|
||||
writeFile(cache.directoryPath, "journal", journalBody)
|
||||
cache = Cache(fileSystem, cache.directory.path.toPath(), Int.MAX_VALUE.toLong())
|
||||
cache = Cache(fileSystem, cache.directoryPath, Int.MAX_VALUE.toLong())
|
||||
client =
|
||||
client
|
||||
.newBuilder()
|
||||
@@ -3220,6 +3221,8 @@ CLEAN $urlKey ${entryMetadata.length} ${entryBody.length}
|
||||
/** Exercise the cache format in OkHttp 2.7 and all earlier releases. */
|
||||
@Test
|
||||
fun testGoldenCacheHttpsResponseOkHttp27() {
|
||||
addFinalFailingResponse()
|
||||
|
||||
val url = server.url("/")
|
||||
val urlKey = key(url)
|
||||
val prefix = get().getPrefix()
|
||||
@@ -3255,7 +3258,7 @@ CLEAN $urlKey ${entryMetadata.length} ${entryBody.length}
|
||||
writeFile(cache.directoryPath, "$urlKey.1", entryBody)
|
||||
writeFile(cache.directoryPath, "journal", journalBody)
|
||||
cache.close()
|
||||
cache = Cache(fileSystem, cache.directory.path.toPath(), Int.MAX_VALUE.toLong())
|
||||
cache = Cache(fileSystem, cache.directoryPath, Int.MAX_VALUE.toLong())
|
||||
client =
|
||||
client
|
||||
.newBuilder()
|
||||
@@ -3269,6 +3272,8 @@ CLEAN $urlKey ${entryMetadata.length} ${entryBody.length}
|
||||
/** The TLS version is present in OkHttp 3.0 and beyond. */
|
||||
@Test
|
||||
fun testGoldenCacheHttpsResponseOkHttp30() {
|
||||
addFinalFailingResponse()
|
||||
|
||||
val url = server.url("/")
|
||||
val urlKey = key(url)
|
||||
val prefix = get().getPrefix()
|
||||
@@ -3309,7 +3314,7 @@ CLEAN $urlKey ${entryMetadata.length} ${entryBody.length}
|
||||
writeFile(cache.directoryPath, "$urlKey.1", entryBody)
|
||||
writeFile(cache.directoryPath, "journal", journalBody)
|
||||
cache.close()
|
||||
cache = Cache(fileSystem, cache.directory.path.toPath(), Int.MAX_VALUE.toLong())
|
||||
cache = Cache(fileSystem, cache.directoryPath, Int.MAX_VALUE.toLong())
|
||||
client =
|
||||
client
|
||||
.newBuilder()
|
||||
@@ -3322,6 +3327,8 @@ CLEAN $urlKey ${entryMetadata.length} ${entryBody.length}
|
||||
|
||||
@Test
|
||||
fun testGoldenCacheHttpResponseOkHttp30() {
|
||||
addFinalFailingResponse()
|
||||
|
||||
val url = server.url("/")
|
||||
val urlKey = key(url)
|
||||
val prefix = get().getPrefix()
|
||||
@@ -3355,7 +3362,7 @@ CLEAN $urlKey ${entryMetadata.length} ${entryBody.length}
|
||||
writeFile(cache.directoryPath, "$urlKey.1", entryBody)
|
||||
writeFile(cache.directoryPath, "journal", journalBody)
|
||||
cache.close()
|
||||
cache = Cache(fileSystem, cache.directory.path.toPath(), Int.MAX_VALUE.toLong())
|
||||
cache = Cache(fileSystem, cache.directoryPath, Int.MAX_VALUE.toLong())
|
||||
client =
|
||||
client
|
||||
.newBuilder()
|
||||
@@ -3366,6 +3373,12 @@ CLEAN $urlKey ${entryMetadata.length} ${entryBody.length}
|
||||
assertThat(response.header("Content-Length")).isEqualTo("3")
|
||||
}
|
||||
|
||||
private fun addFinalFailingResponse() {
|
||||
// Should not get to this response, so fail if so.
|
||||
// Avoids timeout on error
|
||||
server.enqueue(MockResponse(code = 420, body = "Enhance Your Calm"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun evictAll() {
|
||||
server.enqueue(
|
||||
@@ -3823,7 +3836,7 @@ CLEAN $urlKey ${entryMetadata.length} ${entryBody.length}
|
||||
file: String,
|
||||
content: String,
|
||||
) {
|
||||
val sink = fileSystem.sink(directory.div(file)).buffer()
|
||||
val sink = fileSystem.sink(directory / file).buffer()
|
||||
sink.writeUtf8(content)
|
||||
sink.close()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user