Sha256: 0c3f0068bcbc5be5cdb5c5d4b4dccb5600d90423837434cc7fd8f682ff9c576f

Contents?: true

Size: 1.16 KB

Versions: 11

Compression:

Stored size: 1.16 KB

Contents

module TestCollection
  # Anything that includes TestCollection must, during setup, assign @subject and @factory, where
  #   @subject is the collection under test, (e.g. Fog::Compute[:google].servers)
  #   @factory is a CollectionFactory

  def test_lifecycle
    one = @subject.new(@factory.params)
    one.save
    two = @subject.create(@factory.params)

    # XXX HACK compares identities
    # should be replaced with simple includes? when `==` is properly implemented in fog-core; see fog/fog-core#148
    assert_includes @subject.all.map(&:identity), one.identity
    assert_includes @subject.all.map(&:identity), two.identity

    assert_equal one.identity, @subject.get(one.identity).identity
    assert_equal two.identity, @subject.get(two.identity).identity

    one.destroy
    two.destroy

    Fog.wait_for { !@subject.all.map(&:identity).include? one.identity }
    Fog.wait_for { !@subject.all.map(&:identity).include? two.identity }
  end

  def test_get_returns_nil_if_resource_does_not_exist
    assert_nil @subject.get('fog-test-fake-identity')
  end

  def test_enumerable
    assert_respond_to @subject, :each
  end

  def teardown
    @factory.cleanup
  end
end

Version data entries

11 entries across 9 versions & 3 rubygems

Version Path
vagrant-packet-0.1.1 vendor/bundle/ruby/2.5.0/gems/fog-google-0.1.0/test/helpers/test_collection.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.4.0/gems/fog-google-0.1.0/test/helpers/test_collection.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.3.0/gems/fog-google-0.1.0/test/helpers/test_collection.rb
fog-google-0.1.3 test/helpers/test_collection.rb
fog-google-0.1.2 test/helpers/test_collection.rb
fog-google-0.1.1 test/helpers/test_collection.rb
fog-google-0.1.0 test/helpers/test_collection.rb
fog-google-0.0.9 test/helpers/test_collection.rb
vagrant-cloudstack-1.2.0 vendor/bundle/gems/fog-google-0.0.7/test/helpers/test_collection.rb
fog-google-0.0.7 test/helpers/test_collection.rb
fog-google-0.0.6 test/helpers/test_collection.rb