Skip to content

Reggie-Reuss/flipping-utilities-testing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flipping Utilities Fork - Testing & Validation

Testing artifacts and validation results for the Flipping Utilities RuneLite plugin fork that adds SQLite storage and GE history import.

Fork Features Under Test

1. SQLite Storage (replaces JSON files)

  • Trade data stored in ~/.runelite/flipping/flipping.db instead of per-account JSON files
  • Each trade saved instantly via WAL-mode SQLite -- crash-proof, no more full-file rewrites
  • Automatic one-time migration from JSON on first run (originals renamed to .pre-sqlite)

2. GE History Import (up to 5 months of trade history)

  • One-click sync: Reads trade history directly from RuneLite's ConfigManager (requires OSRS login)
  • Manual import: File chooser for JSON exported from runelite.net/account/grand-exchange
  • Smart deduplication prevents double-importing (matched by timestamp)
  • Item names/limits resolved via OSRS Wiki API with RuneLite ItemManager fallback

Test Results

Phase Test Result
0 Compilation PASS
1 Fresh Install PENDING
2 JSON to SQLite Migration PASS
3 Incremental Save BLOCKED (requires OSRS login)
4 GE History File Import PASS
4a Double-Import Deduplication PASS
5 Auto Sync PARTIAL PASS
6 Post-Import Trading BLOCKED (requires OSRS login)
7 Multi-Account Support PASS
8 Import Button UI PASS
9 JSON Fallback PASS
10 Clean Shutdown PASS
11a Accountwide Import Block PASS
11b Wrong File Format PASS
11c CSV Export After Import PASS
11d Time Interval Filters PASS

12 passed, 1 partial pass, 2 blocked (require in-game login), 1 pending

Bugs Found & Fixed

Bug Severity Status
Import buttons placed in dead SettingsPanel class (never instantiated) High Fixed -- moved to Stats tab
Import into "Accountwide" view causes data duplication Medium Fixed -- blocked with warning
SQLite JDBC silently replaces corrupted db instead of triggering fallback Low Fixed -- header validation before connection

Files

File Description
TESTING_GUIDE.md Step-by-step manual testing checklist with results
build_report.txt Gradle compilation and test summary
gradle_build_output.txt Raw Gradle build output
run_tests.py Automated pre-deployment test script (Wiki API coverage, dedup logic, conversion validation)
test_report.txt Output from run_tests.py -- 1024 transactions, 431 items, 100% Wiki API coverage

Running the Automated Tests

# Download your GE history from https://runelite.net/account/grand-exchange
python run_tests.py --ge-file path/to/grand-exchange.json

This validates:

  • JSON schema and field types
  • Wiki API item coverage for all traded items
  • Deduplication logic (exact timestamp + fuzzy matching)
  • OfferEvent conversion conventions (slot=-1, ticksSinceFirstOffer=10)
  • Import preview with item name resolution

New/Modified Source Files

New Files (db/ package)

File Purpose
SqliteSchema.java DDL for all database tables
SqliteDataStore.java SQLite CRUD operations (WAL mode)
JsonToSqliteMigrator.java One-time JSON to SQLite migration
GeHistoryImporter.java GE history conversion + dedup + merge
RuneliteGeHistoryFetcher.java Reads GE history from RuneLite config
OsrsItemMapper.java Item ID to name/limit resolution (Wiki API + ItemManager)

Modified Files

File Changes
build.gradle Added sqlite-jdbc:3.46.1.0 dependency
DataHandler.java SQLite backend with JSON fallback
FlippingPlugin.java Wired sync/import methods, SQLite shutdown
NewOfferEventPipelineHandler.java Incremental save after each offer
StatsPanel.java Import button (upload icon) with popup menu
Icons.java Upload icon (rotated download icon)

Build Environment

  • JDK: Eclipse Temurin 11 (source compatibility: Java 8)
  • Gradle: 6.6.1 (bundled wrapper)
  • SQLite JDBC: 3.46.1.0
  • Upstream: Flipping-Utilities/rl-plugin

About

Testing artifacts for Flipping Utilities RuneLite plugin fork (SQLite storage + GE history import)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages