first cut of webapp test harness