Files
sure/perf.rake
Juan José Mata 5706280dd7 More rebranding changes (#159)
* Replace Maybe for Sure in select code areas

* Make sure passwords are consistent

* Remove (admin|member) from demo data first name

* Database and schema names finally to `sure`

* Fix broken test

* Another (benchmarking) database name to `sure_*`

* More rebranding to Sure

* Missed this Maybe mention in the same page

* Random nitpicks and more Maybes

* Demo data accounts and more Maybes

* Test data account updates

* Impersonation test accounts

* Consistency with `compose.example.yml`
2025-09-24 00:19:51 +02:00

38 lines
1.1 KiB
Ruby

# Must be in root of repo for derailed_benchmarks to read the benchmark file
require 'bundler'
Bundler.setup
require 'derailed_benchmarks'
require 'derailed_benchmarks/tasks'
# Custom auth helper for Maybe's session-based authentication
class CustomAuth < DerailedBenchmarks::AuthHelper
def setup
# No setup needed
end
def call(env)
# Make sure this user is created in the DB with realistic data before running benchmarks
user = User.find_by!(email: "user@example.com")
Rails.logger.debug "Found user for benchmarking: #{user.email}"
# Mimic the way Rails handles browser cookies
session = user.sessions.create!
key_generator = Rails.application.key_generator
secret = key_generator.generate_key('signed cookie')
verifier = ActiveSupport::MessageVerifier.new(secret)
signed_value = verifier.generate(session.id)
env['HTTP_COOKIE'] = "session_token=#{signed_value}"
Rails.logger.debug "Setting up session for user: #{user.email}"
app.call(env)
end
end
# Tells derailed_benchmarks to use our custom auth helper
DerailedBenchmarks.auth = CustomAuth.new