Ejemplo n.º 1
0
 /**
  * Authenticate with the Whatsapp Server.
  *
  * @param  Connection $connection
  * @param  Identity   $identity
  * @param  string     $challengeData
  * @return string     Returns binary string
  */
 protected function getAuthData(Connection $connection, Identity $identity, $challengeData)
 {
     $keys = KeyStream::generateKeys(base64_decode($identity->getPassword()), $challengeData);
     $connection->setInputKey($this->createKeyStream($keys[2], $keys[3]));
     $connection->setOutputKey($this->createKeyStream($keys[0], $keys[1]));
     $array = "" . $identity->getPhone()->getPhoneNumber() . $challengeData;
     $response = $connection->getOutputKey()->encodeMessage($array, 0, 4, strlen($array) - 4);
     return $response;
 }
Ejemplo n.º 2
0
 public function testSettersAndGetters()
 {
     $adapterMock = m::mock('Tmv\\WhatsApi\\Connection\\Adapter\\AdapterInterface');
     $adapterMock2 = m::mock('Tmv\\WhatsApi\\Connection\\Adapter\\AdapterInterface');
     $nodeReaderMock = m::mock('Tmv\\WhatsApi\\Protocol\\BinTree\\NodeReader');
     $nodeWriterMock = m::mock('Tmv\\WhatsApi\\Protocol\\BinTree\\NodeWriter');
     $keyStreamMock = m::mock('Tmv\\WhatsApi\\Protocol\\KeyStream');
     $object = new Connection($adapterMock);
     $this->assertEquals($adapterMock, $object->getAdapter());
     $object->setAdapter($adapterMock2);
     $this->assertEquals($adapterMock2, $object->getAdapter());
     // Lazy loading
     $this->assertInstanceOf('Tmv\\WhatsApi\\Protocol\\BinTree\\NodeReader', $object->getNodeReader());
     $this->assertInstanceOf('Tmv\\WhatsApi\\Protocol\\BinTree\\NodeWriter', $object->getNodeWriter());
     $object->setNodeReader($nodeReaderMock);
     $this->assertEquals($nodeReaderMock, $object->getNodeReader());
     $object->setNodeWriter($nodeWriterMock);
     $this->assertEquals($nodeWriterMock, $object->getNodeWriter());
     $object->setInputKey($keyStreamMock);
     $this->assertEquals($keyStreamMock, $object->getInputKey());
     $object->setOutputKey($keyStreamMock);
     $this->assertEquals($keyStreamMock, $object->getOutputKey());
 }