Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java view on Meta::CPAN
{
super.setUp();
createDirectories();
// create and configure the needed subversion objects
admin = new SVNRepos();
initClient();
// build and dump the sample repository
File greekFiles = buildGreekFiles();
greekRepos = new File(localTmp, "repos");
greekDump = new File(localTmp, "greek_dump");
admin.create(greekRepos, true,false, null, this.fsType);
addExpectedCommitItem(greekFiles.getAbsolutePath(), null, null,
NodeKind.none, CommitItemStateFlags.Add);
client.doImport(greekFiles.getAbsolutePath(),
makeReposUrl(greekRepos).toString(),
Depth.infinity, false, false, null,
new MyCommitMessage(), null);
admin.dump(greekRepos, new FileOutputStream(greekDump),
null, null, false, false, null);
}
/**
* Create a directory for the sample (Greek) repository, config
* files, repositories and working copies.
*/
private void createDirectories()
{
this.rootDir.mkdirs();
if (this.localTmp.exists())
{
removeDirOrFile(this.localTmp);
}
this.localTmp.mkdir();
this.conf.mkdir();
this.repositories.mkdir();
this.workingCopies.mkdir();
}
/**
* Initialize {@link #client}, setting up its notifier, commit
* message handler, user name, password, config directory, and
* expected commit items.
*/
private void initClient()
throws SubversionException
{
this.client = new SVNClient();
this.client.notification2(new MyNotifier());
this.client.setPrompt(new DefaultPromptUserPassword());
this.client.username(USERNAME);
this.client.setProgressCallback(new DefaultProgressListener());
this.client.setConfigDirectory(this.conf.getAbsolutePath());
this.expectedCommitItems = new HashMap<String, MyCommitItem>();
}
/**
* the default prompt : never prompts the user, provides defaults answers
*/
protected static class DefaultPromptUserPassword implements UserPasswordCallback
{
public int askTrustSSLServer(String info, boolean allowPermanently)
{
return UserPasswordCallback.AcceptTemporary;
}
public String askQuestion(String realm, String question, boolean showAnswer)
{
return "";
}
public boolean askYesNo(String realm, String question, boolean yesIsDefault)
{
return yesIsDefault;
}
public String getPassword()
{
return PASSWORD;
}
public String getUsername()
{
return USERNAME;
}
public boolean prompt(String realm, String username)
{
return false;
}
public boolean prompt(String realm, String username, boolean maySave)
{
return false;
}
public String askQuestion(String realm, String question,
boolean showAnswer, boolean maySave)
{
return "";
}
public boolean userAllowedSave()
{
return false;
}
}
private static class DefaultProgressListener implements ProgressCallback
{
public void onProgress(ProgressEvent event)
{
// Do nothing, just receive the event
}
}
/**
* build a sample directory with test files to be used as import for
* the sample repository. Create also the master working copy test set.
* @return the sample repository
* @throws IOException
*/
private File buildGreekFiles() throws IOException
{
File greekFiles = new File(localTmp, "greek_files");
greekFiles.mkdir();
greekWC = new WC();
greekWC.addItem("",null);
greekWC.addItem("iota", "This is the file 'iota'.");
greekWC.addItem("A", null);
greekWC.addItem("A/mu", "This is the file 'mu'.");
greekWC.addItem("A/B", null);
greekWC.addItem("A/B/lambda", "This is the file 'lambda'.");
greekWC.addItem("A/B/E", null);
greekWC.addItem("A/B/E/alpha", "This is the file 'alpha'.");
greekWC.addItem("A/B/E/beta", "This is the file 'beta'.");
greekWC.addItem("A/B/F", null);
greekWC.addItem("A/C", null);
greekWC.addItem("A/D", null);
greekWC.addItem("A/D/gamma", "This is the file 'gamma'.");
greekWC.addItem("A/D/H", null);
greekWC.addItem("A/D/H/chi", "This is the file 'chi'.");
greekWC.addItem("A/D/H/psi", "This is the file 'psi'.");
greekWC.addItem("A/D/H/omega", "This is the file 'omega'.");
greekWC.addItem("A/D/G", null);
greekWC.addItem("A/D/G/pi", "This is the file 'pi'.");
greekWC.addItem("A/D/G/rho", "This is the file 'rho'.");
greekWC.addItem("A/D/G/tau", "This is the file 'tau'.");
greekWC.materialize(greekFiles);
return greekFiles;
}
( run in 0.596 second using v1.01-cache-2.11-cpan-0b5f733616e )