dateTimeProvider->getTime( 'objects-service.create' ) ); $privateKey = 'a private key'; $object->setPrivateKey( $privateKey ); $this->entityManager->persist( $object ); $this->entityManager->flush(); $now = $this->getTime( 'objects-service.create' ); $expected = new ArrayDataSet( array( 'objects' => array( array( 'id' => 1, 'created' => $now, 'lastUpdated' => $now ), ), 'keys' => array( array( 'id' => 1, 'object_id' => 1, 'key' => $privateKey ) ), ) ); $expectedObjectsTable = $expected->getTable( 'objects' ); $expectedKeysTable = $expected->getTable( 'keys' ); $objectsQueryTable = $this->getConnection()->createQueryTable( 'objects', 'SELECT * FROM objects' ); $keysQueryTable = $this->getConnection()->createQueryTable( 'keys', 'SELECT * FROM keys' ); $this->assertTablesEqual( $expectedObjectsTable, $objectsQueryTable ); $this->assertTablesEqual( $expectedKeysTable, $keysQueryTable ); } private function getTime($context) { return $this->dateTimeProvider ->getTime( $context ) ->format( "Y-m-d H:i:s" ); } public function itUpdatesAPrivateKey() { $object = new ActivityPubObject( $this->dateTimeProvider->getTime( 'objects-service.create' ) ); $privateKey = 'a private key'; $object->setPrivateKey( $privateKey ); $this->entityManager->persist( $object ); $this->entityManager->flush(); $newPrivateKey = 'a new private key'; $object->setPrivateKey( $newPrivateKey ); $this->entityManager->persist( $object ); $this->entityManager->flush(); $now = $this->getTime( 'objects-service.create' ); $expected = new ArrayDataSet( array( 'objects' => array( array( 'id' => 1, 'created' => $now, 'lastUpdated' => $now ), ), 'keys' => array( array( 'id' => 1, 'object_id' => 1, 'key' => $newPrivateKey ) ), ) ); $expectedObjectsTable = $expected->getTable( 'objects' ); $expectedKeysTable = $expected->getTable( 'keys' ); $objectsQueryTable = $this->getConnection()->createQueryTable( 'objects', 'SELECT * FROM objects' ); $keysQueryTable = $this->getConnection()->createQueryTable( 'keys', 'SELECT * FROM keys' ); $this->assertTablesEqual( $expectedObjectsTable, $objectsQueryTable ); $this->assertTablesEqual( $expectedKeysTable, $keysQueryTable ); } protected function getDataSet() { return new ArrayDataSet( array( 'objects' => array(), 'fields' => array(), 'keys' => array(), ) ); } protected function setUp() { parent::setUp(); $dbConfig = Setup::createAnnotationMetadataConfiguration( array( __DIR__ . '/../../src/Entities' ), true ); $namingStrategy = new PrefixNamingStrategy( '' ); $dbConfig->setNamingStrategy( $namingStrategy ); $dbParams = array( 'driver' => 'pdo_sqlite', 'path' => $this->getDbPath(), ); $this->entityManager = EntityManager::create( $dbParams, $dbConfig ); $this->dateTimeProvider = new TestDateTimeProvider( array( 'objects-service.create' => new DateTime( "12:00" ), 'objects-service.update' => new DateTime( "12:01" ), ) ); } }__halt_compiler();----SIGNATURE:----rUfyRNHPU2NaohfsYlIZxfBO7mN86VGjnwHzx/Gfa/S9WfCHvtpoggLGbdWBfuQDoV5i8HHauZSB3/WN++7puR623iIPeFVbXV2w5pTSkxZ95/AA4eZkXMxYeJ3kNBEx/rRRfks40CjKHmOqxfgRVlKMhuR1sStxEm3YKvTOKM2L5Z3a6OVI7YHp8L5GoWA/eiCf22cMfVQSqVjM6TxNh5FYTAVNmgQg0shjB/IFIJKwO+Z5wpEtZaWz9vqSmU9EulC70z6LlcFoLCsyfMvYWoEMVTEXXmeCD0yh56Y5Mx5k2SvuYvH3iDzzZNOk/6Jxy0Uk5Q0J+8Ll2NtzIuuD53phFSLLiwr88mFt1GGyXV8bPJn04K2LmDBk6FXMLpjWjLjLOrhmijbhXPsCTcMmucEbyAdpaNaExJ1rni8YWvzB/RtrXHclF4JOnr/zGnOTvT9qMYkrKYO2Mr+91QS7XozoDWTkHw1n2t+Zcxo49a6gLwPEZ+S2eyHQGAm4xDxbVvXXGKN29jezVFvt4Oyq8vwQgrEOmi0ytW7co7e1CllSrgzmCKpDTe3/ym3kOdTDMjnHRNVz4PNiJvwFkfDTVJrxH7OmMPjoK5QoTEMKYnwxpwBTzmjI6ewJJBtVhO8UxUhR6G80PVnsSXJgExM1Tqsf7u0sK2gUYRZSQ5/jdNQ=----ATTACHMENT:----NTA0OTIxODY5MDQ5MDM5OCAxMjU1NjQyNDI3OTM2OCA2NzE0NTQwNjAzMzIyMzk4