public function testAllowReservationUpdates()
 {
     $workerCapability = new Services_Twilio_TaskRouter_Worker_Capability('AC123', 'foobar', 'WS456', 'WK789');
     $workerCapability->allowActivityUpdates();
     $workerCapability->allowReservationUpdates();
     $token = $workerCapability->generateToken();
     $payload = JWT::decode($token, 'foobar');
     $this->assertEquals('AC123', $payload->iss);
     $this->assertEquals('AC123', $payload->account_sid);
     $this->assertEquals('WK789', $payload->channel);
     $this->assertEquals('WS456', $payload->workspace_sid);
     $this->assertEquals('WK789', $payload->worker_sid);
     $this->assertEquals('v1', $payload->version);
     $policies = $payload->policies;
     $this->assertEquals(9, count($policies));
     $this->assertEquals('https://taskrouter.twilio.com/v1/Workspaces/WS456/Tasks/**', $policies[7]->url);
     $this->assertEquals('POST', $policies[7]->method);
     $this->assertEquals(new stdClass(), $policies[7]->query_filter);
     $this->assertEquals(new stdClass(), $policies[7]->post_filter);
     $this->assertEquals(true, $policies[7]->allow);
     $this->assertEquals('https://taskrouter.twilio.com/v1/Workspaces/WS456/Workers/WK789/Reservations/**', $policies[8]->url);
     $this->assertEquals('POST', $policies[8]->method);
     $this->assertEquals(new stdClass(), $policies[8]->query_filter);
     $this->assertEquals(new stdClass(), $policies[8]->post_filter);
     $this->assertEquals(true, $policies[8]->allow);
 }