Skip to content
This repository has been archived by the owner on Jul 5, 2021. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
Add a unit test to verify that UploadMultipartArchiveCommand accepts …
…only one file.
  • Loading branch information
Carsten authored and MoriTanosuke committed Nov 17, 2014
1 parent 6129eff commit 96202ef
Showing 1 changed file with 59 additions and 0 deletions.
@@ -0,0 +1,59 @@
package de.kopis.glacier.commands;

/*
* #%L
* glacieruploader
* $Id:$
* $HeadURL:$
* %%
* Copyright (C) 2012 - 2014 Carsten Ringe
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program. If not, see
* <http://www.gnu.org/licenses/gpl-3.0.html>.
* #L%
*/

import de.kopis.glacier.GlacierUploader;
import de.kopis.glacier.parsers.GlacierUploaderOptionParser;
import joptsimple.OptionSet;
import org.junit.Test;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import static junit.framework.Assert.assertEquals;

public class UploadMultipartArchiveCommandTest {
@Test
public void parsesFilesWithWhitespaceSuccessfully() throws IOException {
File tempFile = File.createTempFile("this is a test with whitespaces", ".txt");
tempFile.deleteOnExit();
System.out.println("Using temp file: " + tempFile.getAbsolutePath());

// set up the option parse like in real code
// not possible to test it in the real class though without mocking the whole world :-(
final GlacierUploaderOptionParser optionParser = new GlacierUploaderOptionParser(GlacierUploader.setupConfig());
final OptionSet options = optionParser.parse("-m", tempFile.getAbsolutePath());
final List<File> optionsFiles = options.valuesOf(optionParser.MULTIPARTUPLOAD);
final List<String> nonOptions = options.nonOptionArguments();

assertEquals(1, optionsFiles.size());
assertEquals(0, nonOptions.size());

final ArrayList<File> files = optionParser.mergeNonOptionsFiles(optionsFiles, nonOptions);
assertEquals(tempFile.getName(), files.get(0).getName());
}
}

0 comments on commit 96202ef

Please sign in to comment.