Sure.  There should probably be two backends and two tests in that case, right?  One without `username_key` which raises a KeyError and one with `username_key` that does not.