Sha256: 288117ad4b1c609aa5d16bbb37733def5139faa893d8abea86c57774d11cb8ea

Contents?: true

Size: 1.67 KB

Versions: 3

Compression:

Stored size: 1.67 KB

Contents

require 'helper'

class TestLiveRemote < Test::Unit::TestCase
  def setup
    super
    {
      'http://data.brighterplanet.com/datasets.json'              => { 'datasets' => %w{ LiveRemoteDataset } },
      'http://impact.brighterplanet.com/emitters.json'            => { 'emitters' => %w{ LiveRemoteEmitter } },
      'http://certified.impact.brighterplanet.com/emitters.json'  => { 'emitters' => %w{ LiveRemoteCertifiedEmitter } },
      'http://data.brighterplanet.com/resources.json'             => { 'resources' => %w{ LiveRemoteResource } },
      'http://impact.brighterplanet.com/protocols.json'           => { 'protocols' => { 'fooprotocol' => 'Foo Protocol' } },
    }.each do |url, hsh|
      WebMock.stub_request(:get, url).to_return(:status => 200, :body => MultiJson.encode(hsh))
    end
  end
    
  def test_refresh
    assert ::BrighterPlanet.metadata.emitters.include?('LiveRemoteEmitter')
    WebMock.stub_request(:get, 'http://impact.brighterplanet.com/emitters.json').to_return(:status => 200, :body => MultiJson.encode({ 'emitters' => %w{LiveRemoteRefreshedEmitter}}))

    # still the old value because it's cached...
    assert ::BrighterPlanet.metadata.emitters.include?('LiveRemoteEmitter')

    BrighterPlanet.metadata.refresh
    assert ::BrighterPlanet.metadata.emitters.include?('LiveRemoteRefreshedEmitter')
  end
  
  %w{
    datasets
    emitters
    certified_emitters
    resources
  }.each do |kind|
    eval %{
      def test_#{kind}
        assert ::BrighterPlanet.metadata.#{kind}.include?('LiveRemote#{kind.camelcase.singularize}')
      end
    }
  end
  
  def test_protocols
    assert ::BrighterPlanet.metadata.protocols.values.include?('Foo Protocol')
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
brighter_planet_metadata-0.2.1 test/test_live_remote.rb
brighter_planet_metadata-0.2.0 test/test_live_remote.rb
brighter_planet_metadata-0.1.1 test/test_live_remote.rb