public static void toJSON(OutputWriter writer, User user) { UserSummaryRepresenter.toJSON(writer, user.getName()); writer.add("display_name", user.getDisplayName()) .add("enabled", user.isEnabled()) .add("email", user.getEmail()) .add("email_me", user.isEmailMe()) .addChildList("checkin_aliases", user.getMatchers()); }
public static User withName(String username) { User user = new User(username); user.setEmail(String.format("%s@no-reply.com", username)); user.setEmailMe(true); user.setMatcher(String.format("awesome, %s", username)); user.setDisplayName(username); return user; } }
public String create(Request req, Response res) throws Exception { HttpLocalizedOperationResult result = new HttpLocalizedOperationResult(); User user = buildUserEntityFromRequestBody(req, false); if (!userService.findUserByName(user.getName()).equals(new NullUser())) { throw haltBecauseEntityAlreadyExists(jsonWriter(user, new HashMap<>()), "User", user.getName()); } return saveUserAndRenderResult(req, res, result, user, user, user.getName()); }
private User copyLoginToDisplayNameIfNotPresent(User user) { if (StringUtils.isBlank(user.getDisplayName())) { user.setDisplayName(user.getName()); } return user; }
private void assertUserNotAnonymous(User user) { if (user.isAnonymous()) { throw new IllegalArgumentException(String.format("User name '%s' is not permitted.", user.getName())); } }
@Test public void shouldTrimTheUserNameAndMatcher() throws Exception { user = new User(" UserName ","Full User Name", new String[]{" README "}, " user@mail.com ", true); assertThat(user.getName(), is("UserName")); assertThat(user.getMatcher(), is(("README"))); assertThat(user.getEmail(), is("user@mail.com")); assertThat(user.getDisplayName(), is("Full User Name")); }
public static User fromJSON(JsonReader jsonReader, boolean isLoginNameOptional) { String optionalUsernameWhilePatch; if (isLoginNameOptional) { optionalUsernameWhilePatch = jsonReader.optString("login_name").orElse(null); } else { optionalUsernameWhilePatch = jsonReader.getString("login_name"); } User user = new User(optionalUsernameWhilePatch); user.setDisplayName(optionalUsernameWhilePatch); user.setEmail(jsonReader.optString("email").orElse("")); jsonReader.readBooleanIfPresent("email_me", user::setEmailMe); if (!jsonReader.optBoolean("enabled").orElse(true)) { user.disable(); } List<String> checkinAliases = jsonReader.readStringArrayIfPresent("checkin_aliases").orElse(Collections.emptyList()); user.setMatcher(String.join(",", checkinAliases)); return user; } }
private String saveUserAndRenderResult(Request req, Response res, HttpLocalizedOperationResult result, User userToOperate, User userFromRequest, String username) throws IOException { userService.save(userToOperate, TriState.from(userFromRequest.isEnabled()), TriState.from(userFromRequest.isEmailMe()), userFromRequest.getEmail(), userFromRequest.getMatcher(), result); boolean isSaved = result.isSuccessful(); if (isSaved) { return writerForTopLevelObject(req, res, writer -> UserRepresenter.toJSON(writer, getUserToRepresent(userService.findUserByName(username), roleConfigService.getRolesForUser(Collections.singletonList(new Username(username)))))); } else { return renderHTTPOperationResult(result, req, res); } }
public static void toJSON(OutputWriter jsonOutputWriter, UserSearchModel userSearchModel) { User user = userSearchModel.getUser(); jsonOutputWriter .addLinks(outputLinkWriter -> outputLinkWriter .addAbsoluteLink("doc", Routes.UserSummary.DOC) .addLink("self", Routes.UserSummary.self(user.getName())) .addLink("find", Routes.UserSummary.find()) .addLink("current_user", Routes.UserSummary.CURRENT_USER)) .add("display_name", user.getDisplayName()) .add("email", user.getEmail()) .add("login_name", user.getName()); } }
public User(String name, String displayName, String[] matcher, String email, boolean emailMe) { setName(name); setMatcher(new Matcher(matcher).toString()); setEmail(email); setDisplayName(displayName); this.enabled = true; this.emailMe = emailMe; }
public boolean containsUserNamed(String userName) { for (User user : this) { if(user.getName().equals(userName)) return true; } return false; } }
public void sendNotifications(StageIdentifier stageIdentifier, StageEvent event, Username cancelledBy) { Users users = userService.findValidSubscribers(stageIdentifier.stageConfigIdentifier()); if (users.isEmpty()) { return; } Stage stage = stageService.findStageWithIdentifier(stageIdentifier); Pipeline pipeline = pipelineService.fullPipelineById(stage.getPipelineId()); MaterialRevisions materialRevisions = pipeline.getMaterialRevisions(); String emailBody = new EmailBodyGenerator(materialRevisions, cancelledBy, systemEnvironment, stageIdentifier).getContent(); String subject = "Stage [" + stageIdentifier.stageLocator() + "]" + event.describe(); LOGGER.debug("Processing notification titled [{}]", subject); for (User user : users) { if (user.matchNotification(stageIdentifier.stageConfigIdentifier(), event, materialRevisions)) { StringBuilder emailWithSignature = new StringBuilder(emailBody) .append("\n\n") .append("Sent by Go on behalf of ") .append(user.getName()); SendEmailMessage sendEmailMessage = new SendEmailMessage(subject, emailWithSignature.toString(), user.getEmail()); emailNotificationTopic.post(sendEmailMessage); } } LOGGER.debug("Finished processing notification titled [{}]", subject); }
LocalizedOperationResult result) { if (enabled.isTrue()) { user.enable(); user.disable(); user.setEmail(email); user.setMatcher(checkinAliases); user.setEmailMe(true); user.setEmailMe(false);
@Test public void shouldCopyUser(){ User user = new User("user", "User", new String[]{"match"}, "email", false); user.setId(100); user.addNotificationFilter(new NotificationFilter("p1","S1", StageEvent.Fixed, true)); User clonedUser = new User(user); assertThat(clonedUser, is(user)); assertThat(clonedUser.getId(), is(user.getId())); assertThat(clonedUser, not(sameInstance(user))); assertThat(clonedUser.getNotificationFilters(), is(user.getNotificationFilters())); assertThat(clonedUser.getNotificationFilters(), not(sameInstance(user.getNotificationFilters()))); assertThat(clonedUser.getNotificationFilters().get(0), not(sameInstance(user.getNotificationFilters().get(0)))); }
@Test public void shouldValidateEmailLesserThan255() throws Exception { user = new User("UserName", new String[]{"Jez,Pavan"}, "user@mail.com", true); user.validateEmail(); }
@Test public void shouldRemoveNotificationFilter(){ User user = new User("u"); NotificationFilter filter1 = new NotificationFilter("p1","s1", StageEvent.Fails, true); filter1.setId(1); NotificationFilter filter2 = new NotificationFilter("p1","s2", StageEvent.Fails, true); filter2.setId(2); user.addNotificationFilter(filter1); user.addNotificationFilter(filter2); user.removeNotificationFilter(filter1.getId()); assertThat(user.getNotificationFilters().size(), is(1)); assertThat(user.getNotificationFilters().contains(filter2), is(true)); } private String chars(int numbersOf) {
@Test public void shouldValidateMatcherForLessThan255() throws Exception { user = new User("UserName", new String[]{"Jez,Pavan"}, "user@mail.com", true); user.validateMatcher(); }