Skip to content

Comments

Claude/verify all tests g2 mnu#14

Merged
jonathan-kosgei merged 8 commits intomasterfrom
claude/verify-all-tests-G2MNU
Feb 23, 2026
Merged

Claude/verify all tests g2 mnu#14
jonathan-kosgei merged 8 commits intomasterfrom
claude/verify-all-tests-G2MNU

Conversation

@jonathan-kosgei
Copy link
Collaborator

No description provided.

- Add CI workflow for test + SonarCloud analysis on push/PR to main
- Add Release workflow for GPG signing on push to releases branch
- Remove .travis.yml and .travis/ directory
- Update README badge from Travis to GitHub Actions

https://claude.ai/code/session_01KxvyXRVVZaLrgTZshvsZY6
- Remove sonar properties and sonar-maven-plugin from pom.xml
- Remove SonarCloud analysis step from CI workflow
- Remove SonarCloud badges from README

https://claude.ai/code/session_01KxvyXRVVZaLrgTZshvsZY6
- Trigger on tag push (v*) instead of branch push
- Use setup-java built-in GPG and server credential support
- Run mvn deploy to actually publish to Maven Central
- Remove manual GPG import and -Prelease flag

https://claude.ai/code/session_01KxvyXRVVZaLrgTZshvsZY6
Addresses #9 - the ThreatModel was missing fields from the API.

- Add is_vpn boolean field
- Add blocklists list with Blocklist model (name, site, type)
- Add scores object with Scores model (vpn_score, proxy_score,
  threat_score, trust_score)
- Update all test fixtures with new fields

https://claude.ai/code/session_01KxvyXRVVZaLrgTZshvsZY6
Feign's template engine percent-encodes colons in path parameters,
converting IPv6 addresses like 2001:4860:4860::8888 to
2001%3A4860%3A4860%3A%3A8888. This breaks requests to the ipdata API.

Add Ipv6SafeClient wrapper that decodes %3A back to literal colons
before sending requests, since colons are valid in URI paths per
RFC 3986 section 3.3. Also switch the default HTTP client from
ApacheHttpClient (which further re-encodes via URIBuilder) to Feign's
built-in Client.Default.

https://claude.ai/code/session_01KxvyXRVVZaLrgTZshvsZY6
Libraries should only depend on slf4j-api and let consumers choose
their own SLF4J binding. Move slf4j-log4j12 from compile scope to
test scope so it's no longer forced on downstream users.

https://claude.ai/code/session_01KxvyXRVVZaLrgTZshvsZY6
slf4j-log4j12 bridges to end-of-life Log4J 1.x. Replace it with
slf4j-simple, a lightweight zero-dependency backend suitable for
test logging. Remove log4j.properties and add simplelogger.properties.

https://claude.ai/code/session_01KxvyXRVVZaLrgTZshvsZY6
- Replace deprecated CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES with SNAKE_CASE
- Fix ExecutionException unwrapping in CachingInternalClient to preserve root cause
- Specify UTF-8 charset explicitly in ApiKeyRequestInterceptor
- Throw IllegalArgumentException instead of returning null from getFields() with empty fields
- Scope feign-httpclient to test (production code only uses feign.Client)
- Scope lombok to provided (compile-time annotation processor only)
- Remove redundant bulkAsArray() method from IpdataService
- Add Javadoc to IpdataService public API
- Remove package-private setters from IpdataModel (Jackson uses field access)
- Fix testSingleFields to use fixture IP instead of hardcoded 8.8.8.8
- Strengthen testError to assert RemoteIpdataException with 401 status
- Add EdgeCaseTest with negative tests for empty fields and exception unwrapping

https://claude.ai/code/session_01KxvyXRVVZaLrgTZshvsZY6
@jonathan-kosgei jonathan-kosgei merged commit 267404f into master Feb 23, 2026
@jonathan-kosgei jonathan-kosgei deleted the claude/verify-all-tests-G2MNU branch February 23, 2026 16:28
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.

2 participants