Skip to content

Commit be7a088

Browse files
committed
Merge branch 'cleanup-merge' of https://github.com/WebFuzzing/EvoMaster into enable-new-security
2 parents fa939ec + 0309381 commit be7a088

9 files changed

Lines changed: 435 additions & 22 deletions

File tree

.github/workflows/ci.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ 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}}
8282
- name: Cache Maven packages
@@ -99,7 +99,7 @@ jobs:
9999
- uses: actions/checkout@v4
100100
# Build/test for JDK
101101
- name: Setup JDK ${{env.build-jdk}}
102-
uses: actions/setup-java@v1
102+
uses: actions/setup-java@v5
103103
with:
104104
java-version: ${{env.build-jdk}}
105105
- name: Cache Maven packages
@@ -147,7 +147,7 @@ jobs:
147147
steps:
148148
- uses: actions/checkout@v4
149149
- name: Setup JDK ${{env.release-jdk}}
150-
uses: actions/setup-java@v1
150+
uses: actions/setup-java@v5
151151
with:
152152
java-version: ${{env.release-jdk}}
153153
- name: Cache Maven packages
@@ -168,7 +168,7 @@ jobs:
168168
steps:
169169
- uses: actions/checkout@v4
170170
- name: Setup JDK ${{env.release-jdk}}
171-
uses: actions/setup-java@v1
171+
uses: actions/setup-java@v5
172172
with:
173173
java-version: ${{env.release-jdk}}
174174
- name: Cache Maven packages
@@ -196,7 +196,7 @@ jobs:
196196
# steps:
197197
# - uses: actions/checkout@v4
198198
# - name: Setup JDK ${{env.latest-jdk}}
199-
# uses: actions/setup-java@v1
199+
# uses: actions/setup-java@v5
200200
# with:
201201
# java-version: ${{env.latest-jdk}}
202202
# - name: Cache Maven packages
@@ -222,7 +222,7 @@ jobs:
222222
steps:
223223
- uses: actions/checkout@v4
224224
- name: Setup JDK ${{env.release-jdk}}
225-
uses: actions/setup-java@v1
225+
uses: actions/setup-java@v5
226226
with:
227227
java-version: ${{env.release-jdk}}
228228
- name: Download fat jar
@@ -247,7 +247,7 @@ jobs:
247247
steps:
248248
- uses: actions/checkout@v3
249249
- name: Setup JDK ${{env.release-jdk}}
250-
uses: actions/setup-java@v1
250+
uses: actions/setup-java@v5
251251
with:
252252
java-version: ${{env.release-jdk}}
253253
- name: Download fat jar
@@ -272,7 +272,7 @@ jobs:
272272
steps:
273273
- uses: actions/checkout@v4
274274
- name: Setup JDK ${{env.release-jdk}}
275-
uses: actions/setup-java@v1
275+
uses: actions/setup-java@v5
276276
with:
277277
java-version: ${{env.release-jdk}}
278278
- name: Download fat jar
@@ -339,7 +339,7 @@ jobs:
339339
steps:
340340
- uses: actions/checkout@v4
341341
- name: Setup JDK ${{env.build-jdk}}
342-
uses: actions/setup-java@v1
342+
uses: actions/setup-java@v5
343343
with:
344344
java-version: ${{env.build-jdk}}
345345
- name: Cache Maven packages
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)