[#13] 일관된 테스트 결과를 위한 테스트 진행 과정 변경 #14

Merged
pricelees merged 2 commits from infra/#13 into main 2025-06-27 10:47:49 +00:00
5 changed files with 25 additions and 25 deletions

49
run.sh
View File

@ -3,13 +3,7 @@ echo "0. 실행 중인 모든 컨테이너 종료"
find docker/ -name 'docker-compose*.yml' -exec docker compose -f {} down --remove-orphans \; find docker/ -name 'docker-compose*.yml' -exec docker compose -f {} down --remove-orphans \;
echo "0. SSL 인증서 생성" echo "0. SSL 인증서 생성"
if command -v keytool &> /dev/null ./keygen.sh
then
echo "keytool이 설치되어 있습니다. keytool을 실행합니다..."
./keygen.sh
else
echo "keytool이 설치되어 있지 않습니다. 업로드된 파일을 그대로 사용합니다."
fi
echo " " echo " "
echo "======================" echo "======================"
@ -43,44 +37,49 @@ echo "======================"
echo " " echo " "
echo "4. 애플리케이션 실행 및 테스트" echo "4. 애플리케이션 실행 및 테스트"
echo "[4-1] PLAINTEXT 모드" echo "[4-1] PLAINTEXT 모드"
echo "[4-1] 토픽 초기화 및 초기 레코드 추가"
./gradlew clean test --tests "com.sangdol.consumer.test.TestUtils.deleteAllExistTopics"
./gradlew clean test --tests "com.sangdol.consumer.test.TestUtils.produceRecords"
rm docker/.env rm docker/.env
echo "RUN_ENVIRONMENT=docker" > docker/.env echo "RUN_ENVIRONMENT=docker" > docker/.env
echo "CONSUMER_PROTOCOL=plaintext" >> docker/.env echo "CONSUMER_PROTOCOL=plaintext" >> docker/.env
echo "[4-1] 애플리케이션 실행"
docker compose -f docker/docker-compose-application.yml up -d docker compose -f docker/docker-compose-application.yml up -d
echo "[4-1] 실행 후 30초 대기..."
sleep 30
echo "[4-1] 테스트 시작"
./gradlew clean test --tests "com.sangdol.consumer.test.TestUtils.produceRecords"
echo "[4-1] 테스트 완료. SSL 모드 실행 전 2분 대기.."
sleep 120
echo "[4-1] 토픽 초기화.." echo "[4-1] 2분 대기후 애플리케이션 종료"
./gradlew clean test --tests "com.sangdol.consumer.test.TestUtils.deleteAllExistTopics" sleep 120
docker logs client-app > app-plaintext.log
docker compose -f docker/docker-compose-application.yml down
echo "카프카 브로커 재시작 후 30초 대기.."
docker compose -f docker/docker-compose-kafka-cluster.yml down
docker compose -f docker/docker-compose-kafka-cluster.yml up -d
sleep 30
echo " " echo " "
echo "---------------------" echo "---------------------"
echo " " echo " "
echo "[4-2] SSL 모드" echo "[4-2] SSL 모드"
echo "[4-2] 토픽 초기화 및 초기 레코드 추가"
./gradlew clean test --tests "com.sangdol.consumer.test.TestUtils.deleteAllExistTopics"
./gradlew clean test --tests "com.sangdol.consumer.test.TestUtils.produceRecords"
rm docker/.env rm docker/.env
echo "RUN_ENVIRONMENT=docker" > docker/.env echo "RUN_ENVIRONMENT=docker" > docker/.env
echo "CONSUMER_PROTOCOL=ssl" >> docker/.env echo "CONSUMER_PROTOCOL=ssl" >> docker/.env
echo "[4-2] 애플리케이션 재시작" echo "[4-2] 애플리케이션 실행"
docker compose -f docker/docker-compose-application.yml down docker compose -f docker/docker-compose-application.yml down
docker compose -f docker/docker-compose-application.yml up -d docker compose -f docker/docker-compose-application.yml up -d
echo "[4-2] 실행 후 30초 대기..." echo "[4-2] 2분 대기 후 애플리케이션 종료"
sleep 30
echo "[4-2] 테스트 시작"
./gradlew clean test --tests "com.sangdol.consumer.test.TestUtils.produceRecords"
echo "[4-2] 이전과 동일하게 2분 대기 후 애플리케이션 종료.."
sleep 120 sleep 120
docker logs client-app > app-ssl.log
docker compose -f docker/docker-compose-application.yml down docker compose -f docker/docker-compose-application.yml down
echo " " echo " "
@ -92,4 +91,6 @@ echo "ID: admin / PW: admin"
echo "Consumer: http://localhost:3000/d/-C-IEldWk2/redpanda-kafka-java-consumer" echo "Consumer: http://localhost:3000/d/-C-IEldWk2/redpanda-kafka-java-consumer"
echo "Springboot: http://localhost:3000/d/spring_boot_21/spring-boot-2-1-system-monitor" echo "Springboot: http://localhost:3000/d/spring_boot_21/spring-boot-2-1-system-monitor"
echo "Kafka UI: http://localhost:8000" echo "Kafka UI: http://localhost:8000"
echo "애플리케이션 로그는 동일 경로의 app-plaintext.log, app-ssl.log 파일에서 확인할 수 있습니다."
echo "확인이 끝났다면 ./close-all.sh 를 실행하여 초기화 가능합니다." echo "확인이 끝났다면 ./close-all.sh 를 실행하여 초기화 가능합니다."

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1 +0,0 @@
abcd1234