# frozen_string_literal: true require "json" require "digest" require "net/http" require "uri" base, report_path = ARGV report = JSON.parse(File.read(report_path)) site = URI(base) home = Net::HTTP.get_response(site) abort "포럼 응답 확인 실패: HTTP #{home.code}" unless home.is_a?(Net::HTTPSuccess) report.fetch("bundles").each do |bundle, expected| uri = URI.join(base, expected.fetch("url")) abort "예상하지 않은 번역 서버 주소" unless uri.host == site.host response = Net::HTTP.get_response(uri) abort "#{bundle} 번역 요청 실패: HTTP #{response.code}" unless response.is_a?(Net::HTTPSuccess) abort "#{bundle} 웹 번역이 실행 원본과 다릅니다." unless Digest::SHA256.hexdigest(response.body) == expected.fetch("sha256") end puts "포럼 HTTP 200과 실제 사용자 화면 및 관리자 화면 번역 묶음 확인 완료"