mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-18 20:59:39 +02:00
Benchmarking setup (#2366)
* Benchmarking setup * Get demo data working in benchmark scenario * Finalize default demo scenario * Finalize benchmarking setup
This commit is contained in:
parent
cdad31812a
commit
84b2426e54
23 changed files with 1477 additions and 2166 deletions
37
perf.rake
Normal file
37
perf.rake
Normal file
|
@ -0,0 +1,37 @@
|
|||
# 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@maybe.local")
|
||||
|
||||
puts "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}"
|
||||
|
||||
puts "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
|
Loading…
Add table
Add a link
Reference in a new issue