require 'nokogiri' require 'securerandom' require 'fileutils' class LettingsTestController < ApplicationController def index folder = '/Users/mohseeadmin/development-meta/CORE/CLDC-1222' stash_folder = Time.now.to_i.to_s generate_fixtures(folder, stash_folder, 500) LettingsLog.connection.truncate(LettingsLog.table_name) Imports::LettingsLogsImportService.new(Storage::S3Service).local_load("#{folder}/#{stash_folder}") end def node(xml_document, namespace, field) xml_document.at_xpath("//#{namespace}:#{field}") end def generate_fixtures(folder, stash_folder, num_files) #folder = '/Users/mohseeadmin/development-meta/CORE/CLDC-1222/' canonical_logfiles = %w[canonical_logfile1.xml canonical_logfile2.xml canonical_logfile3.xml] FileUtils.mkdir_p("#{folder}/#{stash_folder}") (1..num_files).each do |i| xml_document = Nokogiri::XML(File.read("#{folder.chomp('/')}/#{canonical_logfiles.sample}")) document_id = node(xml_document, 'meta', 'document-id') new_guid = SecureRandom.uuid.to_s document_id.content = new_guid File.open("#{folder.chomp('/')}/#{stash_folder}/#{new_guid}.xml", 'w') { |f| f.puts xml_document } end end end