/** * Test that information can be put in and retrieved from a {@code PackageGenerationParameters} * object */ @Test public void testAddAndGetParams() { PackageGenerationParameters parameters = new PackageGenerationParameters(); Map<String, List<String>> addedParameters = new HashMap<>(); List<String> paramValues = new ArrayList<>(); paramValues.add("Willard Poopa-doodle"); parameters.addParam(BagItParameterNames.CONTACT_NAME, paramValues); addedParameters.put(BagItParameterNames.CONTACT_NAME, paramValues); paramValues = new ArrayList<>(); paramValues.add("*****@*****.**"); parameters.addParam(BagItParameterNames.CONTACT_EMAIL, paramValues); addedParameters.put(BagItParameterNames.CONTACT_EMAIL, paramValues); paramValues = new ArrayList<>(); paramValues.add("org.dataconservancy.packaging.format:borem"); parameters.addParam(BagItParameterNames.PACKAGE_FORMAT_ID, paramValues); addedParameters.put(BagItParameterNames.PACKAGE_FORMAT_ID, paramValues); // assert that there are 3 entry in the parameters map. assertEquals(3, parameters.getKeys().size()); assertEquals(addedParameters.keySet(), parameters.getKeys()); for (String key : addedParameters.keySet()) { assertEquals(addedParameters.get(key), parameters.getParam(key)); } }
/** * Test that null list of value(s) cannot be put into a {@code PackageGenerationParameters} object */ @Test(expected = IllegalArgumentException.class) public void testSetNullValuesListOnParams() { PackageGenerationParameters parameters = new PackageGenerationParameters(); // Test add an empty list values: List<String> paramValues = null; parameters.addParam(BagItParameterNames.CONTACT_EMAIL, paramValues); }
/** Test adding additional value to existing parameter */ @Test public void testAddValueToExistingParameters() { PackageGenerationParameters parameters = new PackageGenerationParameters(); String paramValue = "*****@*****.**"; parameters.addParam(BagItParameterNames.CONTACT_EMAIL, paramValue); assertNotNull(parameters.getParam(BagItParameterNames.CONTACT_EMAIL)); assertEquals(paramValue, parameters.getParam(BagItParameterNames.CONTACT_EMAIL, 0)); assertEquals(1, parameters.getParam(BagItParameterNames.CONTACT_EMAIL).size()); String additionalParamValue = "*****@*****.**"; parameters.addParam(BagItParameterNames.CONTACT_EMAIL, additionalParamValue); assertEquals(2, parameters.getParam(BagItParameterNames.CONTACT_EMAIL).size()); assertTrue(parameters.getParam(BagItParameterNames.CONTACT_EMAIL).contains(paramValue)); assertTrue( parameters.getParam(BagItParameterNames.CONTACT_EMAIL).contains(additionalParamValue)); }
/** Test adding single-value parameter */ @Test public void testAddSingleValueParameters() { PackageGenerationParameters parameters = new PackageGenerationParameters(); String paramValue = "*****@*****.**"; parameters.addParam(BagItParameterNames.CONTACT_EMAIL, paramValue); assertNotNull(parameters.getParam(BagItParameterNames.CONTACT_EMAIL)); assertEquals(paramValue, parameters.getParam(BagItParameterNames.CONTACT_EMAIL, 0)); }
@Test public void testOverride() { PackageGenerationParameters parametersOne = new PackageGenerationParameters(); String contactOne = "Willard Poopa-doodle"; String contactTwo = "Some Random Guy"; String emailOne = "*****@*****.**"; String emailTwo = "*****@*****.**"; String formatId = "org.dataconservancy.packaging.format:borem"; List<String> paramValues = new ArrayList<>(); paramValues.add(contactOne); parametersOne.addParam(BagItParameterNames.CONTACT_NAME, paramValues); paramValues = new ArrayList<>(); paramValues.add(emailOne); parametersOne.addParam(BagItParameterNames.CONTACT_EMAIL, paramValues); paramValues = new ArrayList<>(); paramValues.add(formatId); parametersOne.addParam(BagItParameterNames.PACKAGE_FORMAT_ID, paramValues); PackageGenerationParameters parametersTwo = new PackageGenerationParameters(); paramValues = new ArrayList<>(); paramValues.add(contactTwo); parametersTwo.addParam(BagItParameterNames.CONTACT_NAME, paramValues); paramValues = new ArrayList<>(); paramValues.add(emailTwo); parametersTwo.addParam(BagItParameterNames.CONTACT_EMAIL, paramValues); parametersOne.overrideParams(parametersTwo); assertEquals(contactTwo, parametersOne.getParam(BagItParameterNames.CONTACT_NAME).get(0)); assertEquals(emailTwo, parametersOne.getParam(BagItParameterNames.CONTACT_EMAIL).get(0)); assertEquals(formatId, parametersOne.getParam(BagItParameterNames.PACKAGE_FORMAT_ID).get(0)); }
@Test public void testEquals() { PackageGenerationParameters parametersOne = new PackageGenerationParameters(); List<String> paramValues = new ArrayList<>(); paramValues.add("Willard Poopa-doodle"); parametersOne.addParam(BagItParameterNames.CONTACT_NAME, paramValues); paramValues = new ArrayList<>(); paramValues.add("*****@*****.**"); parametersOne.addParam(BagItParameterNames.CONTACT_EMAIL, paramValues); paramValues = new ArrayList<>(); paramValues.add("org.dataconservancy.packaging.format:borem"); parametersOne.addParam(BagItParameterNames.PACKAGE_FORMAT_ID, paramValues); PackageGenerationParameters parametersTwo = new PackageGenerationParameters(); paramValues = new ArrayList<>(); paramValues.add("Willard Poopa-doodle"); parametersTwo.addParam(BagItParameterNames.CONTACT_NAME, paramValues); paramValues = new ArrayList<>(); paramValues.add("*****@*****.**"); parametersTwo.addParam(BagItParameterNames.CONTACT_EMAIL, paramValues); paramValues = new ArrayList<>(); paramValues.add("org.dataconservancy.packaging.format:borem"); parametersTwo.addParam(BagItParameterNames.PACKAGE_FORMAT_ID, paramValues); assertEquals(parametersOne, parametersTwo); }
@Test public void testRemoveParam() { PackageGenerationParameters parametersOne = new PackageGenerationParameters(); List<String> paramValues = new ArrayList<>(); paramValues.add("Willard Poopa-doodle"); parametersOne.addParam(BagItParameterNames.CONTACT_NAME, paramValues); paramValues = new ArrayList<>(); paramValues.add("*****@*****.**"); parametersOne.addParam(BagItParameterNames.CONTACT_EMAIL, paramValues); paramValues = new ArrayList<>(); paramValues.add("org.dataconservancy.packaging.format:borem"); parametersOne.addParam(BagItParameterNames.PACKAGE_FORMAT_ID, paramValues); // make sure the above params were added assertTrue(parametersOne.getKeys().contains(BagItParameterNames.CONTACT_NAME)); assertTrue(parametersOne.getKeys().contains(BagItParameterNames.CONTACT_EMAIL)); assertTrue(parametersOne.getKeys().contains(BagItParameterNames.PACKAGE_FORMAT_ID)); // remove one param parametersOne.removeParam(BagItParameterNames.PACKAGE_FORMAT_ID); // make sure that the remove params is no longer there. assertTrue(parametersOne.getKeys().contains(BagItParameterNames.CONTACT_NAME)); assertTrue(parametersOne.getKeys().contains(BagItParameterNames.CONTACT_EMAIL)); assertFalse(parametersOne.getKeys().contains(BagItParameterNames.PACKAGE_FORMAT_ID)); // make sure that attempt to remove param that doesn't exist does not cause exception // remove one param parametersOne.removeParam(BagItParameterNames.PACKAGE_FORMAT_ID); // make sure that the remove params is no longer there. assertTrue(parametersOne.getKeys().contains(BagItParameterNames.CONTACT_NAME)); assertTrue(parametersOne.getKeys().contains(BagItParameterNames.CONTACT_EMAIL)); }
/** Test getting a specific parameter value. */ @Test public void testGetParamValue() { PackageGenerationParameters parameters = new PackageGenerationParameters(); // Test add an empty list values: List<String> paramValues = new ArrayList<>(); paramValues.add(null); paramValues.add("*****@*****.**"); paramValues.add("*****@*****.**"); parameters.addParam(BagItParameterNames.CONTACT_EMAIL, paramValues); assertNotNull(parameters.getParam(BagItParameterNames.CONTACT_EMAIL)); assertTrue(paramValues.containsAll(parameters.getParam(BagItParameterNames.CONTACT_EMAIL))); assertEquals(paramValues.get(2), parameters.getParam(BagItParameterNames.CONTACT_EMAIL, 1)); }
/** Test that empty and null values get removed from parameters values. */ @Test public void testEmptyNullValuesGetWeededOut() { PackageGenerationParameters parameters = new PackageGenerationParameters(); // Test add an empty list values: List<String> paramValues = new ArrayList<>(); paramValues.add(null); paramValues.add(" "); paramValues.add("*****@*****.**"); parameters.addParam(BagItParameterNames.CONTACT_EMAIL, paramValues); assertNotNull(parameters.getParam(BagItParameterNames.CONTACT_EMAIL)); assertTrue(paramValues.containsAll(parameters.getParam(BagItParameterNames.CONTACT_EMAIL))); assertEquals(1, parameters.getParam(BagItParameterNames.CONTACT_EMAIL).size()); assertEquals(paramValues.get(2), parameters.getParam(BagItParameterNames.CONTACT_EMAIL, 0)); }