Sha256: a538ae7ab6c7394679c8b7364f460f1a080d4f2471ec9c55df742d642db5f495

Contents?: true

Size: 1.97 KB

Versions: 7

Compression:

Stored size: 1.97 KB

Contents

require File.join(File.dirname(__FILE__),'..','spec_helper')

describe "Ping Android" do
  it_should_behave_like "SpecBootstrapHelper"
  it_should_behave_like "SourceAdapterHelper"
  
  before do
    @params = {"device_pin" => @c.device_pin,
      "sources" => [@s.name], "message" => 'hello world', 
      "vibrate" => '5', "badge" => '5', "sound" => 'hello.mp3'}
    post = mock('post')
    post.stub!(:new).and_return(post)
    post.stub!(:set_form_data)
    Net::HTTP::Post.stub!(:new).and_return(post)
    
    @http = mock('http')
    @http.stub!(:request)
    @http.stub!(:use_ssl=)
    @http.stub!(:verify_mode=)
    @http.stub!(:start).and_yield(@http)
    Net::HTTP.stub!(:new).and_return(@http)
  end
  
  it "should ping android" do
    Android.ping(@params)
  end
  
  it "should ping android with connection error" do
    error = 'Connection refused'
    @http.stub!(:request).and_return { raise SocketError.new(error) }
    Android.should_receive(:log).once.with("Error while sending ping: #{error}")
    lambda { Android.ping(@params) }.should raise_error(SocketError,error)
  end
  
  it "should compute c2d_message" do
    expected = {'registration_id' => @c.device_pin, 'collapse_key' => "RAND_KEY",
      'data.do_sync' => @s.name,
      'data.alert' => "hello world",
      'data.vibrate' => '5',
      'data.sound' => "hello.mp3"}
    actual = Android.c2d_message(@params)
    actual['collapse_key'] = "RAND_KEY" unless actual['collapse_key'].nil?
    actual.should == expected
  end
  
  it "should trim empty or nil params from c2d_message" do
    expected = {'registration_id' => @c.device_pin, 'collapse_key' => "RAND_KEY",
      'data.vibrate' => '5', 'data.do_sync' => '', 'data.sound' => "hello.mp3"}
    params = {"device_pin" => @c.device_pin,
      "sources" => [], "message" => '', "vibrate" => '5', "sound" => 'hello.mp3'}
    actual = Android.c2d_message(params)
    actual['collapse_key'] = "RAND_KEY" unless actual['collapse_key'].nil?
    actual.should == expected
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rhosync-2.1.7 spec/ping/android_spec.rb
rhosync-2.1.6 spec/ping/android_spec.rb
rhosync-2.1.3 spec/ping/android_spec.rb
rhosync-2.1.2 spec/ping/android_spec.rb
rhosync-2.1.1 spec/ping/android_spec.rb
rhosync-2.1.0 spec/ping/android_spec.rb
rhosync-2.1.0.beta.2 spec/ping/android_spec.rb