import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.RandomUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.commons.lang3.reflect.FieldUtils;
import org.apache.commons.lang3.reflect.MethodUtils;
import org.onap.portalsdk.core.util.SystemProperties;
import org.onap.vid.asdc.AsdcCatalogException;
import org.onap.vid.asdc.beans.Service;
+import org.onap.vid.model.VidNotions;
+import org.onap.vid.model.VidNotions.InstantiationType;
+import org.onap.vid.model.VidNotions.InstantiationUI;
+import org.onap.vid.model.VidNotions.ModelCategory;
import org.onap.vid.mso.model.CloudConfiguration;
import org.springframework.core.env.Environment;
import org.testng.annotations.DataProvider;
return result;
}
- private static <T> List<String> allStringPropertiesOf(T object) {
- return getPropertyDescriptorsRecursively(object.getClass()).stream()
- .filter(descriptor -> descriptor.getPropertyType().isAssignableFrom(String.class))
- .map(PropertyDescriptor::getDisplayName)
+ private static <T> List<String> allStringFieldsOf(T object) {
+ return FieldUtils.getAllFieldsList(object.getClass()).stream()
+ .filter(field -> field.getType().isAssignableFrom(String.class))
+ .map(Field::getName)
.distinct()
.collect(toList());
}
* @param <T>
* @return The modified object
*/
- public static <T> T setStringsInStringProperties(T object) {
- allStringPropertiesOf(object).forEach(it -> {
+ public static <T> T setStringsInStringFields(T object) {
+ allStringFieldsOf(object).forEach(it -> {
try {
FieldUtils.writeField(object, it, it, true);
} catch (IllegalAccessException e) {
), CloudConfiguration.class);
}
+ public static void registerVidNotionsValueGenerator() {
+ BeanMatchers.registerValueGenerator(() -> new VidNotions(
+ randomEnum(InstantiationUI.class), randomEnum(ModelCategory.class),
+ randomEnum(InstantiationUI.class), randomEnum(InstantiationType.class)
+ ), VidNotions.class);
+ }
+
+ private static <T> T randomEnum(Class<T> enumClass) {
+ T[] values = enumClass.getEnumConstants();
+ return values[RandomUtils.nextInt(0, values.length)];
+ }
+
public static OngoingStubbing<InputStream> mockGetRawBodyWithStringBody(HttpResponse<String> httpResponse, String body) {
try {
return when(httpResponse.getRawBody()).thenReturn(IOUtils.toInputStream(body, StandardCharsets.UTF_8.name()));