Skip to content

Commit

Permalink
Make Spring integration tests use AbstractsValueProvider (#2433)
Browse files Browse the repository at this point in the history
  • Loading branch information
IlyaMuravjov authored Jul 21, 2023
1 parent eab0b84 commit 1de5cf9
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import org.utbot.fuzzing.JavaValueProvider
import org.utbot.fuzzing.ValueProvider
import org.utbot.fuzzing.providers.FieldValueProvider
import org.utbot.fuzzing.providers.ObjectValueProvider
import org.utbot.fuzzing.providers.anyObjectValueProvider
import org.utbot.fuzzing.spring.SavedEntityValueProvider
import org.utbot.fuzzing.spring.SpringBeanValueProvider
import org.utbot.instrumentation.ConcreteExecutor
Expand Down Expand Up @@ -85,7 +86,7 @@ class SpringIntegrationTestConcreteExecutionContext(
springApplicationContext.getBeansAssignableTo(classId).map { it.beanName }
},
relevantRepositories = relevantRepositories
).withFallback(ObjectValueProvider(idGenerator))
).withFallback(anyObjectValueProvider(idGenerator))

return delegateContext.tryCreateValueProvider(concreteExecutor, classUnderTest, idGenerator)
.except { p -> p is ObjectValueProvider }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package org.utbot.fuzzing

import mu.KotlinLogging
import org.utbot.framework.UtSettings
import org.utbot.framework.plugin.api.ClassId
import org.utbot.framework.plugin.api.ExecutableId
import org.utbot.framework.plugin.api.Instruction
Expand Down Expand Up @@ -43,9 +42,7 @@ fun defaultValueProviders(idGenerator: IdentityPreservingIdGenerator<Int>) = lis
FloatValueProvider,
StringValueProvider,
NumberValueProvider,
ObjectValueProvider(idGenerator).letIf(UtSettings.fuzzingImplementationOfAbstractClasses) { ovp ->
ovp.withFallback(AbstractsObjectValueProvider(idGenerator))
},
anyObjectValueProvider(idGenerator),
ArrayValueProvider(idGenerator),
EnumValueProvider(idGenerator),
ListSetValueProvider(idGenerator),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.utbot.fuzzing.providers

import mu.KotlinLogging
import org.utbot.framework.UtSettings
import org.utbot.framework.plugin.api.*
import org.utbot.framework.plugin.api.util.*
import org.utbot.fuzzer.*
Expand Down Expand Up @@ -30,6 +31,11 @@ private fun isIgnored(type: ClassId): Boolean {
|| (type.isInner && !type.isStatic)
}

fun anyObjectValueProvider(idGenerator: IdentityPreservingIdGenerator<Int>) =
ObjectValueProvider(idGenerator).letIf(UtSettings.fuzzingImplementationOfAbstractClasses) { ovp ->
ovp.withFallback(AbstractsObjectValueProvider(idGenerator))
}

class ObjectValueProvider(
val idGenerator: IdGenerator<Int>,
) : ValueProvider<FuzzedType, FuzzedValue, FuzzedDescription> {
Expand Down

0 comments on commit 1de5cf9

Please sign in to comment.