Most of this work in this patch is building out the test framework to the point where we can write this test.