pcp-tgu: эндпоинт /test/tgu/platforms/load-manual принимает JSON
Тестовый эндпоинт загрузки платформ принимает root-array НСИ в теле запроса (@RequestBody List<NsiPlatformDto>) вместо пути к файлу; маршрут load-from-file переименован в load-manual.
This commit is contained in:
+6
-10
@@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.RequestMapping
|
||||
import org.springframework.web.bind.annotation.RequestParam
|
||||
import org.springframework.web.bind.annotation.RestController
|
||||
import space.nstart.pcp_tgu_service.domain.PlanDecision
|
||||
import space.nstart.pcp_tgu_service.dto.NsiPlatformDto
|
||||
import space.nstart.pcp_tgu_service.dto.PlanDecisionMessage
|
||||
import space.nstart.pcp_tgu_service.dto.PlanExecutionFeedbackMessage
|
||||
import space.nstart.pcp_tgu_service.dto.PlanResponse
|
||||
@@ -20,8 +21,6 @@ import space.nstart.pcp_tgu_service.service.PlanQueryService
|
||||
import space.nstart.pcp_tgu_service.service.PlatformService
|
||||
import space.nstart.pcp_tgu_service.service.TestPlanDecisionService
|
||||
import space.nstart.pcp_tgu_service.service.VisibilityRefreshJobService
|
||||
import java.nio.file.Files
|
||||
import java.nio.file.Path
|
||||
import java.time.LocalDateTime
|
||||
import java.util.UUID
|
||||
|
||||
@@ -77,14 +76,12 @@ class TestTguController(
|
||||
): PlanExecutionFeedbackMessage =
|
||||
testPlanDecisionService.generateLayinConfirmed(planId, reason)
|
||||
|
||||
/** Загружает cache аппаратов из файла с root-array payload НСИ вместо запроса в НСИ. */
|
||||
@PostMapping("/platforms/load-from-file")
|
||||
fun loadPlatformsFromFile(@RequestParam("path") filePath: String): TestPlatformsLoadResponse {
|
||||
val path = Path.of(filePath).toAbsolutePath().normalize()
|
||||
val platforms = platformService.loadPlatformsFromNsiPayload(Files.readString(path))
|
||||
/** Загружает cache аппаратов из переданного в теле root-array payload НСИ вместо запроса в НСИ. */
|
||||
@PostMapping("/platforms/load-manual")
|
||||
fun loadPlatformsFromPayload(@RequestBody platforms: List<NsiPlatformDto>): TestPlatformsLoadResponse {
|
||||
val loaded = platformService.loadPlatformsFromNsiPayload(platforms)
|
||||
return TestPlatformsLoadResponse(
|
||||
filePath = path.toString(),
|
||||
loadedCount = platforms.size,
|
||||
loadedCount = loaded.size,
|
||||
allowedCount = platformService.loadAllowedPlatforms().size
|
||||
)
|
||||
}
|
||||
@@ -109,7 +106,6 @@ class TestTguController(
|
||||
}
|
||||
|
||||
data class TestPlatformsLoadResponse(
|
||||
val filePath: String,
|
||||
val loadedCount: Int,
|
||||
val allowedCount: Int
|
||||
)
|
||||
|
||||
+4
-1
@@ -46,8 +46,11 @@ class PlatformService(
|
||||
|
||||
/** Replaces the in-memory platform cache from a raw NSI response payload for test-only manual runs. */
|
||||
fun loadPlatformsFromNsiPayload(payloadJson: String): List<PlatformCatalogItem> =
|
||||
loadPlatformsFromNsiPayload(objectMapper.readValue(payloadJson, Array<NsiPlatformDto>::class.java).toList())
|
||||
|
||||
/** Replaces the in-memory platform cache from an already-parsed NSI payload for test-only manual runs. */
|
||||
fun loadPlatformsFromNsiPayload(platforms: List<NsiPlatformDto>): List<PlatformCatalogItem> =
|
||||
synchronized(cacheLock) {
|
||||
val platforms = objectMapper.readValue(payloadJson, Array<NsiPlatformDto>::class.java).toList()
|
||||
cachePlatforms(platforms, Instant.now(clock))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user