Skip to content

Commit 565de8a

Browse files
authored
Merge pull request #1511 from WebFuzzing/cleanup-merge
Cleanup tests and fixes
2 parents 3c70263 + a0996ce commit 565de8a

9 files changed

Lines changed: 444 additions & 22 deletions

File tree

.github/workflows/ci.yml

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,10 @@ jobs:
7676
steps:
7777
- uses: actions/checkout@v4
7878
- name: Setup JDK ${{env.build-jdk}}
79-
uses: actions/setup-java@v1
79+
uses: actions/setup-java@v5
8080
with:
8181
java-version: ${{env.build-jdk}}
82+
distribution: 'temurin'
8283
- name: Cache Maven packages
8384
uses: actions/cache@v3
8485
with:
@@ -99,9 +100,10 @@ jobs:
99100
- uses: actions/checkout@v4
100101
# Build/test for JDK
101102
- name: Setup JDK ${{env.build-jdk}}
102-
uses: actions/setup-java@v1
103+
uses: actions/setup-java@v5
103104
with:
104105
java-version: ${{env.build-jdk}}
106+
distribution: 'temurin'
105107
- name: Cache Maven packages
106108
uses: actions/cache@v3
107109
with:
@@ -147,9 +149,10 @@ jobs:
147149
steps:
148150
- uses: actions/checkout@v4
149151
- name: Setup JDK ${{env.release-jdk}}
150-
uses: actions/setup-java@v1
152+
uses: actions/setup-java@v5
151153
with:
152154
java-version: ${{env.release-jdk}}
155+
distribution: 'temurin'
153156
- name: Cache Maven packages
154157
uses: actions/cache@v3
155158
with:
@@ -168,9 +171,10 @@ jobs:
168171
steps:
169172
- uses: actions/checkout@v4
170173
- name: Setup JDK ${{env.release-jdk}}
171-
uses: actions/setup-java@v1
174+
uses: actions/setup-java@v5
172175
with:
173176
java-version: ${{env.release-jdk}}
177+
distribution: 'temurin'
174178
- name: Cache Maven packages
175179
uses: actions/cache@v3
176180
with:
@@ -196,9 +200,10 @@ jobs:
196200
# steps:
197201
# - uses: actions/checkout@v4
198202
# - name: Setup JDK ${{env.latest-jdk}}
199-
# uses: actions/setup-java@v1
203+
# uses: actions/setup-java@v5
200204
# with:
201205
# java-version: ${{env.latest-jdk}}
206+
# distribution: 'temurin'
202207
# - name: Cache Maven packages
203208
# uses: actions/cache@v3
204209
# with:
@@ -222,9 +227,10 @@ jobs:
222227
steps:
223228
- uses: actions/checkout@v4
224229
- name: Setup JDK ${{env.release-jdk}}
225-
uses: actions/setup-java@v1
230+
uses: actions/setup-java@v5
226231
with:
227232
java-version: ${{env.release-jdk}}
233+
distribution: 'temurin'
228234
- name: Download fat jar
229235
uses: actions/download-artifact@v4
230236
with:
@@ -247,9 +253,10 @@ jobs:
247253
steps:
248254
- uses: actions/checkout@v3
249255
- name: Setup JDK ${{env.release-jdk}}
250-
uses: actions/setup-java@v1
256+
uses: actions/setup-java@v5
251257
with:
252258
java-version: ${{env.release-jdk}}
259+
distribution: 'temurin'
253260
- name: Download fat jar
254261
uses: actions/download-artifact@v4
255262
with:
@@ -272,9 +279,10 @@ jobs:
272279
steps:
273280
- uses: actions/checkout@v4
274281
- name: Setup JDK ${{env.release-jdk}}
275-
uses: actions/setup-java@v1
282+
uses: actions/setup-java@v5
276283
with:
277284
java-version: ${{env.release-jdk}}
285+
distribution: 'temurin'
278286
- name: Download fat jar
279287
uses: actions/download-artifact@v4
280288
with:
@@ -339,9 +347,10 @@ jobs:
339347
steps:
340348
- uses: actions/checkout@v4
341349
- name: Setup JDK ${{env.build-jdk}}
342-
uses: actions/setup-java@v1
350+
uses: actions/setup-java@v5
343351
with:
344352
java-version: ${{env.build-jdk}}
353+
distribution: 'temurin'
345354
- name: Cache Maven packages
346355
uses: actions/cache@v3
347356
with:
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package bar.examples.it.spring.cleanupuuid
2+
3+
import org.springframework.boot.SpringApplication
4+
import org.springframework.boot.autoconfigure.SpringBootApplication
5+
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration
6+
import org.springframework.http.ResponseEntity
7+
import org.springframework.web.bind.annotation.*
8+
import java.util.UUID
9+
10+
11+
@SpringBootApplication(exclude = [SecurityAutoConfiguration::class])
12+
@RequestMapping(path = ["/api/resources"])
13+
@RestController
14+
open class CleanUpUUIDApplication {
15+
16+
companion object {
17+
@JvmStatic
18+
fun main(args: Array<String>) {
19+
SpringApplication.run(CleanUpUUIDApplication::class.java, *args)
20+
}
21+
22+
private val data = mutableMapOf<UUID, String>()
23+
24+
fun reset(){
25+
data.clear()
26+
}
27+
28+
fun numberExistingData() = data.size
29+
}
30+
31+
32+
@PostMapping(path = [""])
33+
open fun post(): ResponseEntity<CleanUpUUIDDto> {
34+
val id = UUID.randomUUID()
35+
data[id] = "Data for $id"
36+
return ResponseEntity.status(201).body(CleanUpUUIDDto(id,data.size))
37+
}
38+
39+
40+
@PutMapping(path = ["/{id}"])
41+
open fun put(
42+
@PathVariable("id") id: UUID
43+
): ResponseEntity<CleanUpUUIDDto> {
44+
45+
val status = if(data.containsKey(id)){
46+
200
47+
} else {
48+
201
49+
}
50+
51+
data[id] = "Data for $id"
52+
return ResponseEntity.status(status).body(CleanUpUUIDDto(id,data.size))
53+
}
54+
55+
@DeleteMapping(path = ["/{id}"])
56+
open fun delete(@PathVariable("id") id: UUID): ResponseEntity<String> {
57+
58+
if(!data.containsKey(id)){
59+
return ResponseEntity.status(404).build()
60+
}
61+
62+
data.remove(id)
63+
64+
return ResponseEntity.status(204).build()
65+
}
66+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package bar.examples.it.spring.cleanupuuid
2+
3+
import java.util.UUID
4+
5+
open class CleanUpUUIDDto(
6+
7+
var id : UUID? = null,
8+
9+
var size: Int? = null
10+
)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package bar.examples.it.spring.cleanupuuid
2+
3+
import bar.examples.it.spring.SpringController
4+
import bar.examples.it.spring.cleanupcreate.CleanUpDeleteApplication
5+
6+
class CleanUpUUIDController : SpringController(CleanUpUUIDApplication::class.java)

core-tests/integration-tests/core-it/src/test/kotlin/org/evomaster/core/problem/rest/IntegrationTestRestBase.kt

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,19 +49,21 @@ abstract class IntegrationTestRestBase : RestTestBase() {
4949
injector = init(args)
5050
}
5151

52-
fun getPirToRest() = injector.getInstance(PirToRest::class.java)
52+
fun getPirToRest() = injector.getInstance(PirToRest::class.java)!!
5353

5454
fun getArchive() = injector.getInstance(Archive::class.java) as Archive<RestIndividual>
5555

5656
fun getSecurityRest() = injector.getInstance(RestSecurityBuilder::class.java) as RestSecurityBuilder
5757

58-
fun getEMConfig() = injector.getInstance(EMConfig::class.java)
58+
fun getEMConfig() = injector.getInstance(EMConfig::class.java)!!
5959

60-
fun getBuilder() = injector.getInstance(RestIndividualBuilder::class.java)
60+
fun getBuilder() = injector.getInstance(RestIndividualBuilder::class.java)!!
6161

62-
fun getSecurityOracle() = injector.getInstance(RestSecurityOracle::class.java)
62+
fun getSecurityOracle() = injector.getInstance(RestSecurityOracle::class.java)!!
6363

64-
fun getExecutionPhaseController() = injector.getInstance(ExecutionPhaseController::class.java)
64+
fun getExecutionPhaseController() = injector.getInstance(ExecutionPhaseController::class.java)!!
65+
66+
fun getFitnessFunction() = injector.getInstance(AbstractRestFitness::class.java)!!
6567

6668
/**
6769
* Create and evaluate an individual
@@ -79,10 +81,10 @@ abstract class IntegrationTestRestBase : RestTestBase() {
7981
*/
8082
val ind = sampler.createIndividual(sampleT, actions.toMutableList())
8183

82-
val ff = injector.getInstance(AbstractRestFitness::class.java)
84+
val ff = getFitnessFunction()
8385
val ei = ff.calculateCoverage(ind)!!
8486

8587
return ei
8688
}
8789

88-
}
90+
}

0 commit comments

Comments
 (0)