21 $ri = $this->getMockForAbstractClass(
'Guzzle\\Service\\Resource\\ResourceIterator', array(
29 $this->assertEquals(
false, $ri->getNextToken());
30 $this->assertEquals(
false, $ri->current());
38 "HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"g\", \"resources\": [\"d\", \"e\", \"f\"] }",
39 "HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"j\", \"resources\": [\"g\", \"h\", \"i\"] }",
40 "HTTP/1.1 200 OK\r\nContent-Length: 41\r\n\r\n{ \"next_token\": \"\", \"resources\": [\"j\"] }"
49 $this->assertEquals(0, count($this->
getServer()->getReceivedRequests(
false)));
53 $requests = $this->
getServer()->getReceivedRequests(
true);
54 $this->assertEquals(3, count($requests));
56 $this->assertEquals(3, $requests[0]->getQuery()->
get(
'page_size'));
57 $this->assertEquals(3, $requests[1]->getQuery()->
get(
'page_size'));
58 $this->assertEquals(3, $requests[2]->getQuery()->
get(
'page_size'));
63 "HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"g\", \"resources\": [\"d\", \"e\", \"f\"] }",
64 "HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"j\", \"resources\": [\"g\", \"h\", \"i\"] }",
65 "HTTP/1.1 200 OK\r\nContent-Length: 41\r\n\r\n{ \"next_token\": \"\", \"resources\": [\"j\"] }",
69 foreach ($ri as $data) {
72 $this->assertEquals(array(
'd',
'e',
'f',
'g',
'h',
'i',
'j'), $d);
79 "HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"g\", \"resources\": [\"d\", \"e\", \"f\"] }",
80 "HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"j\", \"resources\": [\"g\", \"h\", \"i\"] }",
81 "HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"j\", \"resources\": [\"j\", \"k\"] }"
89 $this->assertEquals(array(
'd',
'e',
'f',
'g',
'h',
'i',
'j'), $ri->toArray());
90 $requests = $this->
getServer()->getReceivedRequests(
true);
91 $this->assertEquals(3, count($requests));
92 $this->assertEquals(3, $requests[0]->getQuery()->
get(
'page_size'));
93 $this->assertEquals(3, $requests[1]->getQuery()->
get(
'page_size'));
94 $this->assertEquals(1, $requests[2]->getQuery()->
get(
'page_size'));
101 "HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"g\", \"resources\": [\"d\", \"e\", \"f\"] }",
102 "HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"\", \"resources\": [\"g\", \"h\", \"i\"] }"
108 $this->assertEquals(0, $ri->key());
109 $this->assertEquals(0, count($ri));
113 foreach ($ri as $key => $value) {
114 $data[$key] = $value;
118 $this->assertEquals(6, count($ri));
119 $this->assertEquals(array(
'd',
'e',
'f',
'g',
'h',
'i'), $data);
126 "HTTP/1.1 200 OK\r\n\r\n{ \"next_token\": \"g\", \"resources\": [\"d\", \"e\", \"f\"] }",
127 "HTTP/1.1 200 OK\r\n\r\n{ \"next_token\": \"\", \"resources\": [] }"
133 $data = $ri->toArray();
136 $this->assertEquals(3, count($ri));
137 $this->assertEquals(array(
'd',
'e',
'f'), $data);
139 $this->assertEquals(2, $ri->getRequestCount());
145 $this->assertNull($ri->get(
'foo'));
146 $this->assertSame($ri, $ri->set(
'foo',
'bar'));
147 $this->assertEquals(
'bar', $ri->get(
'foo'));
154 "HTTP/1.1 200 OK\r\n\r\n{ \"next_token\": \"\", \"resources\": [\"d\", \"e\", \"f\"] }",
155 "HTTP/1.1 200 OK\r\n\r\n{ \"next_token\": \"\", \"resources\": [\"d\", \"e\", \"f\"] }",
156 "HTTP/1.1 200 OK\r\n\r\n{ \"next_token\": \"\", \"resources\": [\"d\", \"e\", \"f\"] }"
161 $this->assertNotEmpty($this->readAttribute($ri,
'resources'));
164 $this->assertEmpty($this->readAttribute($ri,
'resources'));
167 $this->assertNotEmpty($this->readAttribute($ri,
'resources'));
168 $ri->setPageSize(10);
169 $this->assertEmpty($this->readAttribute($ri,
'resources'));
176 "HTTP/1.1 200 OK\r\n\r\n{ \"next_token\": \"\", \"resources\": [\"d\", \"e\", \"f\"] }"
179 $a = new \Guzzle\Iterator\AppendIterator();
181 $results = iterator_to_array($a,
false);
182 $this->assertEquals(4, $ri->calledNext);