mambanation 0.0.3 → 0.0.5

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,25 @@
1
+ {
2
+ "total_messages":1,
3
+ "total_pages":1,
4
+ "current_page":1,
5
+ "messages": [
6
+ {
7
+ "type":"think",
8
+ "recipients":[ 1, 2],
9
+ "message":"Salut les gars",
10
+ "origin":1234,
11
+ "application":"mambanation",
12
+ "timestamp":1271176375259,
13
+ "way":"out"
14
+ },
15
+ {
16
+ "type":"think",
17
+ "recipients":[ 1,1234 ],
18
+ "message":"Yop",
19
+ "origin":2,
20
+ "application":"mambanation",
21
+ "timestamp":1271176375259,
22
+ "way":"in"
23
+ }],
24
+ "messages_per_page": 50
25
+ }
@@ -0,0 +1,18 @@
1
+ [
2
+ {
3
+ "name" : "I am dangerous",
4
+ "weight" : 2304
5
+ },
6
+ {
7
+ "name" : "Riche inconnu",
8
+ "weight" : 1374
9
+ },
10
+ {
11
+ "name" : "Beau gosse",
12
+ "weight" : 548
13
+ },
14
+ {
15
+ "name" : "Guide spirituel",
16
+ "weight" : 412
17
+ }
18
+ ]
@@ -1 +1,15 @@
1
- {"facebook_id":null,"facets":[{"status":"active","type":null,"updated_at":1276761896,"equipement":null,"deleted_at":null,"user_id":5,"created_at":1276761896,"fame":"-","gender":null,"name":"b1276761896400393","fingerprint":null,"id":5}],"id":null}
1
+ {
2
+ "facebook_id": "12345678901234",
3
+ "id": 1234,
4
+ "facets" : [{
5
+ "status": "active",
6
+ "type": "Arabic Female",
7
+ "equipement": ["g_s_basket01_yellow", "g_l_jogging01_red", "g_t_blazer01_blue"],
8
+ "created_at": 1265292066,
9
+ "fingerprint": "612a9cdb9bb170c1e67299825be2b898",
10
+ "updated_at": 1270550620,
11
+ "name": "b0876096001265292066",
12
+ "id": 1234,
13
+ "gender": "F"
14
+ }]
15
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "last_login": 1234567890
3
+ }
@@ -0,0 +1,57 @@
1
+ {
2
+ "total_entries": 35,
3
+ "total_pages": 1,
4
+ "page": 1,
5
+ "entries" : [
6
+ {
7
+ "id" : 1,
8
+ "title" : "Explorer",
9
+ "description" : "The Mamberz walked through the MambaNation ...",
10
+ "reward_description" : [ "item_x123", "item_x234", "8 blings", "10 mamba points" ], // will change
11
+ "visuel" : "http://my.domain.com/an_image.jpg", // URL to an image stored somewhere
12
+ "conditions" : [ ... ], // MUST BE DEFINED
13
+ "completed": "1/6",
14
+ "missions" : [
15
+ {
16
+ "status": "completed",
17
+ "available": true,
18
+ "level": 1,
19
+ "description": null,
20
+ "started_at": 1274782884,
21
+ "vibes_reward": 10,
22
+ "completed_at": 1274783247,
23
+ "family": "Adventure",
24
+ "name": "backpacker",
25
+ "mamba_points_reward": 100,
26
+ "mission_id": 1
27
+ },
28
+ {
29
+ "status": "started",
30
+ "available": true,
31
+ "level": 1,
32
+ "description": null,
33
+ "started_at": 1274782884,
34
+ "vibes_reward": 10,
35
+ "completed_at": 0,
36
+ "family": "Discovery",
37
+ "name": "avatar_creation",
38
+ "mamba_points_reward": 100,
39
+ "mission_id": 2
40
+ },
41
+ {
42
+ "status": "pending",
43
+ "available": true,
44
+ "level": 1,
45
+ "description": null,
46
+ "started_at": 0,
47
+ "vibes_reward": 10,
48
+ "completed_at": 0,
49
+ "family": "Challenge",
50
+ "name": "orateur",
51
+ "mamba_points_reward": 100,
52
+ "mission_id": 8
53
+ }
54
+ ]
55
+ }
56
+ ]
57
+ }
@@ -0,0 +1,107 @@
1
+ {
2
+ "total_entries": 35,
3
+ "total_pages": 1,
4
+ "page": 1,
5
+ "entries" : [
6
+ {
7
+ "status": "completed",
8
+ "image" : "http://mydomain.com/my_image.jpg",
9
+ "available": true,
10
+ "level": 1,
11
+ "description": null,
12
+ "reward" : {
13
+ "mamba_points" : 10,
14
+ "vibes" : 10,
15
+ "item" : "item_x123",
16
+ "badge" : {
17
+ "id" : 1,
18
+ "name" : "Star"
19
+ },
20
+ "com" : null,
21
+ "fame" : 10
22
+ }
23
+ "started_at": 1274782884,
24
+ "vibes_reward": 10,
25
+ "completed_at": 1274783247,
26
+ "family": "Adventure",
27
+ "name": "backpacker",
28
+ "mamba_points_reward": 100,
29
+ "mission_id": 1
30
+ },
31
+ {
32
+ "status": "started",
33
+ "image" : "http://mydomain.com/my_image.jpg",
34
+ "available": true,
35
+ "level": 1,
36
+ "description": null,
37
+ "reward" : {
38
+ "mamba_points" : 10,
39
+ "vibes" : 10,
40
+ "item" : "item_x123",
41
+ "badge" : {
42
+ "id" : 1,
43
+ "name" : "Star"
44
+ },
45
+ "com" : "Star numeric",
46
+ "fame" : 10
47
+ }
48
+ "started_at": 1274782884,
49
+ "vibes_reward": 10,
50
+ "completed_at": 0,
51
+ "family": "Discovery",
52
+ "name": "avatar_creation",
53
+ "mamba_points_reward": 100,
54
+ "mission_id": 2
55
+ },
56
+ {
57
+ "status": "pending",
58
+ "image" : "http://mydomain.com/my_image.jpg",
59
+ "available": true,
60
+ "level": 1,
61
+ "description": null,
62
+ "reward" : {
63
+ "mamba_points" : 10,
64
+ "vibes" : 10,
65
+ "item" : "item_x123",
66
+ "badge" : {
67
+ "id" : 1,
68
+ "name" : "Star"
69
+ },
70
+ "com" : null,
71
+ "fame" : 10
72
+ }
73
+ "started_at": 0,
74
+ "vibes_reward": 10,
75
+ "completed_at": 0,
76
+ "family": "Challenge",
77
+ "name": "orateur",
78
+ "mamba_points_reward": 100,
79
+ "mission_id": 8
80
+ },
81
+ {
82
+ "status": "pending",
83
+ "image" : "http://mydomain.com/my_image.jpg",
84
+ "available": false,
85
+ "level": 2,
86
+ "description": null,
87
+ "reward" : {
88
+ "mamba_points" : 10,
89
+ "vibes" : 10,
90
+ "item" : "item_x123",
91
+ "badge" : {
92
+ "id" : 1,
93
+ "name" : "Star"
94
+ },
95
+ "com" : null,
96
+ "fame" : 10
97
+ }
98
+ "started_at": 0,
99
+ "vibes_reward": 10,
100
+ "completed_at": 0,
101
+ "family": "Challenge",
102
+ "name": "social",
103
+ "mamba_points_reward": 100,
104
+ "mission_id": 9
105
+ }
106
+ ]
107
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "created_at": 1267007807,
3
+ "updated_at": 1267007807,
4
+ "attachment": {
5
+ "href": "http://api.sandbox.mambanation.com/v1/",
6
+ "name": "LOVE",
7
+ "media": [
8
+ {
9
+ "expanded_width": "320",
10
+ "swfsrc": "http://api.sandbox.mambanation.com/flv_player.swf?flv=http://d387vg9sga25dr.cloudfront.net/video/1da41a11cf6570642ba9d7c91f2c48_LOVE.flv",
11
+ "imgsrc": "http://d387vg9sga25dr.cloudfront.net/preview/1da41a11cf6570642ba9d7c91f2c48_LOVE.png",
12
+ "type": "flash",
13
+ "expanded_height": "260"
14
+ }
15
+ ]
16
+ },
17
+ "fb_application_id": "293525602735",
18
+ "id": "4b85013f7656db7914000001",
19
+ "uid": "100000436786256",
20
+ "other": {
21
+ "example": "1234"
22
+ },
23
+ "message": "Salut toi, mate cette video !",
24
+ "target_ids": [
25
+ "100000195107250",
26
+ "100000592653443",
27
+ "100000064204868",
28
+ "100000491657497",
29
+ "725944591",
30
+ "100000606276736"
31
+ ],
32
+ "replies" : {
33
+ "100000606276736" : "4b9a0de27656db6ff4000004",
34
+ "100000195107250" : "4b9a0de27656db6ff4000054"
35
+ }
36
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ message: 'message perso',
3
+ attachment: {
4
+ 'name': 'titre',
5
+ 'href': 'url',
6
+ 'caption': 'sous-titre',
7
+ 'description': 'description',
8
+ 'properties': {
9
+ 'property_key': {
10
+ 'text': 'property_text',
11
+ 'href': 'property_url_{{VAR_2}}'
12
+ }
13
+ },
14
+ 'media': [{
15
+ 'type': 'flash',
16
+ 'swfsrc': 'url_flash_{{VAR_1}}',
17
+ 'imgsrc': 'url_action',
18
+ 'width': '90',
19
+ 'height': '90',
20
+ 'expanded_width': '460',
21
+ 'expanded_height': '200'
22
+ }]
23
+ },
24
+ action_links : [{
25
+ 'text':'action_links_text',
26
+ 'href':'link_appli'
27
+ }],
28
+ uid: MambaNation.userId,
29
+ target_ids: {
30
+ uid001 : {
31
+ VAR_1 : 'Texte de remplacement',
32
+ VAR_2 : 'UserSpecificVar'
33
+ },
34
+ uid002 : {
35
+ VAR_1 : 'Texte de remplacement',
36
+ VAR_2 : 'UserSpecificVar'
37
+ }
38
+ },
39
+ other: {
40
+ 'anythingelse' : 'some_text_to_save',
41
+ 'anythingelse' : 'some_text_to_save'
42
+ }
43
+ }
@@ -0,0 +1,5 @@
1
+ [
2
+ "guest",
3
+ "moderator",
4
+ "admin"
5
+ ]
@@ -0,0 +1,9 @@
1
+ {
2
+ errors:
3
+ [
4
+ ["email", "too_short"],
5
+ ["email", "invalid"],
6
+ ["password", "too_short"],
7
+ ["password_confirmation", "too_short"],
8
+ ]
9
+ }
@@ -0,0 +1,70 @@
1
+ {
2
+ sent: [
3
+ {
4
+ "created_at": 1267107614,
5
+ "published_streams": {
6
+ "100000436786256": "100000436786256_105254089499150"
7
+ },
8
+ "updated_at": 1267107616,
9
+ "action_links": {
10
+ "0": {
11
+ "href": "http://apps.facebook.com/mambatemplate?post_id={{post_id}}",
12
+ "text": "Reply !"
13
+ }
14
+ },
15
+ "attachment": {
16
+ "href": "http://api.sandbox.mambanation.com:3001/v1/",
17
+ "name": "NEWYEAR",
18
+ "media": [{
19
+ "expanded_width": "320",
20
+ "swfsrc": "http://api.sandbox.mambanation.com/flv_player.swf?flv=http://d387vg9sga25dr.cloudfront.net/video/1da41a11cf6570642ba9d7c91f2c48_NEWYEAR.flv",
21
+ "imgsrc": "http://d387vg9sga25dr.cloudfront.net/preview/1da41a11cf6570642ba9d7c91f2c48_NEWYEAR.png",
22
+ "type": "flash",
23
+ "expanded_height": "260"
24
+ }]
25
+ },
26
+ "_id": "4b86871ed45037109900001c",
27
+ "fb_application_id": "293415521400",
28
+ "uid": "100000436786256",
29
+ "other": {
30
+ "example": "1234"
31
+ },
32
+ "message": "hihihi",
33
+ "target_ids": ["100000436786256"]
34
+ }
35
+ ], // list of posts sent by the user
36
+ received: [
37
+ {
38
+ "created_at": 1267107614,
39
+ "published_streams": {
40
+ "100000436786256": "100000436786256_105254089499150"
41
+ },
42
+ "updated_at": 1267107616,
43
+ "action_links": {
44
+ "0": {
45
+ "href": "http://apps.facebook.com/mambatemplate?post_id={{post_id}}",
46
+ "text": "Reply !"
47
+ }
48
+ },
49
+ "attachment": {
50
+ "href": "http://api.sandbox.mambanation.com:3001/v1/",
51
+ "name": "NEWYEAR",
52
+ "media": [{
53
+ "expanded_width": "320",
54
+ "swfsrc": "http://api.sandbox.mambanation.com/flv_player.swf?flv=http://d387vg9sga25dr.cloudfront.net/video/1da41a11cf6570642ba9d7c91f2c48_NEWYEAR.flv",
55
+ "imgsrc": "http://d387vg9sga25dr.cloudfront.net/preview/1da41a11cf6570642ba9d7c91f2c48_NEWYEAR.png",
56
+ "type": "flash",
57
+ "expanded_height": "260"
58
+ }]
59
+ },
60
+ "_id": "4b86871ed45037109900001c",
61
+ "fb_application_id": "293415521400",
62
+ "uid": "100000436786256",
63
+ "other": {
64
+ "example": "1234"
65
+ },
66
+ "message": "hihihi",
67
+ "target_ids": ["100000436786256"]
68
+ }
69
+ ] // list of posts received by the user
70
+ }
@@ -1,22 +1,110 @@
1
- require '../test_helper'
2
- require '../../lib/mambanation/base.rb'
3
-
1
+ require File.dirname(__FILE__) + '/../test_helper'
4
2
 
5
3
  class BaseTest < Test::Unit::TestCase
6
- context "base" do
4
+
5
+ context "when connected thru HTTP" do
7
6
  setup do
8
- oauth = Mambanation::OAuth.new("token", "secret")
9
- @access_token = Mambanation::OAuth::AccessToken.new(oauth.consumer, "atoken", "asecret")
10
- oauth.stubs(:access_token).returns(@access_token)
11
- @mambanation = Mambanation::Base.new(oauth)
12
- end
13
-
14
- context "initialize" do
15
- should "require a client" do
16
- @mambanation.client.should respond_to(:get)
17
- @mambanation.client.should respond_to(:post)
18
- end
19
-
7
+ @mambanation = MambaNation::Base.new(MambaNation::HTTPAuth.new("username", "password", :api_endpoint => "api.mambanation.com"))
8
+ end
9
+
10
+ should "have user method for base authenticated calls to get a user's information" do
11
+ stub_get("http://username:password@api.mambanation.com/v2/users/4.json", 'user.json')
12
+ user = @mambanation.user(4)
13
+ user.mamba_level.should == 1
14
+ user.email.should == "tian.jiang01@gmail.com"
15
+ end
16
+
17
+ should "have facet method for base authenticated calls to get a facet's information" do
18
+ stub_get("http://username:password@api.mambanation.com/v2/facets/1.json", 'facet.json')
19
+ facet = @mambanation.facet 1
20
+ facet.user_id.should == 1
21
+ end
22
+
23
+ should "have user_facets method with given user for base authenticated calls to get a user's facet's information" do
24
+ stub_get("http://username:password@api.mambanation.com/v2/users/4/facets.json", 'facets.json')
25
+ facets = @mambanation.user_facets(4)
26
+ facets.facets.count.should == 1
27
+ facets.facebook_id == nil
28
+ end
29
+
30
+ should "have user_friends method with given user for base authenticated calls to get a user's facet's information" do
31
+ stub_get("http://username:password@api.mambanation.com/v2/users/4/friends.json", 'friends.json')
32
+ friends = @mambanation.user_friends(4)
33
+ friends.count.should == 2
34
+ end
35
+
36
+ #media api for user in sdk is not rest
37
+ # should "have user_media method with given user for base authenticated calls to get a user's media's information" do
38
+ # stub_get("http://username:password@api.mambanation.com/v2/users/5/medias.json", '')
39
+ # media
40
+ # end
41
+
42
+ # user_set_websession no more in sdk
43
+ # should "be able to update websession for a user"
44
+ # stub_post("http://username:password@api.mambanation.com/v2/facets/1.json", '')
45
+ # end
46
+
47
+ should "be able to create a user" do
48
+ stub_post("http://username:password@api.mambanation.com/v2/users", 'new_user_status.json')
49
+ response = @mambanation.create_user({"email" => "foofoo@gmail.com", "password" => "foofoo", "password_confirmation" => "foofoo"})
50
+ response.status.should == "ok"
51
+ end
52
+
53
+ should "be able to create a user with a facebook_id" do
54
+ stub_post("http://username:password@api.mambanation.com/v2/users", 'new_user_status.json')
55
+ response = @mambanation.create_user({"facebook_id" => "1474761574"})
56
+ response.status.should == "ok"
57
+ end
58
+
59
+ should "have user find by existing facebook_id" do
60
+ stub_get("http://username:password@api.mambanation.com/v2/users/find_by?facebook_id=1474761574", 'user.json')
61
+ user = @mambanation.user_by_facebook_id 1474761574
62
+ user.mamba_level.should == 1
63
+ user.email.should == "tian.jiang01@gmail.com"
64
+ user.facebook_id.should == 1474761574
65
+ end
66
+
67
+ should "have not found user message when no existing facebook_id" do
68
+ stub_get("http://username:password@api.mambanation.com/v2/users/find_by?facebook_id=12345", 'not_found_user.json')
69
+ user = @mambanation.user_by_facebook_id 12345
70
+ user.message.should == "I can't find this user !"
71
+ end
72
+
73
+ should "have user find by existing email" do
74
+ stub_get("http://username:password@api.mambanation.com/v2/users/find_by?email=tian.jiang01@gmail.com", 'user.json')
75
+ user = @mambanation.user_by_email 'tian.jiang01@gmail.com'
76
+ user.mamba_level.should == 1
77
+ user.email.should == "tian.jiang01@gmail.com"
78
+ user.facebook_id.should == 1474761574
79
+ end
80
+
81
+ should "have not found user message when no existing email" do
82
+ stub_get("http://username:password@api.mambanation.com/v2/users/find_by?email=zahia@gmail.com", 'not_found_user.json')
83
+ user = @mambanation.user_by_email 'zahia@gmail.com'
84
+ user.message.should == "I can't find this user !"
85
+ end
86
+
87
+ should "have last login" do
88
+ stub_get("http://username:password@api.mambanation.com/v2/users/4/last_login.json", 'last_login.json')
89
+ user = @mambanation.user_last_login(4)
90
+ user.last_login.should == 1234567890
91
+ end
92
+
93
+ should "have user chat" do
94
+ stub_get("http://username:password@api.mambanation.com/v2/users/4/chats.json", 'chats.json')
95
+ chats = @mambanation.user_chats(4)
96
+ puts chats.class
97
+ chats.total_messages.should == 1
98
+ chats.total_pages.should == 1
99
+ chats.current_page.should == 1
100
+ chats.messages.size.should == 2
101
+ chats.messages_per_page.should == 50
102
+ end
103
+
104
+ should "have user coms" do
105
+ stub_get("http://username:password@api.mambanation.com/v2/users/4/coms.json", 'coms.json')
106
+ coms = @mambanation.user_coms(4)
107
+ coms.count.should == 4
20
108
  end
21
109
  end
22
110
  end