/** * {@inheritDoc} */ @Override public void update(PortalGroup portalGroup) { this.template.update(portalGroup); }
@Override public void update(ENTCollabProfile profile) { template.update(profile); }
public void update(Object entry) { ldapTemplate.update(entry); }
@Override public void update(CollabProfile profile) { template.update(profile); }
public void update(Object entry) { ldapTemplate.update(entry); }
public void update(Object entry) { ldapTemplate.update(entry); }
public void update(Object entry) { ldapTemplate.update(entry); }
/** * {@inheritDoc} */ @Override @CacheEvict(value = "personByDnCache", key = "#p.dn") public void update(Person p) { this.template.update(p); }
@Test public void testUpdateWithIdChanged() throws NamingException { Object expectedObject = new Object(); when(contextSourceMock.getReadWriteContext()).thenReturn(dirContextMock, dirContextMock); LdapName expectedOriginalName = LdapUtils.newLdapName("ou=someOu"); LdapName expectedNewName = LdapUtils.newLdapName("ou=someOtherOu"); ArgumentCaptor<DirContextAdapter> ctxCaptor = ArgumentCaptor.forClass(DirContextAdapter.class); doNothing().when(odmMock).mapToLdapDataEntry(eq(expectedObject), ctxCaptor.capture()); when(odmMock.getId(expectedObject)).thenReturn(expectedOriginalName); when(odmMock.getCalculatedId(expectedObject)).thenReturn(expectedNewName); tested.update(expectedObject); verify(odmMock).setId(expectedObject, expectedNewName); verify(dirContextMock).unbind(expectedOriginalName); verify(dirContextMock).bind(expectedNewName, ctxCaptor.getValue(), null); verify(dirContextMock, times(2)).close(); }
@Test public void testUpdateWithIdCalculated() throws NamingException { when(contextSourceMock.getReadOnlyContext()).thenReturn(dirContextMock); when(contextSourceMock.getReadWriteContext()).thenReturn(dirContextMock); LdapName expectedName = LdapUtils.newLdapName("ou=someOu"); ModificationItem[] expectedModificationItems = new ModificationItem[0]; DirContextOperations ctxMock = mock(DirContextOperations.class); when(ctxMock.getDn()).thenReturn(expectedName); when(ctxMock.isUpdateMode()).thenReturn(true); when(ctxMock.getModificationItems()).thenReturn(expectedModificationItems); Object expectedObject = new Object(); when(odmMock.getId(expectedObject)).thenReturn(null); when(odmMock.getCalculatedId(expectedObject)).thenReturn(expectedName); when(dirContextMock.lookup(expectedName)).thenReturn(ctxMock); tested.update(expectedObject); verify(odmMock).setId(expectedObject, expectedName); verify(odmMock).mapToLdapDataEntry(expectedObject, ctxMock); verify(dirContextMock).modifyAttributes(expectedName, expectedModificationItems); verify(dirContextMock, times(2)).close(); }
@Test public void testUpdate() { PersonWithDnAnnotations person = tested.findOne(query() .where("cn").is("Some Person3"), PersonWithDnAnnotations.class); person.setDesc(Arrays.asList("New Description")); String entryUuid = person.getEntryUuid(); assertThat(entryUuid).describedAs("The operational attribute 'entryUUID' was not set").isNotEmpty(); tested.update(person); person = tested.findByDn( LdapUtils.newLdapName("cn=Some Person3, ou=company1, ou=Sweden"), PersonWithDnAnnotations.class); assertThat(person.getCommonName()).isEqualTo("Some Person3"); assertThat(person.getSurname()).isEqualTo("Person3"); assertThat(person.getDesc().get(0)).isEqualTo("New Description"); assertThat(person.getTelephoneNumber()).isEqualTo("+46 555-123654"); assertThat(person.getEntryUuid()).isEqualTo(entryUuid); }
@Test public void testUpdate() { Person person = tested.findOne(query() .where("cn").is("Some Person3"), Person.class); person.setDesc(Arrays.asList("New Description")); String entryUuid = person.getEntryUuid(); assertThat(entryUuid).describedAs("The operational attribute 'entryUUID' was not set").isNotEmpty(); tested.update(person); person = tested.findOne(query() .where("cn").is("Some Person3"), Person.class); assertThat(person.getCommonName()).isEqualTo("Some Person3"); assertThat(person.getSurname()).isEqualTo("Person3"); assertThat(person.getDesc().get(0)).isEqualTo("New Description"); assertThat(person.getTelephoneNumber()).isEqualTo("+46 555-123654"); assertThat(person.getEntryUuid()).isEqualTo(entryUuid); }
@Test public void testUpdateWithChangedDn() { PersonWithDnAnnotations person = tested.findOne(query() .where("cn").is("Some Person3"), PersonWithDnAnnotations.class); // This should make the entry move person.setCountry("Norway"); String entryUuid = person.getEntryUuid(); assertThat(entryUuid).describedAs("The operational attribute 'entryUUID' was not set").isNotEmpty(); tested.update(person); person = tested.findByDn( LdapUtils.newLdapName("cn=Some Person3, ou=company1, ou=Norway"), PersonWithDnAnnotations.class); assertThat(person.getCommonName()).isEqualTo("Some Person3"); assertThat(person.getSurname()).isEqualTo("Person3"); assertThat(person.getCountry()).isEqualTo("Norway"); assertThat(person.getDesc().get(0)).isEqualTo("Sweden, Company1, Some Person3"); assertThat(person.getTelephoneNumber()).isEqualTo("+46 555-123654"); assertThat(person.getEntryUuid()).describedAs("The operational attribute 'entryUUID' was not set").isNotEmpty(); assertThat(person.getEntryUuid()).isNotEqualTo(entryUuid); } }
@Test public void testRemoveMember() { Group group = tested.findOne(query().where("cn").is("ROLE_USER"), Group.class); group.removeMember(LdapUtils.newLdapName("cn=Some Person,ou=company1,ou=Sweden," + base)); tested.update(group); Group verification = tested.findOne(query().where("cn").is("ROLE_USER"), Group.class); Set<Name> members = verification.getMembers(); assertThat(members).hasSize(3); assertThat(members.contains(LdapUtils.newLdapName("cn=Some Person,ou=company1,ou=Sweden," + base))).isFalse(); }
@Test public void testAddMemberDuplicate() { Group group = tested.findOne(query().where("cn").is("ROLE_USER"), Group.class); group.addMember(LdapUtils.newLdapName("cn=Some Person,ou=company1,ou=Sweden," + base)); tested.update(group); Group verification = tested.findOne(query().where("cn").is("ROLE_USER"), Group.class); Set<Name> members = verification.getMembers(); assertThat(members).hasSize(4); assertThat(members.contains(LdapUtils.newLdapName("cn=Some Person,ou=company1,ou=Sweden," + base))).isTrue(); }
@Test public void testAddMember() { Group group = tested.findOne(query().where("cn").is("ROLE_USER"), Group.class); group.addMember(LdapUtils.newLdapName("cn=Some Person,ou=company1,ou=Norway," + base)); tested.update(group); Group verification = tested.findOne(query().where("cn").is("ROLE_USER"), Group.class); Set<Name> members = verification.getMembers(); assertThat(members).hasSize(5); assertThat(members.contains(LdapUtils.newLdapName("cn=Some Person,ou=company1,ou=Norway," + base))).isTrue(); }
@Test public void testRemoveMemberSyntacticallyEqual() { Group group = tested.findOne(query().where("cn").is("ROLE_USER"), Group.class); group.removeMember(LdapUtils.newLdapName("cn=Some Person,OU=company1, ou=Sweden," + base)); tested.update(group); Group verification = tested.findOne(query().where("cn").is("ROLE_USER"), Group.class); Set<Name> members = verification.getMembers(); assertThat(members).hasSize(3); assertThat(members.contains(LdapUtils.newLdapName("cn=Some Person,ou=company1,ou=Sweden," + base))).isFalse(); }
@Test public void testAddMemberSyntacticallyEqualDuplicate() { Group group = tested.findOne(query().where("cn").is("ROLE_USER"), Group.class); group.addMember(LdapUtils.newLdapName("cn=Some Person,OU=company1 ,ou=Sweden," + base)); tested.update(group); Group verification = tested.findOne(query().where("cn").is("ROLE_USER"), Group.class); Set<Name> members = verification.getMembers(); assertThat(members).hasSize(4); assertThat(members.contains(LdapUtils.newLdapName("cn=Some Person,ou=company1,ou=Sweden," + base))).isTrue(); }
@Test public void testSetMembersSyntacticallyEqual() { Group group = tested.findOne(query().where("cn").is("ROLE_USER"), Group.class); group.setMembers(new HashSet<Name>(){{ add(LdapUtils.newLdapName("CN=Some Person,OU=company1, ou=Sweden, " + base)); add(LdapUtils.newLdapName("CN=Some Person2, OU=company1,ou=Sweden," + base)); }}); tested.update(group); Group verification = tested.findOne(query().where("cn").is("ROLE_USER"), Group.class); Set<Name> members = verification.getMembers(); assertThat(members).hasSize(2); assertThat(members.contains(LdapUtils.newLdapName("cn=Some Person,ou=company1,ou=Sweden," + base))).isTrue(); assertThat(members.contains(LdapUtils.newLdapName("cn=Some Person2,ou=company1,ou=Sweden," + base))).isTrue(); } }
/** * Test case for Jira LDAP-271. */ @Test public void testLdap271() { Person person = tested.findOne(query() .where("cn").is("Some Person3"), Person.class); // Perform test person.setTelephoneNumber(null); tested.update(person); person = tested.findOne(query() .where("cn").is("Some Person3"), Person.class); assertThat(person.getTelephoneNumber()).as("TelephoneNumber should be null").isNull(); } }