Open aruvic opened 2 months ago
Hi @aruvic ,
thanks for reporting this bug. You are indeed right. Dealing with requestBody.$ref
is definitively something we should handle
Hi @arcuri82, thanks for confirming it.
I tried to fix it myself as below:
import io.swagger.v3.oas.models.parameters.RequestBody
private fun resolveRequestBody(swagger: OpenAPI, reference: String): RequestBody? {
val classDef = extractReferenceName(reference)
return swagger.components.requestBodies[classDef]
}
private fun handleBodyPayload(
operation: Operation,
verb: HttpVerb,
restPath: RestPath,
swagger: OpenAPI,
params: MutableList<Param>,
options: Options) {
// Return early if requestBody is missing
val body = operation.requestBody ?: return
// Ensure the verb is appropriate for operations with a body
if (!listOf(HttpVerb.POST, HttpVerb.PATCH, HttpVerb.PUT).contains(verb)) {
log.warn("In HTTP, body payloads are undefined for $verb. Issue in $restPath")
return
}
// Handle dereferencing if requestBody is referenced
val resolvedBody = if (body.`$ref` != null) {
resolveRequestBody(swagger, body.`$ref`) ?: return
} else {
body
}
// Extract content, ensuring it's not null or empty
val bodies: Map<String, MediaType> = resolvedBody.content?.filter { entry: Map.Entry<String, MediaType> ->
entry.value.schema?.let { schema ->
!schema.`$ref`.isNullOrBlank() && getLocalObjectSchema(swagger, schema.`$ref`) != null
} ?: false
} ?: emptyMap()
if (bodies.isEmpty()) {
log.warn("No valid body-payload for $verb:$restPath. Defaulting to empty handling.")
return
}
// Proceed with first valid MediaType found
val obj: MediaType = bodies.values.first()
var gene = getGene("body", obj.schema, swagger, referenceClassDef = null, options = options)
// Wrap gene as optional if not explicitly required
if (!(resolvedBody.required ?: false) && gene !is OptionalGene) {
gene = OptionalGene("body", gene)
}
val contentTypeGene = EnumGene<String>("contentType", bodies.keys.toList())
// Add to parameters list
params.add(BodyParam(gene, contentTypeGene))
}
I also tried to improve "responses" as following by adding:
import io.swagger.v3.oas.models.responses.ApiResponse
private fun resolveResponse(swagger: OpenAPI, responseOrRef: ApiResponse): ApiResponse {
responseOrRef.`$ref`?.let { ref ->
val refKey = extractReferenceName(ref)
return swagger.components.responses[refKey] ?: responseOrRef
}
return responseOrRef
}
and in function handleOperation() changed the code to be like this:
val produces = operation.responses?.entries?.mapNotNull { entry ->
val response = resolveResponse(swagger, entry.value)
if (response.content != null && response.content.isNotEmpty()) {
response.content.keys
} else null
}?.flatten()?.toSet()?.toList() ?: listOf()
provided I did everything correct above (I'm not sure, please check), I get now another error:
C:\Users\aruvic\Documents\Development\EvoMaster\core\target>java --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -jar evomaster.jar --outputFolder "test_output" --maxTime 1m --writeStatistics=true
* ←[34m
_____ ___ ___ _
| ___| | \/ | | |
| |____ _____ | . . | __ _ ___| |_ ___ _ __
| __\ \ / / _ \| |\/| |/ _` / __| __/ _ \ '__|
| |___\ V / (_) | | | | (_| \__ \ || __/ |
\____/ \_/ \___/\_| |_/\__,_|___/\__\___|_|
←[0m
* EvoMaster version: 3.0.1-SNAPSHOT
* Going to create configuration file at: C:\Users\aruvic\Documents\Development\EvoMaster\core\target\em.yaml
* Initializing...
* Loading configuration file from: C:\Users\aruvic\Documents\Development\EvoMaster\core\target\em.yaml
11:09:34.845 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - Unhandled format 'base64'
11:09:34.847 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: partyOrPartyRole
11:09:34.862 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: individual
11:09:34.863 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: party
11:09:34.863 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: event
11:09:34.863 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: partyRole
11:09:34.864 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: validFor
11:09:34.864 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: attachment
11:09:34.867 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: status
* There are 12 usable RESTful API endpoints defined in the schema configuration
11:09:58.063 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: characteristic
11:09:58.065 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: existsDuring
11:09:58.066 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: organizationParentRelationship
11:09:58.073 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: taxExemptionCertificate
11:09:58.073 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: creditRating_item
11:09:58.073 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: engagedParty
11:09:58.073 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: partyRoleSpecification
11:09:58.074 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: creditProfile_item
11:09:58.083 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: size
11:09:58.109 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: source
11:09:58.109 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: reportingSystem
11:09:58.170 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: value_item
11:09:58.172 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: value
11:09:58.174 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: organization
11:09:58.223 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: account_item
11:09:58.224 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: agreement_item
11:09:58.224 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: paymentMethod_item
11:09:58.254 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No type/format information provided for 'value'. Defaulting to 'string'
11:09:58.258 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: BaseEvent_allOf_event
11:09:58.258 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: BaseEvent_FVO_allOf_event
11:09:58.258 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: Event_allOf_event
11:09:58.259 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: Event_FVO_allOf_event
11:09:58.259 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: ObjectCharacteristic_allOf_value
11:09:58.259 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: ObjectCharacteristic_FVO_allOf_value
* Starting to generate test cases
←[1A←[2K* Consumed search budget: 0.372%; covered targets: 0; time per test: 218.0ms (1.0 actions)
←[1A←[2K* Consumed search budget: 1.233%; covered targets: 2; time per test: 152.3ms (1.0 actions)
←[1A←[2K* Consumed search budget: 2.540%; covered targets: 10; time per test: 73.2ms (1.0 actions)
←[1A←[2K* Consumed search budget: 4.080%; covered targets: 12; time per test: 78.7ms (1.1 actions)
←[1A←[2K* Consumed search budget: 11.888%; covered targets: 12; time per test: 122.8ms (1.3 actions)
←[1A←[2K* Consumed search budget: 13.805%; covered targets: 12; time per test: 126.1ms (1.3 actions)
←[1A←[2K* Consumed search budget: 15.105%; covered targets: 12; time per test: 122.1ms (1.4 actions)
←[1A←[2K* Consumed search budget: 18.880%; covered targets: 12; time per test: 134.0ms (1.5 actions)
←[1A←[2K* Consumed search budget: 20.597%; covered targets: 12; time per test: 137.2ms (1.5 actions)
←[1A←[2K* Consumed search budget: 21.485%; covered targets: 12; time per test: 130.6ms (1.6 actions)
←[1A←[2K* Consumed search budget: 34.855%; covered targets: 12; time per test: 102.3ms (1.6 actions)
←[1A←[2K* Consumed search budget: 36.727%; covered targets: 12; time per test: 78.3ms (1.4 actions)
←[1A←[2K* Consumed search budget: 38.130%; covered targets: 12; time per test: 80.8ms (1.4 actions)
←[1A←[2K* Consumed search budget: 39.222%; covered targets: 12; time per test: 82.5ms (1.4 actions)
←[1A←[2K* Consumed search budget: 40.562%; covered targets: 12; time per test: 84.4ms (1.4 actions)
←[1A←[2K* Consumed search budget: 41.823%; covered targets: 12; time per test: 85.6ms (1.4 actions)
←[1A←[2K* Consumed search budget: 43.035%; covered targets: 12; time per test: 86.7ms (1.4 actions)
←[1A←[2K* Consumed search budget: 44.263%; covered targets: 12; time per test: 88.3ms (1.4 actions)
←[1A←[2K* Consumed search budget: 45.898%; covered targets: 12; time per test: 89.5ms (1.4 actions)
←[1A←[2K* Consumed search budget: 47.215%; covered targets: 12; time per test: 90.6ms (1.3 actions)
←[1A←[2K* Consumed search budget: 48.458%; covered targets: 12; time per test: 92.1ms (1.3 actions)
←[1A←[2K* Consumed search budget: 49.653%; covered targets: 12; time per test: 92.8ms (1.3 actions)
←[1A←[2K* Consumed search budget: 50.733%; covered targets: 12; time per test: 93.8ms (1.3 actions)
←[1A←[2K* Consumed search budget: 51.982%; covered targets: 12; time per test: 94.8ms (1.3 actions)
←[1A←[2K* Consumed search budget: 53.173%; covered targets: 12; time per test: 95.8ms (1.3 actions)
←[1A←[2K* Consumed search budget: 54.305%; covered targets: 12; time per test: 96.5ms (1.3 actions)
←[1A←[2K* Consumed search budget: 55.322%; covered targets: 12; time per test: 97.2ms (1.3 actions)
←[1A←[2K* Consumed search budget: 56.165%; covered targets: 12; time per test: 83.1ms (1.3 actions)
* ←[31m[ERROR] ←[0m←[33mEvoMaster process terminated abruptly. This is likely a bug in EvoMaster. Please copy&paste the following stacktrace, and create a new issue on ←[34mhttps://github.com/EMResearch/EvoMaster/issues←[0m←[0m
java.lang.IllegalArgumentException: mismatched gene impact for previous class org.evomaster.core.search.gene.optional.OptionalGene
at org.evomaster.core.search.impact.impactinfocollection.GeneImpact.check(GeneImpact.kt:22)
at org.evomaster.core.search.impact.impactinfocollection.value.StringGeneImpact.syncImpact(StringGeneImpact.kt:123)
at org.evomaster.core.search.impact.impactinfocollection.value.ObjectGeneImpact.syncImpact(ObjectGeneImpact.kt:92)
at org.evomaster.core.search.impact.impactinfocollection.value.OptionalGeneImpact.syncImpact(OptionalGeneImpact.kt:87)
at org.evomaster.core.search.impact.impactinfocollection.value.ObjectGeneImpact.syncImpact(ObjectGeneImpact.kt:92)
at org.evomaster.core.search.impact.impactinfocollection.value.OptionalGeneImpact.syncImpact(OptionalGeneImpact.kt:87)
at org.evomaster.core.search.impact.impactinfocollection.value.ObjectGeneImpact.syncImpact(ObjectGeneImpact.kt:92)
at org.evomaster.core.search.EvaluatedIndividual.syncImpact(EvaluatedIndividual.kt:637)
at org.evomaster.core.search.EvaluatedIndividual.compareWithLatest(EvaluatedIndividual.kt:377)
at org.evomaster.core.search.EvaluatedIndividual.updateImpactOfGenes(EvaluatedIndividual.kt:337)
at org.evomaster.core.search.service.mutator.Mutator.mutateAndSave(Mutator.kt:197)
at org.evomaster.core.search.algorithms.MioAlgorithm.searchOnce(MioAlgorithm.kt:48)
at org.evomaster.core.search.service.SearchAlgorithm.search(SearchAlgorithm.kt:73)
at org.evomaster.core.Main$Companion.run(Main.kt:564)
at org.evomaster.core.Main$Companion.initAndRun(Main.kt:178)
at org.evomaster.core.Main$Companion.main(Main.kt:89)
at org.evomaster.core.Main.main(Main.kt)
Do I need to open a new bug for the above error?
Br, Alen
Hi, thanks for reporting this. No need to open a different bug report for this, at least for now, as it might be a side-effect of your changes. Unfortunately this week is quite busy :( I will see to look into it in more details hopefully next week
Hi, thanks for reporting this. No need to open a different bug report for this, at least for now, as it might be a side-effect of your changes. Unfortunately this week is quite busy :( I will see to look into it in more details hopefully next week
thanks a lot
@aruvic I made a fix for the handling of dereferencing. but i m waiting for CI to finish before merging it into master branch (I ll write it here once that is done). anyway, the other reported issue (mismatched gene impact
) seems unrelated to this, ie, it is another bug.
@man-zhang any guess of why it could happen? as a temporary workaround, do we have any way to disable collecting gene impact?
also, not sure how best to address this bug, as it might be difficult to reproduce... @aruvic is that API closed-source? if so, @man-zhang we might need some more logging to understand what is going on
thx!
a fix for dereferencing is now merged in the master branch.
@aruvic could you check if it fixes the first issue you reported? if so, could you check if you still get the error on mismatched gene impact
? (likely yes, as they seem unrelated). In such case, can you open it in a different issue? thx!
a fix for dereferencing is now merged in the master branch.
@aruvic could you check if it fixes the first issue you reported? if so, could you check if you still get the error on
mismatched gene impact
? (likely yes, as they seem unrelated). In such case, can you open it in a different issue? thx!
Hi, sorry, I was out of office for the last two weeks. Indeed I can confirm that the first issue is fixed and the second issue still persists for which I will open a separate issue.
java --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -Djdk.attach.allowAttachSelf=true -jar evomaster.jar --outputFolder "C:\Users\aruvic\Documents\Development\new_folder\UC001\JAVA\tmf_api_tmf632_party_management_v5.0.0_server\test_output" --maxTime 10m
* ←[34m
_____ ___ ___ _
| ___| | \/ | | |
| |____ _____ | . . | __ _ ___| |_ ___ _ __
| __\ \ / / _ \| |\/| |/ _` / __| __/ _ \ '__|
| |___\ V / (_) | | | | (_| \__ \ || __/ |
\____/ \_/ \___/\_| |_/\__,_|___/\__\___|_|
←[0m
* EvoMaster version: 3.0.1-SNAPSHOT
* Loading configuration file from: C:\Users\aruvic\Documents\Development\EvoMaster\core\target\em.yaml
* Initializing...
14:10:10.402 [main] WARN o.t.u.TestcontainersConfiguration - Attempted to read Testcontainers configuration file at file:/C:/Users/aruvic/.testcontainers.properties but the file was not found. Exception message: FileNotFoundException: C:\Users\aruvic\.testcontainers.properties (The system cannot find the file specified)
14:10:13.005 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - Unhandled format 'base64'
14:10:13.023 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: partyOrPartyRole
14:10:13.034 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: individual
14:10:13.034 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: party
14:10:13.035 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: event
14:10:13.035 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: partyRole
14:10:13.036 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: validFor
14:10:13.036 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: attachment
14:10:13.038 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: status
* There are 12 usable RESTful API endpoints defined in the schema configuration
14:10:45.320 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: characteristic
14:10:45.323 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: existsDuring
14:10:45.323 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: organizationParentRelationship
14:10:45.330 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: taxExemptionCertificate
14:10:45.331 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: creditRating_item
14:10:45.331 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: engagedParty
14:10:45.332 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: partyRoleSpecification
14:10:45.333 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: creditProfile_item
14:10:45.345 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: size
14:10:45.370 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: source
14:10:45.371 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: reportingSystem
14:10:45.422 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: value_item
14:10:45.424 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: value
14:10:45.426 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: organization
14:10:45.495 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: account_item
14:10:45.495 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: agreement_item
14:10:45.496 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: paymentMethod_item
14:10:45.545 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No type/format information provided for 'value'. Defaulting to 'string'
14:10:45.550 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: BaseEvent_allOf_event
14:10:45.551 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: BaseEvent_FVO_allOf_event
14:10:45.551 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: Event_allOf_event
14:10:45.552 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: Event_FVO_allOf_event
14:10:45.552 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: ObjectCharacteristic_allOf_value
14:10:45.552 [main] WARN o.e.c.p.rest.RestActionBuilderV3 - No fields for object definition: ObjectCharacteristic_FVO_allOf_value
* ←[33m[WARNING] ←[0m←[33mUsing experimental settings. Those might not work as expected, or simply straight out crash. Furthermore, they might simply be incomplete features still under development. Used experimental settings: [bbProbabilityUseDataPool, wbProbabilityUseDataPool]←[0m
* Starting to generate test cases
←[1A←[2K* Consumed search budget: 0.037%; covered targets: 0; time per test: 220.0ms (1.0 actions)
←[1A←[2K* Consumed search budget: 0.148%; covered targets: 0; time per test: 167.7ms (1.0 actions)
←[1A←[2K* Consumed search budget: 0.261%; covered targets: 0; time per test: 71.7ms (1.0 actions)
←[1A←[2K* Consumed search budget: 0.412%; covered targets: 0; time per test: 74.9ms (1.1 actions)
←[1A←[2K* Consumed search budget: 0.988%; covered targets: 0; time per test: 105.8ms (1.3 actions)
←[1A←[2K* Consumed search budget: 1.114%; covered targets: 12; time per test: 105.3ms (1.3 actions)
←[1A←[2K* Consumed search budget: 1.214%; covered targets: 12; time per test: 101.1ms (1.4 actions)
←[1A←[2K* Consumed search budget: 1.494%; covered targets: 12; time per test: 109.2ms (1.5 actions)
←[1A←[2K* Consumed search budget: 1.658%; covered targets: 12; time per test: 116.0ms (1.5 actions)
←[1A←[2K* Consumed search budget: 1.807%; covered targets: 12; time per test: 95.3ms (1.6 actions)
←[1A←[2K* Consumed search budget: 2.753%; covered targets: 12; time per test: 98.7ms (1.6 actions)
←[1A←[2K* Consumed search budget: 2.842%; covered targets: 12; time per test: 86.6ms (1.6 actions)
←[1A←[2K* Consumed search budget: 3.794%; covered targets: 12; time per test: 87.3ms (1.5 actions)
←[1A←[2K* Consumed search budget: 4.242%; covered targets: 12; time per test: 90.1ms (1.5 actions)
←[1A←[2K* Consumed search budget: 4.666%; covered targets: 12; time per test: 91.0ms (1.5 actions)
←[1A←[2K* Consumed search budget: 5.227%; covered targets: 12; time per test: 93.6ms (1.5 actions)
←[1A←[2K* Consumed search budget: 5.323%; covered targets: 12; time per test: 91.0ms (1.6 actions)
←[1A←[2K* Consumed search budget: 5.914%; covered targets: 12; time per test: 93.9ms (1.6 actions)
←[1A←[2K* Consumed search budget: 7.123%; covered targets: 12; time per test: 105.6ms (1.6 actions)
←[1A←[2K* Consumed search budget: 7.622%; covered targets: 12; time per test: 108.1ms (1.6 actions)
←[1A←[2K* Consumed search budget: 7.750%; covered targets: 12; time per test: 97.8ms (1.5 actions)
* ←[31m[ERROR] ←[0m←[33mEvoMaster process terminated abruptly. This is likely a bug in EvoMaster. Please copy&paste the following stacktrace, and create a new issue on ←[34mhttps://github.com/EMResearch/EvoMaster/issues←[0m←[0m
java.lang.IllegalArgumentException: mismatched gene impact for previous class org.evomaster.core.search.gene.optional.OptionalGene
at org.evomaster.core.search.impact.impactinfocollection.GeneImpact.check(GeneImpact.kt:22)
at org.evomaster.core.search.impact.impactinfocollection.value.StringGeneImpact.syncImpact(StringGeneImpact.kt:123)
at org.evomaster.core.search.impact.impactinfocollection.value.ObjectGeneImpact.syncImpact(ObjectGeneImpact.kt:92)
at org.evomaster.core.search.impact.impactinfocollection.value.OptionalGeneImpact.syncImpact(OptionalGeneImpact.kt:87)
at org.evomaster.core.search.impact.impactinfocollection.value.ObjectGeneImpact.syncImpact(ObjectGeneImpact.kt:92)
at org.evomaster.core.search.impact.impactinfocollection.value.OptionalGeneImpact.syncImpact(OptionalGeneImpact.kt:87)
at org.evomaster.core.search.impact.impactinfocollection.value.ObjectGeneImpact.syncImpact(ObjectGeneImpact.kt:92)
at org.evomaster.core.search.EvaluatedIndividual.syncImpact(EvaluatedIndividual.kt:637)
at org.evomaster.core.search.EvaluatedIndividual.compareWithLatest(EvaluatedIndividual.kt:377)
at org.evomaster.core.search.EvaluatedIndividual.updateImpactOfGenes(EvaluatedIndividual.kt:337)
at org.evomaster.core.search.service.mutator.Mutator.mutateAndSave(Mutator.kt:197)
at org.evomaster.core.search.algorithms.MioAlgorithm.searchOnce(MioAlgorithm.kt:48)
at org.evomaster.core.search.service.SearchAlgorithm.search(SearchAlgorithm.kt:73)
at org.evomaster.core.Main$Companion.run(Main.kt:563)
at org.evomaster.core.Main$Companion.initAndRun(Main.kt:178)
at org.evomaster.core.Main$Companion.main(Main.kt:89)
at org.evomaster.core.Main.main(Main.kt)
EvoMaster was executed as (Windows binary) evomaster.exe --outputFolder "path\to\the\folder" --maxTime 5m
The problem is related to:
Followig part of the code:
val bodies = body.content.filter { if (it.value.schema == null) { false } else { val reference = it.value.schema.
$refreference.isNullOrBlank() || getLocalObjectSchema(swagger, reference) != null } }
When OAS3 specification is following:
requestBody's content (body.content) is of course null as it cotains a reference $ref to Components->Request Bodies ($ref: #/components/requestBodies/Organization_FVO') hence following error: "Fail to parse endpoint POST/partyManagement/v5/organization due to body.content must not be null"
Maybe suggestion to fix it as following:
After change following is reported: