It hasn't been necessary to use create_with_id since
ebc79622df
, in December 2024.
I have plans to introduce:
```ruby
def create_with_id(id, values)
obj = new(values)
obj.id = id
obj.save_changes
end
```
This will make it easier to use the same id when creating
multiple objects. The first step is removing the existing
uses of create_with_id.
44 lines
1.6 KiB
Ruby
44 lines
1.6 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require_relative "spec_helper"
|
|
|
|
require "json"
|
|
|
|
RSpec.describe Page do
|
|
subject(:p) { described_class.create(tag: "dummy-tag") }
|
|
|
|
describe "#trigger" do
|
|
before do
|
|
expect(Config).to receive(:pagerduty_key).and_return("dummy-key").at_least(:once)
|
|
stub_request(:post, "https://events.pagerduty.com/v2/enqueue")
|
|
.to_return(status: 200, body: {dedup_key: "dummy-dedup-key", message: "Event processed", status: "success"}.to_json, headers: {})
|
|
end
|
|
|
|
it "triggers a page in Pagerduty if key is present" do
|
|
expect(p).to receive(:details).and_return({}).at_least(:once)
|
|
p.trigger
|
|
end
|
|
|
|
it "triggers a page with custom_details" do
|
|
expect(p).to receive(:details).and_return({"related_resources" => ["a410a91a-dc31-4119-9094-3c6a1fb49601"]}).at_least(:once)
|
|
p.trigger
|
|
end
|
|
|
|
it "triggers a page with custom_details and log link" do
|
|
expect(Config).to receive(:pagerduty_log_link).and_return("https://logviewer.com?q=<ubid>").at_least(:once)
|
|
expect(p).to receive(:details).and_return({"related_resources" => ["a410a91a-dc31-4119-9094-3c6a1fb49601"]}).at_least(:once)
|
|
p.trigger
|
|
end
|
|
end
|
|
|
|
describe "#resolve" do
|
|
it "resolves the page in Pagerduty if key is present" do
|
|
expect(Config).to receive(:pagerduty_key).and_return("dummy-key").at_least(:once)
|
|
stub_request(:post, "https://events.pagerduty.com/v2/enqueue")
|
|
.to_return(status: 200, body: {dedup_key: "dummy-dedup-key", message: "Event processed", status: "success"}.to_json, headers: {})
|
|
|
|
p.resolve
|
|
end
|
|
end
|
|
end
|