Add some typing to the smoke test so it tests more

Change more callbacks to promises and change the testing
strategy to match