urbanairship-ruby 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,79 @@
1
+ require 'spec_helper'
2
+
3
+ describe Urbanairship::Response do
4
+
5
+ before do
6
+ FakeWeb.allow_net_connect = false
7
+ end
8
+
9
+ context "#code" do
10
+ subject { Urbanairship.register_device("new_device_token") }
11
+
12
+ before do
13
+ FakeWeb.register_uri(:put, "https://my_app_key:my_app_secret@go.urbanairship.com/api/device_tokens/new_device_token", :status => ["201", "Created"])
14
+ FakeWeb.register_uri(:put, /bad_key\:my_app_secret\@go\.urbanairship\.com/, :status => ["401", "Unauthorized"])
15
+ Urbanairship.application_secret = "my_app_secret"
16
+ end
17
+
18
+ it "should be set correctly on new registraion token" do
19
+ Urbanairship.application_key = "my_app_key"
20
+ subject.code.should eql '201'
21
+ end
22
+
23
+ it "should set correctly on unauthhorized" do
24
+ Urbanairship.application_key = "bad_key"
25
+ subject.code.should eql '401'
26
+ end
27
+ end
28
+
29
+ context "#success?" do
30
+ subject { Urbanairship.register_device("new_device_token") }
31
+
32
+ before do
33
+ FakeWeb.register_uri(:put, "https://my_app_key:my_app_secret@go.urbanairship.com/api/device_tokens/new_device_token", :status => ["201", "Created"])
34
+ FakeWeb.register_uri(:put, /bad_key\:my_app_secret\@go\.urbanairship\.com/, :status => ["401", "Unauthorized"])
35
+ Urbanairship.application_secret = "my_app_secret"
36
+ end
37
+
38
+ it "should be true with good key" do
39
+ Urbanairship.application_key = "my_app_key"
40
+ subject.success?.should == true
41
+ end
42
+
43
+ it "should be false with bad key" do
44
+ Urbanairship.application_key = "bad_key"
45
+ subject.success?.should == false
46
+ end
47
+ end
48
+
49
+ context "body array accessor" do
50
+ subject { Urbanairship.feedback(Time.now) }
51
+
52
+ before do
53
+ FakeWeb.register_uri(:get, /my_app_key\:my_master_secret\@go\.urbanairship.com\/api\/device_tokens\/feedback/, :status => ["200", "OK"], :body => "[{\"device_token\":\"token\",\"marked_inactive_on\":\"2010-10-14T19:15:13Z\",\"alias\":\"my_alias\"},{\"device_token\":\"token2\",\"marked_inactive_on\":\"2010-10-14T19:15:13Z\",\"alias\":\"my_alias\"}]")
54
+ Urbanairship.application_secret = "my_app_secret"
55
+ Urbanairship.application_key = "my_app_key"
56
+ Urbanairship.master_secret = "my_master_secret"
57
+ end
58
+
59
+ it "should set up correct indexes" do
60
+ subject[0]['device_token'].should eql "token"
61
+ subject[1]['device_token'].should eql "token2"
62
+ end
63
+ end
64
+
65
+ context "non array response" do
66
+ subject { Urbanairship.feedback(Time.now) }
67
+
68
+ before do
69
+ FakeWeb.register_uri(:get, /my_app_key\:my_master_secret\@go\.urbanairship.com\/api\/device_tokens\/feedback/, :status => ["200", "OK"], :body => "{\"device_token\":\"token\",\"marked_inactive_on\":\"2010-10-14T19:15:13Z\",\"alias\":\"my_alias\"}")
70
+ Urbanairship.application_secret = "my_app_secret"
71
+ Urbanairship.application_key = "my_app_key"
72
+ Urbanairship.master_secret = "my_master_secret"
73
+ end
74
+
75
+ it "should set up correct keys" do
76
+ subject['device_token'].should eql "token"
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,17 @@
1
+ require 'base64'
2
+ require 'fakeweb'
3
+
4
+ require File.join(File.dirname(__FILE__), '/../lib/urbanairship')
5
+
6
+
7
+ RSpec.configure do |config|
8
+ config.after(:each) do
9
+ # reset configuration
10
+ Urbanairship.application_key = nil
11
+ Urbanairship.application_secret = nil
12
+ Urbanairship.master_secret = nil
13
+ Urbanairship.logger = nil
14
+
15
+ FakeWeb.instance_variable_set("@last_request", nil)
16
+ end
17
+ end