Beispiel #1
0
 public function testExecute()
 {
     $session1 = new UserOnline();
     $session1->setUser('admin');
     $session1->setSessionId('session1id');
     // must be deleted
     $session1->setLastOnline(time() - 200);
     $session2 = new UserOnline();
     $session2->setUser('derp');
     $session2->setSessionId('session2id');
     // must be deleted
     $session2->setLastOnline(time() - 320);
     $session3 = new UserOnline();
     $session3->setUser('derp');
     $session3->setSessionId('session3id');
     // must NOT be deleted
     $session3->setLastOnline(time() - 10);
     $this->container['UserOnlineMapper'] = $this->getMockBuilder('\\OCA\\Chat\\OCH\\Db\\UserOnlineMapper')->disableOriginalConstructor()->getMock();
     $this->container['UserOnlineMapper']->expects($this->any())->method('getAll')->will($this->returnValue(array($session1, $session2, $session3)));
     $this->container['UserOnlineMapper']->expects($this->any())->method('deleteBySessionId')->will($this->returnCallback(function ($sessionId) {
         SyncOnlineTest::$sessionIds[] = $sessionId;
     }));
     $synConline = new SyncOnline($this->container);
     $synConline->setRequestData(array());
     $result = $synConline->execute();
     $this->assertEquals(array('session1id', 'session2id'), SyncOnlineTest::$sessionIds);
 }
Beispiel #2
0
 public function execute()
 {
     $requestData = $this->getRequestData();
     $sessionId = $this->generateSessionId($requestData['timestamp']);
     $userOnline = new UserOnline();
     $userOnline->setUser($requestData['user']['id']);
     $userOnline->setSessionId($sessionId);
     $userOnline->setLastOnline($requestData['timestamp']);
     $this->userOnlineMapper->insert($userOnline);
     // The user is now online
     // send a push message to every user to inform this
     $command = json_encode(array('type' => 'online', 'data' => array('user' => $this->requestData['user'], 'timestamp' => $this->requestData['timestamp'])));
     $this->pushMessageMapper->createForAllSessions($this->requestData['user']['id'], $command);
     return array("session_id" => $sessionId);
 }
Beispiel #3
0
 public function testUserOnlineMapperInsert()
 {
     $this->container['UserOnlineMapper'] = $this->getMockBuilder('\\OCA\\Chat\\OCH\\Db\\UserOnlineMapper')->disableOriginalConstructor()->getMock();
     $this->container['UserOnlineMapper']->expects($this->any())->method('insert')->will($this->returnCallback(function ($userOnline) {
         GreetTest::$userOnline = $userOnline;
     }));
     $time = time();
     $greet = new Greet($this->container);
     $greet->setRequestData(array('timestamp' => $time, 'user' => array('id' => 'admin', 'online' => false, 'displayname' => 'admin', 'backends' => array('och' => array('id' => NULL, 'displayname' => 'ownCloud Handle', 'protocol' => 'x-owncloud-handle', 'namespace' => 'och', 'value' => 'admin')), 'address_book_id' => 'admin', 'address_book_backend' => 'localusers')));
     $greet->execute();
     $expectedUserOnline = new UserOnline();
     $expectedUserOnline->setUser('admin');
     $expectedUserOnline->setSessionId(md5("sessionID" . $time));
     $expectedUserOnline->setLastOnline($time);
     $this->assertEquals($expectedUserOnline, GreetTest::$userOnline);
 }
Beispiel #4
0
 public function getOnlineUsersProvider()
 {
     $user1 = new UserOnline();
     $user1->setUser('foo');
     $user1->setLastOnline(time() - 34);
     $user1->setSessionId(md5(time() - 32575334));
     $user2 = new UserOnline();
     $user2->setUser('foo');
     $user2->setLastOnline(time() - 42352);
     $user2->setSessionId(md5(time() - 75698));
     $user3 = new UserOnline();
     $user3->setUser('bar');
     $user3->setLastOnline(time() - 346574);
     $user3->setSessionId(md5(time() - 4567));
     return array(array(array($user1, $user2, $user3)));
 }
Beispiel #5
0
 public function findSessionsByConversationProvider()
 {
     $convId = md5(time() - 354235);
     $sessionId1 = md5(time() + rand(0, 1000));
     $sessionId2 = md5(time() + rand(0, 1000));
     $user1 = new User();
     $user1->setUser('foo');
     $user1->setConversationId($convId);
     $user1->setJoined(time() - 3434);
     $user2 = new User();
     $user2->setUser('bar');
     $user2->setConversationId($convId);
     $user2->setJoined(time() - 4345675);
     $session1 = new UserOnline();
     $session1->setSessionId($sessionId1);
     $session1->setUser('foo');
     $session1->setLastOnline(time() - 400);
     $session2 = new UserOnline();
     $session2->setSessionId($sessionId2);
     $session2->setUser('bar');
     $session2->setLastOnline(time() - 3435);
     return array(array(array($user1, $user2), array($session1, $session2), $convId, $sessionId1, $sessionId2));
 }