We should probably have a separate test to verify that this correctly fails when repo, and similar values, are given a hash that is missing the "name" slot.