diff --git a/src/sbt-test/sbt-api-mappings/all-libraries/build.sbt b/src/sbt-test/sbt-api-mappings/all-libraries/build.sbt index f387f3e..86c5c6d 100644 --- a/src/sbt-test/sbt-api-mappings/all-libraries/build.sbt +++ b/src/sbt-test/sbt-api-mappings/all-libraries/build.sbt @@ -1,25 +1,21 @@ def assertDownloadableApiDocumentation(url: URL) = { - import java.net.HttpURLConnection - val connection = url.openConnection().asInstanceOf[HttpURLConnection] - try { - assert( - (200 to 399).contains(connection.getResponseCode), - s"Unexpected HTTP response code ${connection.getResponseCode} when fetching $url" - ) - } finally { - connection.disconnect() - } + java.lang.System.setProperty("http.agent", "Chrome"); + assert(IO.readLinesURL(url).nonEmpty) } val check = TaskKey[Unit]("check") val scalacheckModuleId = "org.scalacheck" %% "scalacheck" % "1.14.3" check := { - assertDownloadableApiDocumentation( - (apiMappings in Compile in doc).value(scalaInstance.value.libraryJar) + // The expected URL is browsable but not accessible from JRE 8's java.net.HttpURLConnection + val expectedScaladocUrl = + "https://www.scala-lang.org/api/2.13.1/" + + assert( + (apiMappings in Compile in doc).value(scalaInstance.value.libraryJar).toString == expectedScaladocUrl ) - assertDownloadableApiDocumentation( - (apiMappings in Test in doc).value(scalaInstance.value.libraryJar) + assert( + (apiMappings in Test in doc).value(scalaInstance.value.libraryJar).toString == expectedScaladocUrl ) val scalacheckJarName = Artifact.artifactName( @@ -30,7 +26,6 @@ check := { val Some((_, url)) = (apiMappings in Test in doc).value.find(_._1.getName == scalacheckJarName) - // The expected URL is browsable but not accessible from java.net.HttpURLConnection val expectedUrl = "https://javadoc.io/page/org.scalacheck/scalacheck_2.13/1.14.3/" assert(url.toString == expectedUrl) diff --git a/src/test/scala/com/thoughtworks/sbtApiMappings/BootstrapApiMappingsSpec.scala b/src/test/scala/com/thoughtworks/sbtApiMappings/BootstrapApiMappingsSpec.scala index c0d1816..38f6215 100644 --- a/src/test/scala/com/thoughtworks/sbtApiMappings/BootstrapApiMappingsSpec.scala +++ b/src/test/scala/com/thoughtworks/sbtApiMappings/BootstrapApiMappingsSpec.scala @@ -6,10 +6,13 @@ import org.scalatest.wordspec.AnyWordSpec class BootstrapApiMappingsSpec extends AnyWordSpec with Matchers { "BootstrapSbtApiMappings" should { - "provide a working default bootstrapJavadocURL" in { - val src = Source.fromURL(BootstrapApiMappings.defaultBootstrapJavadocUrl) - src.take(200).mkString should include("Generated by javadoc") - src.close() + "provide a working default bootstrapJavadocURL including java.lang package" in { + val src = Source.fromURL(raw"${BootstrapApiMappings.defaultBootstrapJavadocUrl}java/lang/package-summary.html") + try { + src.take(200).mkString should include("Generated by javadoc") + } finally { + src.close() + } } } }