I'd argue the dry run is a form of integration testing: Essentially the writes are mocked, but the reads are still functional.