From 7fbbdcb5a37ef25ba5c7d30a1b8be68a443acb6d Mon Sep 17 00:00:00 2001 From: oleghasjanov Date: Wed, 14 May 2025 13:56:09 +0300 Subject: [PATCH] refactoring --- .../repp/v1/certificates_controller.rb | 2 -- .../repp/v1/certificates/create_test.rb | 17 ----------------- test/models/certificate_test.rb | 7 ------- 3 files changed, 26 deletions(-) diff --git a/app/controllers/repp/v1/certificates_controller.rb b/app/controllers/repp/v1/certificates_controller.rb index 0d92b4f27..707bb1f9a 100644 --- a/app/controllers/repp/v1/certificates_controller.rb +++ b/app/controllers/repp/v1/certificates_controller.rb @@ -24,13 +24,11 @@ module Repp @certificate = @api_user.certificates.build(csr: csr) - # Проверяем наличие CSR if csr.blank? @certificate.errors.add(:base, I18n.t(:crt_or_csr_must_be_present)) return handle_non_epp_errors(@certificate) end - # В тестах пропускаем валидацию CSR параметров, но только если CSR не 'invalid' if Rails.env.test? && cert_params[:csr][:body] != 'invalid' result = @certificate.save(validate: false) else diff --git a/test/integration/repp/v1/certificates/create_test.rb b/test/integration/repp/v1/certificates/create_test.rb index 476339eac..7ead82706 100644 --- a/test/integration/repp/v1/certificates/create_test.rb +++ b/test/integration/repp/v1/certificates/create_test.rb @@ -13,21 +13,9 @@ class ReppV1CertificatesCreateTest < ActionDispatch::IntegrationTest end def test_creates_new_api_user_certificate_and_informs_admins - # Отладка - декодируем CSR и проверяем CN - csr_base64 = request_body[:certificate][:csr][:body] - csr_decoded = Base64.decode64(csr_base64) - puts "Decoded CSR: #{csr_decoded}" - puts "User username: #{@user.username}" - assert_difference('Certificate.count') do assert_difference 'ActionMailer::Base.deliveries.size', +1 do post repp_v1_certificates_path, headers: @auth_headers, params: request_body - - # Добавляем отладочный вывод - if response.status != 200 - puts "Response status: #{response.status}" - puts "Response body: #{response.body}" - end end end json = JSON.parse(response.body, symbolize_names: true) @@ -49,11 +37,6 @@ class ReppV1CertificatesCreateTest < ActionDispatch::IntegrationTest } post repp_v1_certificates_path, headers: @auth_headers, params: request_body - - # Отладочный вывод - puts "Response status: #{response.status}" - puts "Response body: #{response.body}" - json = JSON.parse(response.body, symbolize_names: true) assert_response :bad_request diff --git a/test/models/certificate_test.rb b/test/models/certificate_test.rb index c00ef7f59..b6ba7a1bc 100644 --- a/test/models/certificate_test.rb +++ b/test/models/certificate_test.rb @@ -78,26 +78,19 @@ class CertificateTest < ActiveSupport::TestCase end def test_validation_in_controller_context - # Проверяем, что валидация работает при интеграции с контроллером - # Здесь мы эмулируем logику контроллера - api_user = @certificate.api_user - # Устанавливаем неправильное имя пользователя api_user.update!(username: 'different_username') - # Создаем CSR, который не будет соответствовать имени пользователя cert = Certificate.new( api_user: api_user, csr: @certificate.csr ) - # В продакшн среде должна работать валидация Rails.env.stub :test?, false do assert_not cert.save assert_includes cert.errors.full_messages, I18n.t(:csr_common_name_must_match_username) end - # В тестовой среде должна быть возможность пропустить валидацию assert cert.save(validate: false) end end