-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsimulator.rb
More file actions
36 lines (30 loc) · 868 Bytes
/
simulator.rb
File metadata and controls
36 lines (30 loc) · 868 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
require 'faraday'
require 'json'
require 'debugger'
HOSTNAME = "localhost:8080"
event_id = ARGV[0]
def buy_tickets(event_id, number)
result = Faraday.post "http://#{HOSTNAME}/api/orders?event_id=#{event_id}"
order = JSON.parse(result.body)
id = order["id"]
ticket_reserve = "http://#{HOSTNAME}/api/orders/#{id}.json?type=best&num="
ticket_purchase = "http://#{HOSTNAME}/api/orders/#{id}/purchase.json?email_address=qwikstubs@gmail.com"
Faraday.put (ticket_reserve + number.to_s)
sleep(Random.rand(15))
Faraday.post ticket_purchase
end
threads = (1..8).map do |number|
Thread.start do
(0..(50/number)).each do |i|
buy_tickets(event_id, number)
sleep(Random.rand(10))
end
(0..(57/number)).each do |i|
buy_tickets(event_id, number)
sleep(Random.rand(10))
end
end
end
threads.each do |th|
th.join
end