Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: websocket controller #46

Merged
merged 18 commits into from
Mar 21, 2024
Merged

Conversation

ghkdqhrbals
Copy link
Member

@ghkdqhrbals ghkdqhrbals commented Mar 21, 2024

Implementation

  • Merge jacoco-aggregate into this branch

    You can reach report file in /bm-controller/build/reports/jacoco/testCodeCoverageReport/html/index.html after running ./gradlew testCodeCoverageReport
    See more in Multi module Jacoco testCoverageReport summation html result example #47

  • Package path changed
    Now all package name will be started with org.benchmarker.** and by its purpose, org.benchmarker.bmcontroller, org.benchmarker.bmagent, org.benchmarker.bmcommon will be asigned.
  • /bmcontroller/preftest/PreftestController.class will provide Interaction between client and agent.
    • Get sse from agent
    • Send websocket message to client
  • Add some agent test inside bm-controller module
  • ResultManagerService.java will provide safe saving TestResult method with matching id.
  • Common Map interface MapManager.java

@LeeJeongGi 님. agent 에 target server 로 http 전송하는 모듈을 integration 하실 텐데, ResultManagerService.java 내부 필드 ConcurrentHashMap 에 TestResult 값을 저장하시면 자동으로 스케줄러가 읽고 이를 bm-controller 에 전송한답니다!

따라서 agent 의 SseManageService 에 주석처리된 부분에서 HTTP 전송 및 ResultManagerService 의 TestResult 갱신을 작성해주면 될 것 같습니다.

@ghkdqhrbals ghkdqhrbals self-assigned this Mar 21, 2024
@ghkdqhrbals ghkdqhrbals requested a review from LeeJeongGi March 21, 2024 09:37
@backend-tech-forge backend-tech-forge deleted a comment from github-actions bot Mar 21, 2024
Copy link

📝 Test code-coverage reports

File Coverage [79.7%] 🍏
GroupRole.java 100% 🍏
GlobalException.java 100% 🍏
GlobalErrorResponse.java 100% 🍏
ErrorCode.java 100% 🍏
JsonMapper.java 100% 🍏
SseManageConsts.java 100% 🍏
AbstractSseManageService.java 100% 🍏
SchedulerStatus.java 100% 🍏
ScheduledTaskService.java 100% 🍏
URLConsts.java 100% 🍏
WebSocketConfig.java 100% 🍏
PasswordEncoderConfig.java 100% 🍏
TestTemplateRequestDto.java 100% 🍏
DataLoader.java 100% 🍏
UserInfo.java 100% 🍏
UserRegisterDto.java 100% 🍏
TemplateResult.java 100% 🍏
TestTemplate.java 100% 🍏
LoginService.java 100% 🍏
ResultManagerService.java 100% 🍏
UserContext.java 100% 🍏
AbstractUserService.java 100% 🍏
AbstractTestTemplateService.java 100% 🍏
BaseTime.java 100% 🍏
UserServiceUtils.java 100% 🍏
BMUserDetails.java 100% 🍏
BMAccessDeniedHandler.java 100% 🍏
BMAuthenticationEntryPoint.java 100% 🍏
BMUserDetailsService.java 100% 🍏
UserGroup.java 100% 🍏
UserGroupJoin.java 100% 🍏
User.java 100% 🍏
LoginApiController.java 100% 🍏
LoginRequestInfo.java 100% 🍏
JsonConfig.java 100% 🍏
GlobalControllerAdvice.java 97.65% 🍏
RandomUtils.java 96.67% 🍏
JwtTokenProvider.java 93.67% 🍏
Role.java 93.44% 🍏
TestTemplateService.java 92.91% 🍏
GroupService.java 90.28% 🍏
CookieUtil.java 89.36% 🍏
DateUtil.java 89.29% 🍏
UserApiController.java 84.91% 🍏
UserService.java 84.23% 🍏
TestTemplateApiController.java 81.97% 🍏
SseManageService.java 73.88% 🍏
AbstractScheduledTaskService.java 73.33% 🍏
JwtAuthFilter.java 67.71% 🍏
GlobalRestControllerAdvice.java 66.67% 🍏
GroupApiController.java 63.77% 🍏
GlobalExceptionHandler.java 63.64% 🍏
WebSecurityConfig.java 61.48% 🍏
HomeController.java 60% 🍏
BmAgentApplication.java 37.5%
BmCommonApplication.java 37.5%
AdminUserController.java 26.67%
NoOp.java 25%
AgentApiController.java 16%
LoginController.java 11.43%
GroupController.java 3.77%
PerftestController.java 3.7%
UserController.java 3.1%
ISseManageService.java 0%
AgentStatus.java 0%
NoOp.java 0%
Total Project Coverage 79.61% 🍏

@LeeJeongGi
Copy link
Member

네넵! 안그래도 통째로 옮길필요 없이 TestResult 만 잘 리턴하게해주면 되겠다 생각하고 있었습니다!!
변경된 소스가 많아서 한번 pull 받아서 해봐야겠네요 :)

@ghkdqhrbals
Copy link
Member Author

네넵! 안그래도 통째로 옮길필요 없이 TestResult 만 잘 리턴하게해주면 되겠다 생각하고 있었습니다!! 변경된 소스가 많아서 한번 pull 받아서 해봐야겠네요 :)

많이 변경되었을 거에요. 중간에 문제 있으시면 바로 공유해주시면 같이 해결하겠습니다.

Copy link
Member

@LeeJeongGi LeeJeongGi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

대부분 파일이 import 부분만 변경되서 금방 봤네요!!

Result 구현 하는 부분에 제가 타겟서버 호출하는 기능 후딱 작업 진행하겠씁니다.
항상 작업에 많은 시간투자해주셔서 감사드립니다 :) (최고)

@ghkdqhrbals ghkdqhrbals merged commit 1ed9ba0 into develop Mar 21, 2024
1 check passed
@ghkdqhrbals ghkdqhrbals deleted the feature/websocket-controller branch March 21, 2024 13:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants