@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = RouterCloudApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
@AutoConfigureWebTestClient
public class TestChangePwd {
@Resource
EmailService emailService;
@Resource
UserRepository userRepository;
@Lazy
@Resource
private PasswordEncoder passwordEncoder;
@Test
public void test() {
Mono mono = userRepository.findByTenantIdAndUserId("6a901700-d181-4546-ac52-ac0fbc1f0903", 1)
.flatMap(c -> Mono.just(Optional.of(c))).defaultIfEmpty(Optional.empty())
.flatMap(option -> {
if(option.isPresent()){
User user = option.get();
String pwd = passwordEncoder.encode("123456");
user.setPassword(pwd);
return userRepository.save(user);
// // 生成新密码 发送邮件
// String lang = "zh_CN";
// String finalNewPassword = UUID.randomUUID().toString().substring(0, 6);
// Boolean result = sendResetPwdEmail(finalNewPassword, user.getUserMail(), lang);
// // 修改用户密码
// if(result){
// String pwd = passwordEncoder.encode(finalNewPassword);
// user.setPassword(pwd);
// return userRepository.save(user);
// } else {
// return Mono.error(new RuntimeException(Constant.SEND_EMAIL_FAIL));
// }
}
return Mono.empty();
});
StepVerifier.create(mono).expectNextCount(1).expectComplete().verify();
}
}