public static <T> void assertPropertyValues(String message, Collection<T> expected, Collection<PrismPropertyValue<T>> results) { assertEquals(message+" - unexpected number of results", expected.size(), results.size()); Set<Object> values = new HashSet<>(); for (PrismPropertyValue<T> result : results) { values.add(result.getValue()); } assertEquals(message, expected, values); }
public static void assertReferenceOids(String message, Collection<String> expectedOids, Collection<? extends Referencable> realReferences) { Set<String> realOids = realReferences.stream().map(r -> r.getOid()).collect(Collectors.toSet()); assertEquals(message, new HashSet<>(expectedOids), realOids); }
public static <O extends Objectable> void assertEquals(File fileNewXml, PrismObject<O> actual) throws SchemaException, IOException { PrismObject<O> expected = toPrism(fileNewXml); assertEquals(expected, actual); }
public static <T> void assertEqualsFilterValue(EqualFilter filter, T value) { List<? extends PrismValue> values = filter.getValues(); assertEquals("Wrong number of filter values", 1, values.size()); assertTrue("Wrong filter value class: " + values.get(0).getClass(), values.get(0) instanceof PrismPropertyValue); PrismPropertyValue val = (PrismPropertyValue) values.get(0); assertEquals("Wrong filter value", value, val.getValue()); }
public static <T extends Objectable> void assertObjectDefinition(PrismObjectDefinition<T> objDef, QName elementName, QName typeName, Class<T> compileTimeClass) { assertNotNull("No definition", objDef); assertEquals("Wrong elementName for "+objDef, elementName, objDef.getName()); assertEquals("Wrong typeName for "+objDef, typeName, objDef.getTypeName()); assertEquals("Wrong compileTimeClass for " + objDef, compileTimeClass, objDef.getCompileTimeClass()); }
public static void assertDefinition(ItemDefinition definition, QName itemName, QName type, int minOccurs, int maxOccurs) { assertNotNull("No definition for "+itemName, definition); assertEquals("Wrong definition type for "+itemName, type, definition.getTypeName()); assertEquals("Wrong definition minOccurs for "+itemName, minOccurs, definition.getMinOccurs()); assertEquals("Wrong definition maxOccurs for "+itemName, maxOccurs, definition.getMaxOccurs()); }
public static void assertEquals(String message, XMLGregorianCalendar expected, Object actual) { if (actual instanceof XMLGregorianCalendar) { XMLGregorianCalendar actualXmlCal = (XMLGregorianCalendar)actual; assertEquals(message, XmlTypeConverter.toMillis(expected), XmlTypeConverter.toMillis(actualXmlCal)); } else { assert false : message+": expected instance of XMLGregorianCalendar but got "+actual.getClass().getName(); } }
public static void assertAndFilter(ObjectFilter filter, int conditions) { assertTrue("Wrong filter class: " + filter.getClass(), filter instanceof AndFilter); assertEquals("Wrong number of filter conditions", conditions, ((AndFilter) filter).getConditions().size()); }
public static void assertRefEquivalent(String message, PrismReferenceValue expected, PrismReferenceValue actual) { if (expected == null && actual == null) { return; } if (expected == null || actual == null) { fail(message + ": expected=" + expected + ", actual=" + actual); } assertEquals(message+": wrong target oid", expected.getOid(), actual.getOid()); assertEquals(message+": wrong target type", expected.getTargetType(), actual.getTargetType()); }
public static void assertRefFilter(ObjectFilter objectFilter, QName expectedFilterDef, QName expectedTypeName, ItemPath path) { assertTrue("Wrong filter class: " + objectFilter.getClass(), objectFilter instanceof RefFilter); RefFilter filter = (RefFilter) objectFilter; assertEquals("Wrong filter definition element name", expectedFilterDef, filter.getDefinition().getName()); assertEquals("Wrong filter definition type", expectedTypeName, filter.getDefinition().getTypeName()); assertPathEquivalent("Wrong filter path", path, filter.getFullPath()); }
public static void assertEqualsFilter(ObjectFilter objectFilter, QName expectedFilterDef, QName expectedTypeName, ItemPath path) { assertTrue("Wrong filter class: " + objectFilter.getClass(), objectFilter instanceof EqualFilter); EqualFilter filter = (EqualFilter) objectFilter; //we don't have definition in all situation..this is almost OK..it will be computed dynamicaly if (filter.getDefinition() != null){ assertEquals("Wrong filter definition element name", expectedFilterDef, filter.getDefinition().getName()); assertEquals("Wrong filter definition type", expectedTypeName, filter.getDefinition().getTypeName()); } assertPathEquivalent("Wrong filter path", path, filter.getFullPath()); }
public static void assertDefinitionTypeLoose(ItemDefinition definition, QName itemName, QName type, int minOccurs, int maxOccurs) { assertNotNull("No definition for "+itemName, definition); assertTrue("Wrong definition type for "+itemName+": expected: " + type + ", real: " + definition.getTypeName(), QNameUtil.match(type, definition.getTypeName())); assertEquals("Wrong definition minOccurs for "+itemName, minOccurs, definition.getMinOccurs()); assertEquals("Wrong definition maxOccurs for "+itemName, maxOccurs, definition.getMaxOccurs()); }
public static void assertEqualsPolyString(String message, String expectedOrig, PolyString actual) { PolyString expected = new PolyString(expectedOrig); expected.recompute(PrismTestUtil.getPrismContext().getDefaultPolyStringNormalizer()); assertEquals(message, expected, actual); }
public static void assertEmphasized(PrismContainerDefinition<? extends Containerable> containerDef, QName itemQName, Boolean expected) { PrismPropertyDefinition propertyDefinition = containerDef.findPropertyDefinition(ItemName.fromQName(itemQName)); assertEquals("Wrong value of 'emphasized' in property '"+PrettyPrinter.prettyPrint(itemQName)+" in "+containerDef, expected, propertyDefinition.isEmphasized()); }
public static void assertIndexed(PrismContainerDefinition<? extends Containerable> containerDef, QName itemQName, Boolean expected) { PrismPropertyDefinition propertyDefinition = containerDef.findPropertyDefinition(ItemName.fromQName(itemQName)); assertEquals("Wrong value of 'indexed' in property '"+PrettyPrinter.prettyPrint(itemQName)+" in "+containerDef, expected, propertyDefinition.isIndexed()); }
@Test public void testJavaStringToXMLGregorianCalendar() throws Exception { String stringDate = "1975-05-30T21:30:00.000Z"; // WHEN XMLGregorianCalendar xmlGregorianCalendar = JavaTypeConverter.convert(XMLGregorianCalendar.class, stringDate); // THEN XMLGregorianCalendar expectedCal = XmlTypeConverter.createXMLGregorianCalendar(1975, 5, 30, 21, 30, 0); PrismAsserts.assertEquals("Wrong java value", expectedCal, xmlGregorianCalendar); }
@Test public void testJavaXMLGregorianCalendarToLong() throws Exception { XMLGregorianCalendar cal = XmlTypeConverter.createXMLGregorianCalendar(1975, 5, 30, 21, 30, 0); // WHEN Long val = JavaTypeConverter.convert(Long.class, cal); // THEN PrismAsserts.assertEquals("Wrong java value", 170717400000L, val); }
@Test public void testJavaXMLGregorianCalendarToString() throws Exception { XMLGregorianCalendar cal = XmlTypeConverter.createXMLGregorianCalendar(1975, 5, 30, 21, 30, 0); // WHEN String string = JavaTypeConverter.convert(String.class, cal); // THEN PrismAsserts.assertEquals("Wrong java value", "1975-05-30T21:30:00.000Z", string); }
protected void assertShadowSecondaryIdentifier(PrismObject<ShadowType> shadow, String expectedIdentifier, ResourceType resourceType, MatchingRule<String> nameMatchingRule) throws SchemaException { RefinedResourceSchema rSchema = RefinedResourceSchemaImpl.getRefinedSchema(resourceType); ObjectClassComplexTypeDefinition ocDef = rSchema.findObjectClassDefinition(shadow.asObjectable().getObjectClass()); ResourceAttributeDefinition idSecDef = ocDef.getSecondaryIdentifiers().iterator().next(); PrismContainer<Containerable> attributesContainer = shadow.findContainer(ShadowType.F_ATTRIBUTES); PrismProperty<String> idProp = attributesContainer.findProperty(idSecDef.getName()); assertNotNull("No secondary identifier ("+idSecDef.getName()+") attribute in shadow for "+expectedIdentifier, idProp); if (nameMatchingRule == null) { assertEquals("Unexpected secondary identifier in shadow for "+expectedIdentifier, expectedIdentifier, idProp.getRealValue()); } else { PrismAsserts.assertEquals("Unexpected secondary identifier in shadow for "+expectedIdentifier, nameMatchingRule, expectedIdentifier, idProp.getRealValue()); } }
@Test public void testXmlDateTimeValue() throws Exception { String stringDate = "1975-05-30T21:30:00.000Z"; Element xmlElement = createElement(stringDate); Object javaValue = XmlTypeConverter.toJavaValue(xmlElement, DOMUtil.XSD_DATETIME); XMLGregorianCalendar xmlCal = XmlTypeConverter.createXMLGregorianCalendar(1975, 5, 30, 21, 30, 0); PrismAsserts.assertEquals("Wrong java value", xmlCal, javaValue); String xmlTextContent = XmlTypeConverterInternal.toXmlTextContent(xmlCal, MY_ELEMENT_QNAME); assertEquals("Wrong xml value", stringDate, xmlTextContent); }