anchor.diff:                BadPass = [<<"short">>, 123, [<<"longenoughbutinalist">>], {[]}, true, null],
                 UserEJson = {make_min_valid_create_user_ejson()},
                       [ ?_assertThrow(#ej_invalid{key = <<"password">>},
  -                             chef_user:parse_binary_json(chef_json:encode(ej:set({<<"password">>}, UserEJson, P)), create))
  +                             chef_user:parse_binary_json(chef_json:encode(ej:set({<<"password">>}, UserEJson, P)), create, undefined))
                  || P<- BadPass]
         end},
        {"Accepts name instead of username",
  
positive.code:               UserEJson = {make_min_valid_create_user_ejson()},
  
                [ ?_assertThrow(#ej_invalid{type = missing, key = Key},
                               chef_user:parse_binary_json(chef_json:encode(ej:delete({Key}, UserEJson)), create))
                               || Key  <- NukeFields]
        end},
       {"Properly formed emails are accepted", generator,
  
negative.code:                     UserEJson2 = ej:set({<<"email">>}, {UserEJson}, <<"jo my @ bob.com">>),
                      UserJson = chef_json:encode(UserEJson2),
                      ?assertThrow(#ej_invalid{type = fun_match},
                                   chef_user:parse_binary_json(UserJson, create, undefined))
        end},
       {"required fields must be provided", generator,
        fun() ->
  