package org.alfresco.tools; import static org.junit.Assert.assertEquals; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.util.Iterator; import org.alfresco.tools.RenameUser.User; import org.junit.After; import org.junit.Before; import org.junit.Test; /** * Unit test for RenameUser. {@link org.alfresco.repo.security.person.PersonTest} contains integration tests. * * @author Alan Davis */ public class RenameUserTest { private String[] args; private File file; private RenameUser renameUser = new RenameUser(); @Before public void setUp() throws Exception { args = new String[6]; args[0] = "-user"; args[1] = "admin"; args[2] = "-pwd"; args[3] = "admin"; args[4] = "oldUsername"; args[5] = "newUsername"; } @After public void tearDown()// throws Exception { if (file != null && file.exists()) { file.delete(); } } private void createFile(String content) throws Exception { file = File.createTempFile("RenameUserTest", ".txt"); args[4] = "-file"; args[5] = file.getPath(); BufferedWriter out = new BufferedWriter(new FileWriter(file)); out.write(content); out.close(); } private void processArgsAndValidate() { renameUser.processArgs(args); renameUser.context.validate(); } // Check that the expected (supplied) usernames are in the context private void assertUsers(String... usernames) { int length = usernames.length/2; assertEquals("Must have an even number of usernames passed to assertUsers", usernames.length, length*2); assertEquals(length, renameUser.context.userCount()); Iterator iterator = renameUser.context.iterator(); for (int i=0; i