/**
  * Tests JsonDbOpensocialService->getActivities() with paging.
  */
 public function testGetActivities()
 {
     $token = BasicSecurityToken::createFromValues('jane.doe', 'jane.doe', 1, 1, 1, 1);
     $userId = new UserId('owner', null);
     $userIds = array($userId);
     $groupId = new GroupId('self', null);
     $startIndex = 1;
     $count = 1;
     $ret = $this->service->getActivities($userIds, $groupId, 1, null, null, null, null, $startIndex, $count, null, 1, $token);
     $this->assertEquals($startIndex, $ret->startIndex);
     $this->assertEquals($count, count($ret->entry));
     $this->assertEquals(2, $ret->totalResults);
     $this->assertEquals('2', $ret->entry[0]['id']);
     $this->assertEquals('Jane says George likes yoda!', $ret->entry[0]['title']);
     $this->assertEquals('or is it you?', $ret->entry[0]['body']);
 }
 public function testActivityLifeCycle()
 {
     $token = BasicSecurityToken::createFromValues('jane.doe', 'jane.doe', 1, 1, 1, 1, 'default');
     $userId = new UserId('owner', null);
     $userIds = array($userId);
     $groupId = new GroupId('self', null);
     $title = 'activity life cycle unit test title';
     $activity = array('id' => '1', 'userId' => 'userId', 'title' => $title);
     $ret = $this->service->getActivities($userIds, $groupId, 1, null, null, null, null, 0, 4, null, 1, $token);
     $this->assertEquals(2, count($ret->entry));
     $this->service->createActivity($userId, $groupId, $token->getAppId(), null, $activity, $token);
     $ret = $this->service->getActivities($userIds, $groupId, 1, null, null, null, null, 0, 4, null, 1, $token);
     $this->assertEquals(3, count($ret->entry));
     $id = null;
     foreach ($ret->entry as $entity) {
         if ($entity['title'] == $title) {
             $id = $entity['id'];
         }
     }
     $this->assertNotNull($id);
     $this->service->deleteActivities($userId, $groupId, $token->getAppId(), array($id), $token);
     $ret = $this->service->getActivities($userIds, $groupId, 1, null, null, null, null, 0, 4, null, 1, $token);
     $this->assertEquals(2, count($ret->entry));
 }
 /**
  * Tests JsonDbOpensocialService->getActivities()
  */
 public function testGetActivities()
 {
     $userId = new UserId('viewer', null);
     $groupId = new GroupId('self', null);
     //With existing data
     $token = BasicSecurityToken::createFromValues('canonical', 'canonical', 'app', 'domain', 'appUrl', '1');
     $responseItem = $this->JsonDbOpensocialService->getActivities($userId, $groupId, null, null, $token);
     $response = $responseItem->getResponse();
     $entry = $response->getEntry();
     $this->assertEquals(2, $response->getTotalResults());
     $this->assertEquals(2, count($entry));
     $this->assertEquals(1, $entry[0]['appId']);
     $this->assertEquals('Went rafting', $entry[0]['body']);
     $this->assertEquals(1, $entry[0]['bodyId']);
     $this->assertEquals('http://www.example.org/123456', $entry[0]['externalId']);
     $this->assertEquals(1, $entry[0]['id']);
     $this->assertEquals('2008-06-06T12:12:12Z', $entry[0]['updated']);
     $this->assertEquals('image/*', $entry[0]['mediaItems'][0]['mimeType']);
     $this->assertEquals('image', $entry[0]['mediaItems'][0]['type']);
     $this->assertEquals('http://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Rafting_em_Brotas.jpg/800px-Rafting_em_Brotas.jpg', $entry[0]['mediaItems'][0]['url']);
     $this->assertEquals('audio/mpeg', $entry[0]['mediaItems'][1]['mimeType']);
     $this->assertEquals('audio', $entry[0]['mediaItems'][1]['type']);
     $this->assertEquals('http://www.archive.org/download/testmp3testfile/mpthreetest.mp3', $entry[0]['mediaItems'][1]['url']);
     $this->assertEquals(1111111111, $entry[0]['postedTime']);
     $this->assertEquals(0.7, $entry[0]['priority']);
     $this->assertEquals('http://upload.wikimedia.org/wikipedia/commons/0/02/Nuvola_apps_edu_languages.gif', $entry[0]['streamFaviconUrl']);
     $this->assertEquals('http://www.example.org/canonical/streamsource', $entry[0]['streamSourceUrl']);
     $this->assertEquals('All my activities', $entry[0]['streamTitle']);
     $this->assertEquals('http://www.example.org/canonical/activities', $entry[0]['streamUrl']);
     $this->assertEquals(true, $entry[0]['templateParams']['small']);
     $this->assertEquals('and got wet', $entry[0]['templateParams']['otherContent']);
     $this->assertEquals('My trip', $entry[0]['title']);
     $this->assertEquals(1, $entry[0]['titleId']);
     $this->assertEquals('http://www.example.org/canonical/activities/1', $entry[0]['url']);
     $this->assertEquals('canonical', $entry[0]['userId']);
     //With non existing data
     $token = BasicSecurityToken::createFromValues('notexists', 'notexists', 'app', 'domain', 'appUrl', '1');
     $responseItem = $this->JsonDbOpensocialService->getActivities($userId, $groupId, null, null, $token);
     $response = $responseItem->getResponse();
     $this->assertEquals(0, $response->getTotalResults());
     $this->assertEquals(0, count($response->getEntry()));
 }