From 3efa83bc44eaa838001bbaa537ec90f991a009ec Mon Sep 17 00:00:00 2001 From: Tour Date: Sun, 7 Dec 2025 06:32:03 +0100 Subject: [PATCH] Fix mock tests --- {wiki => docs}/ARCHITECTURE-TROOSTWIJK-SCRAPER.md | 0 {wiki => docs}/DATABASE_ARCHITECTURE.md | 0 {wiki => docs}/EXPERT_ANALITICS.sql | 0 {wiki => docs}/EXPERT_ANALITICS_PRIORITY.md | 0 {wiki => docs}/IMPLEMENTATION_COMPLETE.md | 0 {wiki => docs}/INTEGRATION_GUIDE.md | 0 {wiki => docs}/QUARKUS_GUIDE.md | 0 {wiki => docs}/QUARKUS_IMPLEMENTATION.md | 4 ++-- {wiki => docs}/QUICKSTART.md | 0 {wiki => docs}/RATE_LIMITING.md | 0 .../SCRAPER_REFACTOR_GUIDE.md | 14 +++++++------- {wiki => docs}/TEST_SUITE_SUMMARY.md | 0 {wiki => docs}/VALUATION.md | 0 {wiki => docs}/WORKFLOW_GUIDE.md | 0 .../java/auctiora/AuctionMonitorResource.java | 15 +++++++++------ 15 files changed, 18 insertions(+), 15 deletions(-) rename {wiki => docs}/ARCHITECTURE-TROOSTWIJK-SCRAPER.md (100%) rename {wiki => docs}/DATABASE_ARCHITECTURE.md (100%) rename {wiki => docs}/EXPERT_ANALITICS.sql (100%) rename {wiki => docs}/EXPERT_ANALITICS_PRIORITY.md (100%) rename {wiki => docs}/IMPLEMENTATION_COMPLETE.md (100%) rename {wiki => docs}/INTEGRATION_GUIDE.md (100%) rename {wiki => docs}/QUARKUS_GUIDE.md (100%) rename {wiki => docs}/QUARKUS_IMPLEMENTATION.md (99%) rename {wiki => docs}/QUICKSTART.md (100%) rename {wiki => docs}/RATE_LIMITING.md (100%) rename SCRAPER_REFACTOR_GUIDE.md => docs/SCRAPER_REFACTOR_GUIDE.md (95%) rename {wiki => docs}/TEST_SUITE_SUMMARY.md (100%) rename {wiki => docs}/VALUATION.md (100%) rename {wiki => docs}/WORKFLOW_GUIDE.md (100%) diff --git a/wiki/ARCHITECTURE-TROOSTWIJK-SCRAPER.md b/docs/ARCHITECTURE-TROOSTWIJK-SCRAPER.md similarity index 100% rename from wiki/ARCHITECTURE-TROOSTWIJK-SCRAPER.md rename to docs/ARCHITECTURE-TROOSTWIJK-SCRAPER.md diff --git a/wiki/DATABASE_ARCHITECTURE.md b/docs/DATABASE_ARCHITECTURE.md similarity index 100% rename from wiki/DATABASE_ARCHITECTURE.md rename to docs/DATABASE_ARCHITECTURE.md diff --git a/wiki/EXPERT_ANALITICS.sql b/docs/EXPERT_ANALITICS.sql similarity index 100% rename from wiki/EXPERT_ANALITICS.sql rename to docs/EXPERT_ANALITICS.sql diff --git a/wiki/EXPERT_ANALITICS_PRIORITY.md b/docs/EXPERT_ANALITICS_PRIORITY.md similarity index 100% rename from wiki/EXPERT_ANALITICS_PRIORITY.md rename to docs/EXPERT_ANALITICS_PRIORITY.md diff --git a/wiki/IMPLEMENTATION_COMPLETE.md b/docs/IMPLEMENTATION_COMPLETE.md similarity index 100% rename from wiki/IMPLEMENTATION_COMPLETE.md rename to docs/IMPLEMENTATION_COMPLETE.md diff --git a/wiki/INTEGRATION_GUIDE.md b/docs/INTEGRATION_GUIDE.md similarity index 100% rename from wiki/INTEGRATION_GUIDE.md rename to docs/INTEGRATION_GUIDE.md diff --git a/wiki/QUARKUS_GUIDE.md b/docs/QUARKUS_GUIDE.md similarity index 100% rename from wiki/QUARKUS_GUIDE.md rename to docs/QUARKUS_GUIDE.md diff --git a/wiki/QUARKUS_IMPLEMENTATION.md b/docs/QUARKUS_IMPLEMENTATION.md similarity index 99% rename from wiki/QUARKUS_IMPLEMENTATION.md rename to docs/QUARKUS_IMPLEMENTATION.md index 1b55b8c..885e02d 100644 --- a/wiki/QUARKUS_IMPLEMENTATION.md +++ b/docs/QUARKUS_IMPLEMENTATION.md @@ -208,7 +208,7 @@ ENTRYPOINT ["java", "-jar", "/app/quarkus-run.jar"] version: '3.8' services: auction-monitor: - build: . + build: ../wiki ports: - "8081:8081" volumes: @@ -218,7 +218,7 @@ services: - AUCTION_DATABASE_PATH=/mnt/okcomputer/output/cache.db - AUCTION_NOTIFICATION_CONFIG=desktop healthcheck: - test: ["CMD", "wget", "--spider", "http://localhost:8081/health/live"] + test: [ "CMD", "wget", "--spider", "http://localhost:8081/health/live" ] interval: 30s restart: unless-stopped ``` diff --git a/wiki/QUICKSTART.md b/docs/QUICKSTART.md similarity index 100% rename from wiki/QUICKSTART.md rename to docs/QUICKSTART.md diff --git a/wiki/RATE_LIMITING.md b/docs/RATE_LIMITING.md similarity index 100% rename from wiki/RATE_LIMITING.md rename to docs/RATE_LIMITING.md diff --git a/SCRAPER_REFACTOR_GUIDE.md b/docs/SCRAPER_REFACTOR_GUIDE.md similarity index 95% rename from SCRAPER_REFACTOR_GUIDE.md rename to docs/SCRAPER_REFACTOR_GUIDE.md index 0a12851..483c570 100644 --- a/SCRAPER_REFACTOR_GUIDE.md +++ b/docs/SCRAPER_REFACTOR_GUIDE.md @@ -361,14 +361,14 @@ WHERE id NOT IN ( ## 📈 Performance Comparison -| Metric | Before (Monitor Downloads) | After (Scraper Downloads) | -|--------|---------------------------|---------------------------| -| **Image records** | 57,376,293 | ~16,807 | -| **Duplicates** | 57,359,486 (99.97%!) | 0 | -| **Network I/O** | Monitor process | Scraper process | -| **Disk usage** | 0 (URLs only) | ~1.6GB (actual files) | +| Metric | Before (Monitor Downloads) | After (Scraper Downloads) | +|----------------------|---------------------------------|---------------------------| +| **Image records** | 57,376,293 | ~16,807 | +| **Duplicates** | 57,359,486 (99.97%!) | 0 | +| **Network I/O** | Monitor process | Scraper process | +| **Disk usage** | 0 (URLs only) | ~1.6GB (actual files) | | **Processing speed** | 500ms/image (download + detect) | 100ms/image (detect only) | -| **Error handling** | Complex (download failures) | Simple (files exist) | +| **Error handling** | Complex (download failures) | Simple (files exist) | ## 🎓 Code Examples by Language diff --git a/wiki/TEST_SUITE_SUMMARY.md b/docs/TEST_SUITE_SUMMARY.md similarity index 100% rename from wiki/TEST_SUITE_SUMMARY.md rename to docs/TEST_SUITE_SUMMARY.md diff --git a/wiki/VALUATION.md b/docs/VALUATION.md similarity index 100% rename from wiki/VALUATION.md rename to docs/VALUATION.md diff --git a/wiki/WORKFLOW_GUIDE.md b/docs/WORKFLOW_GUIDE.md similarity index 100% rename from wiki/WORKFLOW_GUIDE.md rename to docs/WORKFLOW_GUIDE.md diff --git a/src/main/java/auctiora/AuctionMonitorResource.java b/src/main/java/auctiora/AuctionMonitorResource.java index 6682fb8..5d30e12 100644 --- a/src/main/java/auctiora/AuctionMonitorResource.java +++ b/src/main/java/auctiora/AuctionMonitorResource.java @@ -495,19 +495,22 @@ public class AuctionMonitorResource { )); } - // Add geographic insight + // Add geographic insight (filter out null countries) String topCountry = auctions.stream() + .filter(a -> a.country() != null) .collect(Collectors.groupingBy(AuctionInfo::country, Collectors.counting())) .entrySet().stream() .max(Map.Entry.comparingByValue()) .map(Map.Entry::getKey) .orElse("N/A"); - insights.add(Map.of( - "icon", "fa-globe", - "title", topCountry + " leading", - "description", "Top performing country" - )); + if (!"N/A".equals(topCountry)) { + insights.add(Map.of( + "icon", "fa-globe", + "title", topCountry + " leading", + "description", "Top performing country" + )); + } // Add sleeper lots insight long sleeperCount = lots.stream().filter(Lot::isSleeperLot).count();