Sha256: f1c7a3329b8d1167cd3f75bfb30268dbee9809cadfe72eb73ac7b8a7190c4f51
Contents?: true
Size: 1.51 KB
Versions: 125
Compression:
Stored size: 1.51 KB
Contents
module KnapsackPro module Crypto class Decryptor class TooManyEncryptedTestFilesError < StandardError; end def self.call(test_files, encrypted_test_files) if KnapsackPro::Config::Env.test_files_encrypted? new(test_files, encrypted_test_files).call else # those test files are not encrypted encrypted_test_files end end def initialize(test_files, encrypted_test_files) @test_files = test_files @encrypted_test_files = encrypted_test_files end def call decrypted_test_files = [] test_files.each do |test_file| encrypted_path = Digestor.salt_hexdigest(test_file['path']) encrypted_test_file = find_encrypted_test_file(encrypted_path) next if encrypted_test_file.nil? decrypted_test_file = encrypted_test_file.dup decrypted_test_file['path'] = test_file['path'] decrypted_test_files << decrypted_test_file end decrypted_test_files end private attr_reader :test_files, :encrypted_test_files def find_encrypted_test_file(encrypted_path) test_files = encrypted_test_files.select do |t| t['path'] == encrypted_path end if test_files.size == 1 test_files.first elsif test_files.size > 1 raise TooManyEncryptedTestFilesError.new("Found more than one encrypted test file for encrypted path #{encrypted_path}") end end end end end
Version data entries
125 entries across 125 versions & 1 rubygems