public function testBlockCipher() { $documentManager = $this->documentManager; $testDoc = new Simple(); $testDoc->setName('Toby'); $documentManager->persist($testDoc); $documentManager->flush(); $id = $testDoc->getId(); $documentManager->clear(); $repository = $documentManager->getRepository(get_class($testDoc)); $testDoc = $repository->find($id); $this->assertNotEquals('Toby', $testDoc->getName()); BlockCipherService::decryptDocument($testDoc, $documentManager->getClassMetadata(get_class($testDoc))); $this->assertEquals('Toby', $testDoc->getName()); $testDoc->setName('Lucy'); $documentManager->flush(); $documentManager->clear(); $testDoc = $repository->find($id); $this->assertNotEquals('Lucy', $testDoc->getName()); BlockCipherService::decryptDocument($testDoc, $documentManager->getClassMetadata(get_class($testDoc))); $this->assertEquals('Lucy', $testDoc->getName()); }
public function testUpdateIdentity() { $documentManager = $this->documentManager; $this->routeMatch->setParam('id', 'lucy'); $this->request->setMethod(Request::METHOD_PUT); $this->request->getHeaders()->addHeader(GenericHeader::fromString('Content-type: application/json')); $this->request->setContent('{ "lastname":"Smiles", "email":"*****@*****.**" }'); $result = $this->getController()->dispatch($this->request, $this->response); $returnArray = $result->getVariables(); $this->assertEquals('lucy', $returnArray['identityName']); $this->assertEquals('Smiles', $returnArray['lastname']); //load the identity from db $documentManager->clear(); $repository = $documentManager->getRepository($this->controller->getOptions()->getDocumentClass()); $identity = $repository->findOneBy(['identityName' => 'lucy']); $this->assertTrue(isset($identity)); $this->assertEquals('Smiles', $identity->getLastname()); $this->assertEquals('Lucy', $identity->getFirstname()); $this->assertNotEquals('*****@*****.**', $identity->getEmail()); //check that the email can be retireved BlockCipherService::decryptDocument($identity, $documentManager->getClassMetadata($this->controller->getOptions()->getDocumentClass())); $this->assertEquals('*****@*****.**', $identity->getEmail()); }