Skip to content

Commit

Permalink
Merge upstream and update generated code for v1441
Browse files Browse the repository at this point in the history
  • Loading branch information
stripe-openapi[bot] committed Jan 13, 2025
2 parents 463efa5 + 36b1c7c commit 80c41a7
Show file tree
Hide file tree
Showing 4 changed files with 84 additions and 3 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ jobs:

test:
name: Test (${{ matrix.ruby-version }})
runs-on: ubuntu-latest
# this is needed because our JRuby test version isnt supported on ubuntu-24 (which is now ubuntu-latest)
runs-on: ubuntu-22.04
strategy:
matrix:
ruby-version: [2.3, 2.4, 2.5, 2.6, 2.7, '3.0', 3.1, 3.2, '3.3', jruby-9.4.0.0, truffleruby-head]
Expand Down
24 changes: 22 additions & 2 deletions lib/stripe/thin_event.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,26 @@
# frozen_string_literal: true

module Stripe
class EventReasonRequest
attr_reader :id, :idempotency_key

def initialize(event_reason_request_payload = {})
@id = event_reason_request_payload[:id]
@idempotency_key = event_reason_request_payload[:idempotency_key]
end
end

class EventReason
attr_reader :type, :request

def initialize(event_reason_payload = {})
@type = event_reason_payload[:type]
@request = EventReasonRequest.new(event_reason_payload[:request])
end
end

class ThinEvent
attr_reader :id, :type, :created, :context, :related_object
attr_reader :id, :type, :created, :context, :related_object, :livemode, :reason

def initialize(event_payload = {})
@id = event_payload[:id]
Expand All @@ -11,7 +29,9 @@ def initialize(event_payload = {})
@context = event_payload[:context]
@livemode = event_payload[:livemode]
@related_object = event_payload[:related_object]
@reason = event_payload[:reason]
return if event_payload[:reason].nil?

@reason = EventReason.new(event_payload[:reason])
end
end
end
26 changes: 26 additions & 0 deletions test/stripe/generated_examples_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5459,6 +5459,32 @@ class CodegennedExampleTest < Test::Unit::TestCase
)
assert_requested :post, "#{Stripe::DEFAULT_API_BASE}/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_payment_intent"
end
should "Test terminal readers process setup intent post" do
Stripe::Terminal::Reader.process_setup_intent(
"tmr_xxxxxxxxxxxxx",
{
setup_intent: "seti_xxxxxxxxxxxxx",
allow_redisplay: "always",
}
)
assert_requested :post, "#{Stripe.api_base}/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_setup_intent"
end
should "Test terminal readers process setup intent post (service)" do
stub_request(
:post,
"#{Stripe::DEFAULT_API_BASE}/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_setup_intent"
).to_return(body: "{}")
client = StripeClient.new("sk_test_123")

client.v1.terminal.readers.process_setup_intent(
"tmr_xxxxxxxxxxxxx",
{
setup_intent: "seti_xxxxxxxxxxxxx",
allow_redisplay: "always",
}
)
assert_requested :post, "#{Stripe::DEFAULT_API_BASE}/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_setup_intent"
end
should "Test test helpers customers fund cash balance post" do
Stripe::Customer::TestHelpers.fund_cash_balance(
"cus_123",
Expand Down
34 changes: 34 additions & 0 deletions test/stripe/v2_event_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,26 @@ def retrieve_event(evt_id)
},
}.to_json

@v2_push_payload_with_livemode_and_reason = {
"id" => "evt_234",
"object" => "v2.core.event",
"type" => "v1.billing.meter.error_report_triggered",
"created" => "2022-02-15T00:27:45.330Z",
"related_object" => {
"id" => "mtr_123",
"type" => "billing.meter",
"url" => "/v1/billing/meters/mtr_123",
},
"livemode" => true,
"reason" => {
"type" => "a.b.c",
"request" => {
"id" => "r_123",
"idempotency_key" => "key",
},
},
}.to_json

@v2_pull_payload = {
"id" => "evt_234",
"object" => "v2.core.event",
Expand Down Expand Up @@ -76,6 +96,20 @@ def retrieve_event(evt_id)
assert_equal "evt_234", event.id
assert_equal "v1.billing.meter.error_report_triggered", event.type
assert_equal "2022-02-15T00:27:45.330Z", event.created
assert_nil event.reason
end

should "parse v2 events with livemode and reason" do
event = parse_signed_event(@v2_push_payload_with_livemode_and_reason)
assert event.is_a?(Stripe::ThinEvent)
assert_equal "evt_234", event.id
assert_equal "v1.billing.meter.error_report_triggered", event.type
assert_equal "2022-02-15T00:27:45.330Z", event.created
assert_true event.livemode
assert_not_nil event.reason
assert_equal "a.b.c", event.reason.type
assert_equal "r_123", event.reason.request.id
assert_equal "key", event.reason.request.idempotency_key
end

should "raise a JSON::ParserError from an invalid JSON payload" do
Expand Down

0 comments on commit 80c41a7

Please sign in to comment.