|
|
@ -1,6 +1,7 @@ |
|
|
|
package kr.co.palnet.kac.flt.laanc; |
|
|
|
package kr.co.palnet.kac.flt.laanc; |
|
|
|
|
|
|
|
|
|
|
|
import kr.co.palnet.kac.BaseTest; |
|
|
|
import kr.co.palnet.kac.BaseTest; |
|
|
|
|
|
|
|
import kr.co.palnet.kac.api.v1.flight.laanc.model.FltPlanBasDTO; |
|
|
|
import kr.co.palnet.kac.api.v1.flight.laanc.model.create.CreateLaancPlanRQ; |
|
|
|
import kr.co.palnet.kac.api.v1.flight.laanc.model.create.CreateLaancPlanRQ; |
|
|
|
import kr.co.palnet.kac.api.v1.flight.laanc.service.FlightLaancService; |
|
|
|
import kr.co.palnet.kac.api.v1.flight.laanc.service.FlightLaancService; |
|
|
|
import kr.co.palnet.kac.config.security.util.SessionHelper; |
|
|
|
import kr.co.palnet.kac.config.security.util.SessionHelper; |
|
|
@ -45,10 +46,7 @@ public class FlightLaancControllerTest extends BaseTest { |
|
|
|
public void getLaancAprvDetail() throws Exception{ |
|
|
|
public void getLaancAprvDetail() throws Exception{ |
|
|
|
String token = this.getUserToken(); |
|
|
|
String token = this.getUserToken(); |
|
|
|
|
|
|
|
|
|
|
|
String planSno = this.testCreatePlan().toString(); |
|
|
|
String planSno = this.testCreatePlan().getPlanSno().toString(); |
|
|
|
|
|
|
|
|
|
|
|
String confirmKey = UUID.randomUUID().toString(); |
|
|
|
|
|
|
|
flightLaancService.testCreateQRCode(confirmKey, this.CREATE_USERNAME); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.mockMvc.perform( |
|
|
|
this.mockMvc.perform( |
|
|
|
RestDocumentationRequestBuilders.get(this.BASE_URL + "/detail/{planSno}", planSno) |
|
|
|
RestDocumentationRequestBuilders.get(this.BASE_URL + "/detail/{planSno}", planSno) |
|
|
@ -157,13 +155,12 @@ public class FlightLaancControllerTest extends BaseTest { |
|
|
|
@Transactional |
|
|
|
@Transactional |
|
|
|
public void getLaancAprvList() throws Exception{ |
|
|
|
public void getLaancAprvList() throws Exception{ |
|
|
|
// TODO::TEST로 만들 비행계획서 필요함
|
|
|
|
// TODO::TEST로 만들 비행계획서 필요함
|
|
|
|
|
|
|
|
String token = this.getUserToken(); |
|
|
|
|
|
|
|
|
|
|
|
String planSno = this.testCreatePlan().toString(); |
|
|
|
FltPlanBasDTO fltPlanBasDto = this.testCreatePlan(); |
|
|
|
|
|
|
|
|
|
|
|
String createStDate = "2024-02-23"; |
|
|
|
|
|
|
|
String createEndDate = "2024-02-23"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String token = this.getUserToken(); |
|
|
|
String createStDate = fltPlanBasDto.getCreateDt().toLocalDate().minusDays(1).toString(); |
|
|
|
|
|
|
|
String createEndDate = fltPlanBasDto.getCreateDt().toLocalDate().plusDays(1).toString(); |
|
|
|
|
|
|
|
|
|
|
|
this.mockMvc.perform( |
|
|
|
this.mockMvc.perform( |
|
|
|
get(this.BASE_URL + "/list") |
|
|
|
get(this.BASE_URL + "/list") |
|
|
@ -186,33 +183,33 @@ public class FlightLaancControllerTest extends BaseTest { |
|
|
|
parameterWithName("memberName").description("이름").optional() |
|
|
|
parameterWithName("memberName").description("이름").optional() |
|
|
|
), |
|
|
|
), |
|
|
|
responseFields( |
|
|
|
responseFields( |
|
|
|
fieldWithPath("[].planSno").type(JsonFieldType.NUMBER).description("비행계획서 일련번호"), |
|
|
|
fieldWithPath("[].planSno").type(JsonFieldType.NUMBER).description("비행계획서 일련번호").optional(), |
|
|
|
fieldWithPath("[].groupId").type(JsonFieldType.STRING).description("그룹 아이디"), |
|
|
|
fieldWithPath("[].groupId").type(JsonFieldType.STRING).description("그룹 아이디").optional(), |
|
|
|
fieldWithPath("[].cstmrSno").type(JsonFieldType.NUMBER).description("작성자 일련번호"), |
|
|
|
fieldWithPath("[].cstmrSno").type(JsonFieldType.NUMBER).description("작성자 일련번호").optional(), |
|
|
|
fieldWithPath("[].memberName").type(JsonFieldType.STRING).description("작성자 이름"), |
|
|
|
fieldWithPath("[].memberName").type(JsonFieldType.STRING).description("작성자 이름").optional(), |
|
|
|
fieldWithPath("[].email").type(JsonFieldType.STRING).description("이메일"), |
|
|
|
fieldWithPath("[].email").type(JsonFieldType.STRING).description("이메일").optional(), |
|
|
|
fieldWithPath("[].hpno").type(JsonFieldType.STRING).description("연락처"), |
|
|
|
fieldWithPath("[].hpno").type(JsonFieldType.STRING).description("연락처").optional(), |
|
|
|
fieldWithPath("[].clncd").type(JsonFieldType.STRING).description("국가번호(연락처)"), |
|
|
|
fieldWithPath("[].clncd").type(JsonFieldType.STRING).description("국가번호(연락처)").optional(), |
|
|
|
fieldWithPath("[].addr").type(JsonFieldType.STRING).description("주소").optional(), |
|
|
|
fieldWithPath("[].addr").type(JsonFieldType.STRING).description("주소").optional(), |
|
|
|
fieldWithPath("[].addrDtlCn").type(JsonFieldType.STRING).description("상세주소").optional(), |
|
|
|
fieldWithPath("[].addrDtlCn").type(JsonFieldType.STRING).description("상세주소").optional(), |
|
|
|
fieldWithPath("[].zip").type(JsonFieldType.STRING).description("우편번호").optional(), |
|
|
|
fieldWithPath("[].zip").type(JsonFieldType.STRING).description("우편번호").optional(), |
|
|
|
fieldWithPath("[].schFltStDt").type(JsonFieldType.STRING).description("비행시작일시"), |
|
|
|
fieldWithPath("[].schFltStDt").type(JsonFieldType.STRING).description("비행시작일시").optional(), |
|
|
|
fieldWithPath("[].schFltEndDt").type(JsonFieldType.STRING).description("비행종료일시"), |
|
|
|
fieldWithPath("[].schFltEndDt").type(JsonFieldType.STRING).description("비행종료일시").optional(), |
|
|
|
fieldWithPath("[].fltPurpose").type(JsonFieldType.STRING).description("비행목적"), |
|
|
|
fieldWithPath("[].fltPurpose").type(JsonFieldType.STRING).description("비행목적").optional(), |
|
|
|
fieldWithPath("[].fltType").type(JsonFieldType.STRING).description("상업/비사업 구분"), |
|
|
|
fieldWithPath("[].fltType").type(JsonFieldType.STRING).description("상업/비사업 구분").optional(), |
|
|
|
fieldWithPath("[].fltTypeNm").type(JsonFieldType.STRING).description("상업/비사업 구분 코드"), |
|
|
|
fieldWithPath("[].fltTypeNm").type(JsonFieldType.STRING).description("상업/비사업 구분 코드").optional(), |
|
|
|
fieldWithPath("[].aprvlYn").type(JsonFieldType.STRING).description("승인여부"), |
|
|
|
fieldWithPath("[].aprvlYn").type(JsonFieldType.STRING).description("승인여부").optional(), |
|
|
|
fieldWithPath("[].aprvlDt").type(JsonFieldType.STRING).description("승인일자"), |
|
|
|
fieldWithPath("[].aprvlDt").type(JsonFieldType.STRING).description("승인일자").optional(), |
|
|
|
fieldWithPath("[].fileGroupNo").type(JsonFieldType.NUMBER).description("파일그룹번호"), |
|
|
|
fieldWithPath("[].fileGroupNo").type(JsonFieldType.NUMBER).description("파일그룹번호").optional(), |
|
|
|
fieldWithPath("[].createUserId").type(JsonFieldType.STRING).description("등록자ID"), |
|
|
|
fieldWithPath("[].createUserId").type(JsonFieldType.STRING).description("등록자ID").optional(), |
|
|
|
fieldWithPath("[].createDt").type(JsonFieldType.STRING).description("등록일시"), |
|
|
|
fieldWithPath("[].createDt").type(JsonFieldType.STRING).description("등록일시").optional(), |
|
|
|
fieldWithPath("[].updateUserId").type(JsonFieldType.STRING).description("수정자ID"), |
|
|
|
fieldWithPath("[].updateUserId").type(JsonFieldType.STRING).description("수정자ID").optional(), |
|
|
|
fieldWithPath("[].updateDt").type(JsonFieldType.STRING).description("수정일시"), |
|
|
|
fieldWithPath("[].updateDt").type(JsonFieldType.STRING).description("수정일시").optional(), |
|
|
|
fieldWithPath("[].serviceType").type(JsonFieldType.STRING).description("각 항별 코드"), |
|
|
|
fieldWithPath("[].serviceType").type(JsonFieldType.STRING).description("각 항별 코드").optional(), |
|
|
|
fieldWithPath("[].corpRegYn").type(JsonFieldType.STRING).description("기업여부"), |
|
|
|
fieldWithPath("[].corpRegYn").type(JsonFieldType.STRING).description("기업여부").optional(), |
|
|
|
fieldWithPath("[].pdfUrl").type(JsonFieldType.STRING).description("공문URL"), |
|
|
|
fieldWithPath("[].pdfUrl").type(JsonFieldType.STRING).description("공문URL").optional(), |
|
|
|
|
|
|
|
|
|
|
|
fieldWithPath("[].areaList").type(JsonFieldType.ARRAY).description("비행구역 리스트"), |
|
|
|
fieldWithPath("[].areaList").type(JsonFieldType.ARRAY).description("비행구역 리스트").optional(), |
|
|
|
fieldWithPath("[].areaList[].planAreaSno").type(JsonFieldType.NUMBER).description("비행구역 일련번호"), |
|
|
|
fieldWithPath("[].areaList[].planAreaSno").type(JsonFieldType.NUMBER).description("비행구역 일련번호"), |
|
|
|
fieldWithPath("[].areaList[].planSno").type(JsonFieldType.NUMBER).description("비행계획서 일련번호"), |
|
|
|
fieldWithPath("[].areaList[].planSno").type(JsonFieldType.NUMBER).description("비행계획서 일련번호"), |
|
|
|
fieldWithPath("[].areaList[].areaType").type(JsonFieldType.STRING).description("비행구역 생성타입"), |
|
|
|
fieldWithPath("[].areaList[].areaType").type(JsonFieldType.STRING).description("비행구역 생성타입"), |
|
|
@ -229,7 +226,7 @@ public class FlightLaancControllerTest extends BaseTest { |
|
|
|
fieldWithPath("[].areaList[].bufferCoordList").type(JsonFieldType.ARRAY).description("비행 버퍼 좌표리스트").optional(), |
|
|
|
fieldWithPath("[].areaList[].bufferCoordList").type(JsonFieldType.ARRAY).description("비행 버퍼 좌표리스트").optional(), |
|
|
|
fieldWithPath("[].areaList[].fltMothoeRm").type(JsonFieldType.STRING).description("비행방식(기타)"), |
|
|
|
fieldWithPath("[].areaList[].fltMothoeRm").type(JsonFieldType.STRING).description("비행방식(기타)"), |
|
|
|
|
|
|
|
|
|
|
|
fieldWithPath("[].arcrftList").type(JsonFieldType.ARRAY).description("비행기체 리스트"), |
|
|
|
fieldWithPath("[].arcrftList").type(JsonFieldType.ARRAY).description("비행기체 리스트").optional(), |
|
|
|
fieldWithPath("[].arcrftList[].planArcrftSno").type(JsonFieldType.NUMBER).description("계획서 기체 일련번호"), |
|
|
|
fieldWithPath("[].arcrftList[].planArcrftSno").type(JsonFieldType.NUMBER).description("계획서 기체 일련번호"), |
|
|
|
fieldWithPath("[].arcrftList[].planSno").type(JsonFieldType.NUMBER).description("비행계획서 일련번호"), |
|
|
|
fieldWithPath("[].arcrftList[].planSno").type(JsonFieldType.NUMBER).description("비행계획서 일련번호"), |
|
|
|
fieldWithPath("[].arcrftList[].arcrftSno").type(JsonFieldType.NUMBER).description("기체 일련번호").optional(), |
|
|
|
fieldWithPath("[].arcrftList[].arcrftSno").type(JsonFieldType.NUMBER).description("기체 일련번호").optional(), |
|
|
@ -263,8 +260,8 @@ public class FlightLaancControllerTest extends BaseTest { |
|
|
|
fieldWithPath("[].arcrftList[].arcrftWghtCd").type(JsonFieldType.STRING).description("자체중량코드"), |
|
|
|
fieldWithPath("[].arcrftList[].arcrftWghtCd").type(JsonFieldType.STRING).description("자체중량코드"), |
|
|
|
|
|
|
|
|
|
|
|
fieldWithPath("[].pilotList").type(JsonFieldType.ARRAY).description("공문URL").optional(), |
|
|
|
fieldWithPath("[].pilotList").type(JsonFieldType.ARRAY).description("공문URL").optional(), |
|
|
|
fieldWithPath("[].arcrftWght").type(JsonFieldType.STRING).description("기체 중량설명"), |
|
|
|
fieldWithPath("[].arcrftWght").type(JsonFieldType.STRING).description("기체 중량설명").optional(), |
|
|
|
fieldWithPath("[].elev").type(JsonFieldType.STRING).description("비행고도") |
|
|
|
fieldWithPath("[].elev").type(JsonFieldType.STRING).description("비행고도").optional() |
|
|
|
) |
|
|
|
) |
|
|
|
) |
|
|
|
) |
|
|
|
) |
|
|
|
) |
|
|
@ -615,19 +612,9 @@ public class FlightLaancControllerTest extends BaseTest { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private Long testCreatePlan(){ |
|
|
|
private FltPlanBasDTO testCreatePlan(){ |
|
|
|
String jsonRQ = "{\"cstmrSno\": 3,\"fltType\": \"COMMERCIAL\",\"schFltStDt\": \"2024-02-21T11:43:00\",\"schFltEndDt\": \"2024-02-22T15:46:00\",\"fltPurpose\": \"06\",\"serviceType\": \"KAC\",\"areaList\" : [{\"areaType\": \"LINE\",\"fltMethod\": \"02\",\"fltMothoeRm\": \"\",\"bufferZone\": \"100\",\"fltElev\": \"100\",\"coordList\": [{\"lat\": 37.51625845252909,\"lon\": 126.72340194011286},{\"lat\": 37.512215014051776,\"lon\": 126.72058946300956},{\"lat\": 37.51123897883966,\"lon\": 126.72463239884405}]}],\"arcrftList\" : [{\"idntfNum\": \"PA0001\",\"groupNm\": \"\",\"prdctNum\": \"\",\"arcrftTypeCd\": \"11\",\"arcrftModelNm\": \"\",\"prdctCmpnNm\": \"\",\"prdctDate\": \"\",\"arcrftLngth\": 0,\"arcrftWghtCd\": \"8\",\"arcrftHght\": 0,\"arcrftWght\": 0,\"wghtTypeCd\": \"\",\"imageUrl\": \"\",\"takeoffWght\": 0,\"useYn\": \"\",\"cameraYn\": \"\",\"insrncYn\": \"\",\"ownerNm\": \"\"}],\"terms\": []}".trim(); |
|
|
|
String jsonRQ = "{\"cstmrSno\": 3,\"fltType\": \"COMMERCIAL\",\"schFltStDt\": \"2024-02-21T11:43:00\",\"schFltEndDt\": \"2024-02-22T15:46:00\",\"fltPurpose\": \"06\",\"serviceType\": \"KAC\",\"areaList\" : [{\"areaType\": \"LINE\",\"fltMethod\": \"02\",\"fltMothoeRm\": \"\",\"bufferZone\": \"100\",\"fltElev\": \"100\",\"coordList\": [{\"lat\": 37.51625845252909,\"lon\": 126.72340194011286},{\"lat\": 37.512215014051776,\"lon\": 126.72058946300956},{\"lat\": 37.51123897883966,\"lon\": 126.72463239884405}]}],\"arcrftList\" : [{\"idntfNum\": \"PA0001\",\"groupNm\": \"\",\"prdctNum\": \"\",\"arcrftTypeCd\": \"11\",\"arcrftModelNm\": \"\",\"prdctCmpnNm\": \"\",\"prdctDate\": \"\",\"arcrftLngth\": 0,\"arcrftWghtCd\": \"8\",\"arcrftHght\": 0,\"arcrftWght\": 0,\"wghtTypeCd\": \"\",\"imageUrl\": \"\",\"takeoffWght\": 0,\"useYn\": \"\",\"cameraYn\": \"\",\"insrncYn\": \"\",\"ownerNm\": \"\"}],\"terms\": []}".trim(); |
|
|
|
|
|
|
|
|
|
|
|
this.getUserToken(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
UserDetails userDetails = this.baseUserDetailsService.loadUserByUsername(this.CREATE_USERNAME); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
UsernamePasswordAuthenticationToken userToken = new UsernamePasswordAuthenticationToken( |
|
|
|
|
|
|
|
userDetails, null, userDetails.getAuthorities() |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SecurityContextHolder.getContext().setAuthentication(userToken); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CreateLaancPlanRQ rq; |
|
|
|
CreateLaancPlanRQ rq; |
|
|
|
try{ |
|
|
|
try{ |
|
|
|
rq = ObjectMapperUtils.getObjectMapper().readValue(jsonRQ, CreateLaancPlanRQ.class); |
|
|
|
rq = ObjectMapperUtils.getObjectMapper().readValue(jsonRQ, CreateLaancPlanRQ.class); |
|
|
|