Skip to content

Document network access limitations preventing integration tests#6

Draft
Copilot wants to merge 8 commits intomasterfrom
copilot/improve-test-coverage
Draft

Document network access limitations preventing integration tests#6
Copilot wants to merge 8 commits intomasterfrom
copilot/improve-test-coverage

Conversation

Copy link
Contributor

Copilot AI commented Feb 27, 2026

Investigation revealed that while Maven/Gradle repositories are accessible, DNS resolution for external hosts is blocked in the CI environment. Integration tests requiring RIR database downloads fail with UnknownHostException for ftp.{arin,ripe,apnic,afrinic,lacnic}.net.

Changes

Documentation

  • Added NETWORK_ACCESS_INVESTIGATION.md with DNS resolution test results
  • Updated TEST_COVERAGE.md to explain network constraints and how to run integration tests manually

Verification

$ ping google.com
ping: google.com: No address associated with hostname

$ curl https://www.google.com  
curl: (6) Could not resolve host: www.google.com
// Integration test fails with:
java.net.UnknownHostException: ftp.arin.net
  at sun.net.ftp.impl.FtpClient.doConnect(FtpClient.java:1064)

Coverage Architecture

  • 71% coverage: Unit tests (business logic, fast, no network)
  • 29% gap: Integration code (FTP downloads, slow, requires DNS)

The 2 integration tests (Ip2Asn2CcIncludeFilterPolicyTest, Ip2Asn2CcExcludeFilterPolicyTest) are valid but require unrestricted network access to download ~200MB of RIR data from 5 FTP servers.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • ftp.afrinic.net
    • Triggering command: /usr/lib/jvm/temurin-8-jdk-amd64/bin/java /usr/lib/jvm/temurin-8-jdk-amd64/bin/java -Djava.security.manager=worker.org.gradle.process.internal.worker.child.BootstrapSecurityManager -Dorg.gradle.native=false -javaagent:build/tmp/expandedArchives/org.jacoco.agent-0.8.1.jar_edqovih8ve5wrctm2ogx02j98/jacocoagent.jar=destfile=build/jacoco/test.exec,append=true,inclnolocationclasses=false,dumponexit=true,output=file,jmx=false -Dfile.encoding=UTF-8 -Duser.country -Duser.language=en -Duser.variant -ea -cp /home/REDACTED/.gradle/caches/4.0/workerMain/gradle-worker.jar worker.org.gradle.process.internal.worker.GradleWorkerMain 'Gradle Test Executor 1' (dns block)
  • ftp.apnic.net
    • Triggering command: /usr/lib/jvm/temurin-8-jdk-amd64/bin/java /usr/lib/jvm/temurin-8-jdk-amd64/bin/java -Djava.security.manager=worker.org.gradle.process.internal.worker.child.BootstrapSecurityManager -Dorg.gradle.native=false -javaagent:build/tmp/expandedArchives/org.jacoco.agent-0.8.1.jar_edqovih8ve5wrctm2ogx02j98/jacocoagent.jar=destfile=build/jacoco/test.exec,append=true,inclnolocationclasses=false,dumponexit=true,output=file,jmx=false -Dfile.encoding=UTF-8 -Duser.country -Duser.language=en -Duser.variant -ea -cp /home/REDACTED/.gradle/caches/4.0/workerMain/gradle-worker.jar worker.org.gradle.process.internal.worker.GradleWorkerMain 'Gradle Test Executor 1' (dns block)
  • ftp.arin.net
    • Triggering command: /usr/lib/jvm/temurin-8-jdk-amd64/bin/java /usr/lib/jvm/temurin-8-jdk-amd64/bin/java -Djava.security.manager=worker.org.gradle.process.internal.worker.child.BootstrapSecurityManager -Dorg.gradle.native=false -javaagent:build/tmp/expandedArchives/org.jacoco.agent-0.8.1.jar_edqovih8ve5wrctm2ogx02j98/jacocoagent.jar=destfile=build/jacoco/test.exec,append=true,inclnolocationclasses=false,dumponexit=true,output=file,jmx=false -Dfile.encoding=UTF-8 -Duser.country -Duser.language=en -Duser.variant -ea -cp /home/REDACTED/.gradle/caches/4.0/workerMain/gradle-worker.jar worker.org.gradle.process.internal.worker.GradleWorkerMain 'Gradle Test Executor 1' (dns block)
  • ftp.lacnic.net
    • Triggering command: /usr/lib/jvm/temurin-8-jdk-amd64/bin/java /usr/lib/jvm/temurin-8-jdk-amd64/bin/java -Djava.security.manager=worker.org.gradle.process.internal.worker.child.BootstrapSecurityManager -Dorg.gradle.native=false -javaagent:build/tmp/expandedArchives/org.jacoco.agent-0.8.1.jar_edqovih8ve5wrctm2ogx02j98/jacocoagent.jar=destfile=build/jacoco/test.exec,append=true,inclnolocationclasses=false,dumponexit=true,output=file,jmx=false -Dfile.encoding=UTF-8 -Duser.country -Duser.language=en -Duser.variant -ea -cp /home/REDACTED/.gradle/caches/4.0/workerMain/gradle-worker.jar worker.org.gradle.process.internal.worker.GradleWorkerMain 'Gradle Test Executor 1' (dns block)
  • ftp.ripe.net
    • Triggering command: /usr/lib/jvm/temurin-8-jdk-amd64/bin/java /usr/lib/jvm/temurin-8-jdk-amd64/bin/java -Djava.security.manager=worker.org.gradle.process.internal.worker.child.BootstrapSecurityManager -Dorg.gradle.native=false -javaagent:build/tmp/expandedArchives/org.jacoco.agent-0.8.1.jar_edqovih8ve5wrctm2ogx02j98/jacocoagent.jar=destfile=build/jacoco/test.exec,append=true,inclnolocationclasses=false,dumponexit=true,output=file,jmx=false -Dfile.encoding=UTF-8 -Duser.country -Duser.language=en -Duser.variant -ea -cp /home/REDACTED/.gradle/caches/4.0/workerMain/gradle-worker.jar worker.org.gradle.process.internal.worker.GradleWorkerMain 'Gradle Test Executor 1' (dns block)
  • google.com
    • Triggering command: /usr/bin/ping ping -c 2 google.com (dns block)
  • www.google.com
    • Triggering command: /usr/bin/curl curl -I REDACTED (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>Improve test coverage</issue_title>
<issue_description>Generally improve test coverage, reaching 95% (if possible).</issue_description>

<agent_instructions>I don't know whether the repo has any plugins or a way to know the current test coverage (through reports). If it doesn't have, please add an open source solution for that.

The goal is that the repo is absolutely greatly covered with tests.</agent_instructions>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 5 commits February 27, 2026 22:33
Co-authored-by: gsmachado <2124276+gsmachado@users.noreply.github.com>
Co-authored-by: gsmachado <2124276+gsmachado@users.noreply.github.com>
Co-authored-by: gsmachado <2124276+gsmachado@users.noreply.github.com>
…ments

Co-authored-by: gsmachado <2124276+gsmachado@users.noreply.github.com>
…cumentation

Co-authored-by: gsmachado <2124276+gsmachado@users.noreply.github.com>
Copilot AI changed the title [WIP] Improve test coverage to reach 95% Add comprehensive unit tests - achieve 71% coverage Feb 27, 2026
Copilot AI and others added 2 commits February 27, 2026 22:54
Co-authored-by: gsmachado <2124276+gsmachado@users.noreply.github.com>
Co-authored-by: gsmachado <2124276+gsmachado@users.noreply.github.com>
Copilot AI changed the title Add comprehensive unit tests - achieve 71% coverage Document network access limitations preventing integration tests Feb 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve test coverage

2 participants