1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
<?php
use \Mockery as m;
class UsageTriggersTest extends PHPUnit_Framework_TestCase { function testRetrieveTrigger() { $http = m::mock(new Services_Twilio_TinyHttp); $http->shouldReceive('get')->once() ->with('/2010-04-01/Accounts/AC123/Usage/Triggers/UT123.json') ->andReturn(array(200, array('Content-Type' => 'application/json'), json_encode(array( 'sid' => 'UT123', 'date_created' => 'Tue, 09 Oct 2012 19:27:24 +0000', 'recurring' => null, 'usage_category' => 'totalprice', )) )); $client = new Services_Twilio('AC123', '456bef', '2010-04-01', $http); $usageSid = 'UT123'; $usageTrigger = $client->account->usage_triggers->get($usageSid); $this->assertSame('totalprice', $usageTrigger->usage_category); }
protected $formHeaders = array('Content-Type' => 'application/x-www-form-urlencoded');
function testUpdateTrigger() { $http = m::mock(new Services_Twilio_TinyHttp); $usageSid = 'UT123'; $http->shouldReceive('post')->once() ->with('/2010-04-01/Accounts/AC123/Usage/Triggers/UT123.json', $this->formHeaders, 'FriendlyName=new') ->andReturn(array(200, array('Content-Type' => 'application/json'), json_encode(array( 'friendly_name' => 'new', 'sid' => 'UT123', 'uri' => '/2010-04-01/Accounts/AC123/Usage/Triggers/UT123.json' )) )); $http->shouldReceive('get')->once() ->with('/2010-04-01/Accounts/AC123/Usage/Triggers/UT123.json') ->andReturn(array(200, array('Content-Type' => 'application/json'), json_encode(array( 'sid' => 'UT123', 'friendly_name' => 'new', )) )); $client = new Services_Twilio('AC123', '456bef', '2010-04-01', $http); $usageTrigger = $client->account->usage_triggers->get($usageSid); $usageTrigger->update(array( 'FriendlyName' => 'new', )); $usageTrigger2 = $client->account->usage_triggers->get($usageSid); $this->assertSame('new', $usageTrigger2->friendly_name); }
function testFilterTriggerList() { $http = m::mock(new Services_Twilio_TinyHttp); $params = 'Page=0&PageSize=50&UsageCategory=sms'; $http->shouldReceive('get')->once() ->with('/2010-04-01/Accounts/AC123/Usage/Triggers.json?' . $params) ->andReturn(array(200, array('Content-Type' => 'application/json'), json_encode(array('usage_triggers' => array( array( 'usage_category' => 'sms', 'current_value' => '4', 'trigger_value' => '100.30', ), array( 'usage_category' => 'sms', 'current_value' => '4', 'trigger_value' => '400.30', )), 'next_page_uri' => '/2010-04-01/Accounts/AC123/Usage/Triggers.json?UsageCategory=sms&Page=1&PageSize=50', )) )); $params = 'UsageCategory=sms&Page=1&PageSize=50'; $http->shouldReceive('get')->once() ->with('/2010-04-01/Accounts/AC123/Usage/Triggers.json?' . $params) ->andReturn(array(400, array('Content-Type' => 'application/json'), '{"status":400,"message":"foo", "code": "20006"}' )); $client = new Services_Twilio('AC123', '456bef', '2010-04-01', $http); foreach ($client->account->usage_triggers->getIterator( 0, 50, array( 'UsageCategory' => 'sms', )) as $trigger ) { $this->assertSame($trigger->current_value, "4"); } }
function testCreateTrigger() { $http = m::mock(new Services_Twilio_TinyHttp); $params = 'UsageCategory=sms&TriggerValue=100&CallbackUrl=foo'; $http->shouldReceive('post')->once() ->with('/2010-04-01/Accounts/AC123/Usage/Triggers.json', $this->formHeaders, $params) ->andReturn(array(201, array('Content-Type' => 'application/json'), json_encode(array( 'usage_category' => 'sms', 'sid' => 'UT123', 'uri' => '/2010-04-01/Accounts/AC123/Usage/Triggers/UT123.json' )) )); $client = new Services_Twilio('AC123', '456bef', '2010-04-01', $http); $trigger = $client->account->usage_triggers->create( 'sms', '100', 'foo' ); $this->assertSame('sms', $trigger->usage_category); } }
|