anchor.diff:                                               {<<"name">>, <<"bob">>},
                                                {<<"password">>, <<"top secret 123456">>}
                                               ]}),
  -              ?assertThrow(#ej_invalid{}, chef_user:parse_binary_json(UserEjson, create))
  +              ?assertThrow(#ej_invalid{}, chef_user:parse_binary_json(UserEjson, create, undefined))
         end
        },
        {"Valid email must be provided",
  
positive.code:                           <<"spaces are not valid@either.com">>, <<"\"spaces are not valid\"@either.com">>],
                UserEJson = {make_min_valid_create_user_ejson()},
                      [ ?_assertThrow(#ej_invalid{key = <<"email">>},
                               chef_user:parse_binary_json(chef_json:encode(ej:set({<<"email">>}, UserEJson, E)), create))
                               || E <- BadEmail]
        end},
       {"Password must be valid", generator,
  
negative.code:               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, undefined))
                 || P<- BadPass]
        end},
       {"Accepts name instead of username",
  