Sha256: 79066d50026450f469df1cbfd68a2c610b6f3165e55e96a3234b16eeeea6f2ea

Contents?: true

Size: 1.41 KB

Versions: 10

Compression:

Stored size: 1.41 KB

Contents

require "helpers/integration_test_helper"
require "helpers/client_helper"
require "securerandom"

class TestComputeAddressShared < FogIntegrationTest
  DEFAULT_REGION = "us-central1".freeze
  ADDRESS_RESOURCE_PREFIX = "fog-test-address".freeze

  include ClientHelper

  def delete_test_resources
    client = Fog::Compute::Google.new
    addresses = client.addresses.all(:region => DEFAULT_REGION)
    unless addresses.nil?
      addresses
        .select { |a| a.name.start_with?(ADDRESS_RESOURCE_PREFIX) }
        .each do |a|
          Fog.wait_for do
            unless a.ready?
              false
            end

            begin
              client.delete_address(a.name, DEFAULT_REGION)
            rescue ::Google::Apis::ClientError => e
              if e.status_code == 400 || e.status_code == 404
                return e.status_code == 404
              end
              raise e
            else
              true
            end
          end
        end
    end
  end

  attr_reader :client

  def setup
    @client = Fog::Compute::Google.new
  end

  def teardown
    delete_test_resources
  end

  def new_address_name
    "#{ADDRESS_RESOURCE_PREFIX}-#{SecureRandom.uuid}"
  end

  def some_address_name
    # created lazily to speed tests up
    @some_address ||= new_address_name.tap do |a|
      result = @client.insert_address(a, DEFAULT_REGION)
      Fog.wait_for { operation_finished?(result) }
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
fog-google-1.3.3 test/integration/compute/addresses/addresses_shared.rb
fog-google-1.3.2 test/integration/compute/addresses/addresses_shared.rb
fog-google-1.3.1 test/integration/compute/addresses/addresses_shared.rb
fog-google-1.3.0 test/integration/compute/addresses/addresses_shared.rb
fog-google-1.2.2 test/integration/compute/addresses/addresses_shared.rb
fog-google-1.2.1 test/integration/compute/addresses/addresses_shared.rb
fog-google-1.2.0 test/integration/compute/addresses/addresses_shared.rb
fog-google-1.1.0 test/integration/compute/addresses/addresses_shared.rb
fog-google-1.0.1 test/integration/compute/addresses/addresses_shared.rb
fog-google-1.0.0 test/integration/compute/addresses/addresses_shared.rb