EXPERIMENT H · LAB SUBMISSION

Retro Login Terminal
+ JUnit 5 Test Suite

A Java-based authentication system with terminal UI, input validation, SQL injection prevention, account lockout, and 30 fully passing unit tests.

Java 11+ JUnit 5 VS Code Netlify
0
TESTS PASSED
0
TESTS FAILED
30
TOTAL TESTS
6
TEST SECTIONS
5
DB USERS
11
ERROR TYPES
▶ LIVE TERMINAL DEMO
RETRO-LOGIN-TERMINAL — v1.0
> Username:
> Password:
▶ JUNIT 5 TEST RUNNER — CLICK ANY TEST
Results: 0 passed | 0 failed | 0 / 30 run

TEST DETAIL

Test ID
Section
Input
Expected
Actual
Status
Assertion
▶ TEST COVERAGE BY SECTION
NUMBER OF TEST CASES PER SECTION
▶ ARCHITECTURE
🗂
model/
User.java — entity with lockout state
UserDatabase.java — in-memory store
service/
AuthService.java — validate → lookup → lock → verify
InputValidator.java — all rules + SQL detection
exception/
LoginException.java with ErrorType enum covering 11 distinct failure modes
🖥
ui/
RetroUI.java — ANSI colors, animated char-by-char output, ASCII borders
🧪
test/
LoginModuleTest.java — 30 JUnit 5 tests across 6 sections with @BeforeEach reset
📜
scripts/
run.bat — compile + launch app
test.bat — download JUnit jar + run all tests