Package de.kopis.glacier.parsers

Source Code of de.kopis.glacier.parsers.GlacierUploaderOptionParserTest

package de.kopis.glacier.parsers;

/*
* #%L
* uploader
* $Id:$
* $HeadURL:$
* %%
* Copyright (C) 2012 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 static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

import java.io.File;
import java.net.MalformedURLException;
import java.util.Arrays;

import joptsimple.OptionSet;

import org.apache.commons.configuration.SystemConfiguration;
import org.junit.Before;
import org.junit.Test;

public class GlacierUploaderOptionParserTest {

  private GlacierUploaderOptionParser optionsParser;
  private String[] args;

  @Before
  public void setUp() {
    optionsParser = new GlacierUploaderOptionParser(new SystemConfiguration());

    args = new String[] { "--vault", "vaultname", "--endpoint", "file:///endpointurl" };
  }

  @Test
  public void acceptsShortcutForVaultOption() {
    final OptionSet optionSet = optionsParser.parse(new String[] { "-v", "vaultname", "--endpoint",
        "file:///endpointurl" });
    assertTrue("Option 'vault' not found in " + Arrays.deepToString(optionSet.specs().toArray()),
        optionSet.has("vault"));
    assertEquals("Value of option 'vault' not found in " + Arrays.deepToString(optionSet.specs().toArray()),
        "vaultname", optionSet.valueOf("vault"));
  }

  @Test
  public void hasRequiredVaultOptionWithName() {
    final OptionSet optionSet = optionsParser.parse(args);
    assertTrue("Option 'vault' not found in " + Arrays.deepToString(optionSet.specs().toArray()),
        optionSet.has("vault"));
    assertEquals("Value of option 'vault' not found in " + Arrays.deepToString(optionSet.specs().toArray()),
        "vaultname", optionSet.valueOf("vault"));
  }

  @Test
  public void hasRequiredEndpointOptionWithUrl() throws MalformedURLException {
    final OptionSet optionSet = optionsParser.parse(args);
    assertTrue("Option 'endpoint' not found in " + Arrays.deepToString(optionSet.specs().toArray()),
        optionSet.has("endpoint"));
    assertEquals("Value of option 'endpoint' not found in " + Arrays.deepToString(optionSet.specs().toArray()),
        "file:///endpointurl", optionSet.valueOf("endpoint"));
  }

  @Test
  public void hasOptionalCredentialsOptionWithFile() {
    final String[] newArgs = Arrays.copyOf(args, args.length + 2);
    newArgs[newArgs.length - 2] = "--credentials";
    newArgs[newArgs.length - 1] = "/path/to/aws.properties";

    final OptionSet optionSet = optionsParser.parse(newArgs);
    assertTrue("Option 'credentials' not found in " + Arrays.deepToString(optionSet.specs().toArray()),
        optionSet.has("credentials"));
    assertEquals("Value of option 'credentials' not found in " + Arrays.deepToString(optionSet.specs().toArray()),
        new File("/path/to/aws.properties"), optionSet.valueOf("credentials"));
  }

  @Test
  public void hasActionOptionUpload() {
    final String[] newArgs = Arrays.copyOf(args, args.length + 2);
    newArgs[newArgs.length - 2] = "--upload";
    newArgs[newArgs.length - 1] = "/path/to/file";

    final OptionSet optionSet = optionsParser.parse(newArgs);
    assertTrue("Option 'upload' not found in " + Arrays.deepToString(optionSet.specs().toArray()),
        optionSet.has("upload"));
    assertEquals("Value of option 'upload' not found in " + Arrays.deepToString(optionSet.specs().toArray()), new File(
        "/path/to/file"), optionSet.valueOf("upload"));
  }

  @Test
  public void hasActionOptionListInventory() {
    final String[] newArgs = Arrays.copyOf(args, args.length + 1);
    newArgs[newArgs.length - 1] = "--list-inventory";

    final OptionSet optionSet = optionsParser.parse(newArgs);
    assertTrue("Option 'list-inventory' not found in " + Arrays.deepToString(optionSet.specs().toArray()),
        optionSet.has("list-inventory"));
  }

  @Test
  public void hasActionOptionListInventoryWithJobId() {
    final String[] newArgs = Arrays.copyOf(args, args.length + 2);
    newArgs[newArgs.length - 2] = "--list-inventory";
    newArgs[newArgs.length - 1] = "inventory-job-id";

    final OptionSet optionSet = optionsParser.parse(newArgs);
    assertTrue("Option 'list-inventory' not found in " + Arrays.deepToString(optionSet.specs().toArray()),
        optionSet.has("list-inventory"));
    if (optionSet.hasArgument(optionsParser.INVENTORY_LISTING)) {
      assertEquals("Value of option 'list-inventory' not found in " + Arrays.deepToString(optionSet.specs().toArray()),
          "inventory-job-id", optionSet.valueOf("list-inventory"));
    }
  }

  @Test
  public void hasActionOptionDownload() {
    final String[] newArgs = Arrays.copyOf(args, args.length + 2);
    newArgs[newArgs.length - 2] = "--download";
    newArgs[newArgs.length - 1] = "myarchiveid";

    final OptionSet optionSet = optionsParser.parse(newArgs);
    assertTrue("Option 'download' not found in " + Arrays.deepToString(optionSet.specs().toArray()),
        optionSet.has("download"));
    assertEquals("Value of option 'download' not found in " + Arrays.deepToString(optionSet.specs().toArray()),
        "myarchiveid", optionSet.valueOf("download"));
  }

  @Test
  public void hasActionOptionCreateVault() {
    final String[] newArgs = Arrays.copyOf(args, args.length + 1);
    newArgs[newArgs.length - 1] = "--create";

    final OptionSet optionSet = optionsParser.parse(newArgs);
    assertTrue("Option 'create' not found in " + Arrays.deepToString(optionSet.specs().toArray()),
        optionSet.has("create"));
  }

  @Test
  public void hasActionOptionDeleteArchive() {
    final String[] newArgs = Arrays.copyOf(args, args.length + 2);
    newArgs[newArgs.length - 2] = "--delete";
    newArgs[newArgs.length - 1] = "myarchiveid";

    final OptionSet optionSet = optionsParser.parse(newArgs);
    assertTrue("Option 'delete' not found in " + Arrays.deepToString(optionSet.specs().toArray()),
        optionSet.has("delete"));
    assertEquals("Value of option 'delete' not found in " + Arrays.deepToString(optionSet.specs().toArray()),
        "myarchiveid", optionSet.valueOf("delete"));
  }

  @Test
  public void hasActionOptionDeleteVault() {
    final String[] newArgs = Arrays.copyOf(args, args.length + 1);
    newArgs[newArgs.length - 1] = "--delete-vault";

    final OptionSet optionSet = optionsParser.parse(newArgs);
    assertTrue("Option 'delete-vault' not found in " + Arrays.deepToString(optionSet.specs().toArray()),
        optionSet.has("delete-vault"));
  }

  @Test
  public void hasActionOptionCalculateHash() {
    final String[] newArgs = Arrays.copyOf(args, args.length + 2);
    newArgs[newArgs.length - 2] = "--calculate";
    newArgs[newArgs.length - 1] = "inventorylisting.txt";

    final OptionSet optionSet = optionsParser.parse(newArgs);
    assertTrue("Option 'calculate' not found in " + Arrays.deepToString(optionSet.specs().toArray()),
        optionSet.has("calculate"));
  }
}
TOP

Related Classes of de.kopis.glacier.parsers.GlacierUploaderOptionParserTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.