Skip to content

Commit

Permalink
Discard changes to spec/features/avo/h_q_spec.rb
Browse files Browse the repository at this point in the history
  • Loading branch information
adrianthedev authored Oct 31, 2023
1 parent 20403fd commit 9b99cae
Showing 1 changed file with 204 additions and 0 deletions.
204 changes: 204 additions & 0 deletions spec/features/avo/h_q_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
# require "rails_helper"
# WebMock.disable_net_connect!

# RSpec.feature "Avo::Licensing::HQ", type: :feature do
# describe ".response" do
# let(:request) { DummyRequest.new "127.0.0.1", "avodemo.herokuapp.test", 3001 }
# subject(:response) { Avo::Licensing::HQ.new(request).response }

# context "with community license" do
# before do
# Avo.configure do |config|
# config.license = "community"
# end
# end

# context "with valid response" do
# before do
# stub_request(:post, Avo::Licensing::HQ::ENDPOINT).with(body: hash_including({
# license: "community"
# }.stringify_keys)).to_return(status: 200, body: {id: "community", valid: true}.to_json, headers: json_headers)
# end

# it { is_expected.to include({id: "community", valid: true, expiry: 1.hour, license: "community", license_key: "license_123", environment: "test", ip: "127.0.0.1", host: "avodemo.herokuapp.test", port: 3001}.as_json) }

# it "caches the result" do
# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).to be nil

# subject

# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).not_to be nil
# end

# describe "when runs multiple times" do
# it "runs the request once" do
# subject
# subject
# subject

# expect(stub_request(:post, Avo::Licensing::HQ::ENDPOINT).with(body: hash_including({
# license: "community"
# }.stringify_keys))).to have_been_made.once
# end
# end
# end

# context "with 500 response" do
# before do
# stub_request(:post, Avo::Licensing::HQ::ENDPOINT).with(body: hash_including({
# license: "community"
# }.stringify_keys)).to_return({status: 500, body: "HQ Internal Server Error."}.as_json)
# end

# it "caches the error" do
# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).to be nil

# subject

# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).to include({error: "Avo HQ Internal server error.", exception_message: "HQ Internal Server Error.", expiry: 5.minutes}.as_json)
# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).not_to include :valid
# end
# end

# context "with connection timeout error" do
# before do
# stub_request(:post, Avo::Licensing::HQ::ENDPOINT).with(body: hash_including({
# license: "community"
# }.stringify_keys)).to_timeout
# end

# it "caches the error" do
# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).to be nil

# subject

# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).to include({error: "Request timeout.", exception_message: "execution expired", expiry: 5.minutes}.as_json)
# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).not_to include :valid
# end

# describe "when config for display is false" do
# let(:url) { "/admin/custom_tool/" }

# before do
# Avo.configure do |config|
# config.display_license_request_timeout_error = false
# end
# end

# it "does not display the error" do
# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).to be nil

# subject

# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).to include({error: "Request timeout.", exception_message: "execution expired", expiry: 5.minutes}.as_json)
# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).not_to include :valid

# visit url

# expect(page).not_to have_text "Avo HQ Error"
# expect(page).not_to have_text "Request timeout."
# expect(page).not_to have_text "Checking back every 5 minutes."
# end
# end

# describe "when config for display is true" do
# let(:url) { "/admin/custom_tool/" }

# before do
# Avo.configure do |config|
# config.display_license_request_timeout_error = true
# end
# end

# it "does not display the error" do
# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).to be nil

# subject

# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).to include({error: "Request timeout.", exception_message: "execution expired", expiry: 5.minutes}.as_json)
# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).not_to include :valid

# # visit url

# # expect(page).to have_text "Avo HQ Error"
# # expect(page).to have_text "Request timeout."
# # expect(page).to have_text "Checking back every 5 minutes."
# end
# end

# it "caches the error" do
# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).to be nil

# subject

# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).to include({error: "Request timeout.", exception_message: "execution expired", expiry: 5.minutes}.as_json)
# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).not_to include :valid
# end
# end

# context "with connection error" do
# before do
# stub_request(:post, Avo::Licensing::HQ::ENDPOINT).with(body: hash_including({
# license: "community"
# }.stringify_keys)).to_raise SocketError.new "Connection error!"
# end

# it "caches the error" do
# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).to be nil

# subject

# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).to include({error: "Connection error.", exception_message: "Connection error!", expiry: 5.minutes}.as_json)
# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).not_to include :valid
# end
# end

# context "with SSL error" do
# before do
# stub_request(:post, Avo::Licensing::HQ::ENDPOINT).with(body: hash_including({
# license: "community"
# }.stringify_keys)).to_raise OpenSSL::SSL::SSLError.new "SSL_connect"
# end

# it "caches the error" do
# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).to be nil

# subject

# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).to include({error: "OpenSSL error.", exception_message: "SSL_connect", expiry: 5.minutes}.as_json)
# expect(Rails.cache.read(Avo::Licensing::HQ.cache_key)).not_to include :valid
# end
# end
# end

# context "with pro license" do
# before do
# Avo.configure do |config|
# config.license = "pro"
# end
# end

# context "with valid response" do
# before do
# stub_request(:post, Avo::Licensing::HQ::ENDPOINT).with(body: hash_including({
# license: "pro",
# license_key: "license_123"
# }.stringify_keys)).to_return(status: 200, body: {id: "pro", valid: true}.to_json, headers: json_headers)
# end

# it { is_expected.to include({id: "pro", valid: true, expiry: 1.hour, license: "pro", license_key: "license_123", environment: "test", ip: "127.0.0.1", host: "avodemo.herokuapp.test", port: 3001}.as_json) }
# end

# context "with invalid response" do
# before do
# stub_request(:post, Avo::Licensing::HQ::ENDPOINT).with(body: hash_including({
# license: "pro",
# license_key: "license_123"
# }.stringify_keys)).to_return(status: 200, body: {id: "pro", valid: false}.to_json, headers: json_headers)
# end

# it { is_expected.to include({id: "pro", valid: false, expiry: 1.hour, license: "pro", license_key: "license_123", environment: "test", ip: "127.0.0.1", host: "avodemo.herokuapp.test", port: 3001}.as_json) }
# end
# end
# end
# end

0 comments on commit 9b99cae

Please sign in to comment.