Exemplo n.º 1
0
 /**
  * @depends testConstructWithFieldsArgument
  */
 public function testSetFieldValue()
 {
     $fieldsValues = new FieldsValues(['field1', 'field2' => 'value2', 'field3']);
     // Change value
     $fieldsValues->fieldValue('field2', '2value');
     $this->assertEquals(['field2' => '2value'], $fieldsValues->getFieldsValues());
     // Set value, when field was empty
     $fieldsValues->fieldValue('field3', 'value3');
     $this->assertEquals(['field2' => '2value', 'field3' => 'value3'], $fieldsValues->getFieldsValues());
     // Add new field
     $fieldsValues->fieldValue('field4', 'value4');
     $this->assertEquals(['field2' => '2value', 'field3' => 'value3', 'field4' => 'value4'], $fieldsValues->getFieldsValues());
 }
Exemplo n.º 2
0
 public function testLazyLoadGet()
 {
     $constructorArgs = [FieldsValues::construct([ExtractorInterface::FIELD_UNIQUE_ID => 123, ExtractorInterface::FIELD_USERNAME]), NormalizersMap::construct([ExtractorInterface::FIELD_UNIQUE_ID => ExtractorInterface::FIELD_UNIQUE_ID])->method(ExtractorInterface::FIELD_USERNAME, 'username'), LoadersMap::construct(['id' => [ExtractorInterface::FIELD_UNIQUE_ID], 'profile' => [ExtractorInterface::FIELD_USERNAME]])];
     $profileData = ['data' => ['nickname' => 'johnnydonny']];
     $extractor = $this->getMock('\\OAuth\\UserData\\Extractor\\LazyExtractor', ['idLoader', 'uniqueIdNormalizer', 'profileLoader', 'usernameNormalizer'], $constructorArgs);
     $extractor->expects($this->never())->method('idLoader');
     $extractor->expects($this->never())->method('uniqueIdNormalizer');
     $extractor->expects($this->once())->method('profileLoader')->with()->willReturn($profileData);
     $extractor->expects($this->once())->method('usernameNormalizer')->with($profileData)->willReturn($profileData['data']['nickname']);
     /**
      * @var \OAuth\UserData\Extractor\LazyExtractor $extractor
      */
     $this->assertEquals(123, $extractor->getUniqueId());
     // prefetched field, does not trigger loader and normalizer
     $this->assertEquals('johnnydonny', $extractor->getUsername());
     // triggers the loader and the normalizer
     $this->assertEquals('johnnydonny', $extractor->getUsername());
     // does not trigger them again
 }
Exemplo n.º 3
0
 /**
  * Constructor
  */
 public function __construct()
 {
     parent::__construct(FieldsValues::construct([self::FIELD_UNIQUE_ID, self::FIELD_USERNAME, self::FIELD_FIRST_NAME, self::FIELD_LAST_NAME, self::FIELD_FULL_NAME, self::FIELD_EMAIL, self::FIELD_PROFILE_URL, self::FIELD_IMAGE_URL, self::FIELD_VERIFIED_EMAIL, self::FIELD_EXTRA]), self::getDefaultNormalizersMap()->add([self::FIELD_UNIQUE_ID => 'id', self::FIELD_USERNAME => 'name', self::FIELD_FIRST_NAME => 'given_name', self::FIELD_LAST_NAME => 'family_name', self::FIELD_FULL_NAME => 'name', self::FIELD_EMAIL => 'email', self::FIELD_IMAGE_URL => 'picture', self::FIELD_VERIFIED_EMAIL => ['verified_email', false]]));
 }
Exemplo n.º 4
0
 public function testSaveImage()
 {
     $imagePathToSave = __DIR__ . '/' . uniqid() . '.png';
     $imageUrl = 'http://upload.wikimedia.org/wikipedia/commons/3/31/Red-dot-5px.png';
     // $imageRawBase64 = base64_encode(file_get_contents($imageUrl));
     $imageRawBase64 = 'iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==';
     if (!is_writable(dirname($imagePathToSave))) {
         $this->markTestSkipped('Directory not writable');
     }
     /**
      * @var \OAuth\Common\Service\ServiceInterface|\PHPUnit_Framework_MockObject_MockObject $service
      */
     $service = $this->getMock('\\OAuth\\Common\\Service\\AbstractService', ['httpRequest', 'request', 'getAuthorizationUri'], [], '', false);
     $service->expects($this->any())->method('httpRequest')->willReturn(base64_decode($imageRawBase64));
     $extractor = new Extractor(FieldsValues::construct([Extractor::FIELD_IMAGE_URL => $imageUrl]));
     $extractor->setService($service);
     $this->assertFalse(is_file($imagePathToSave));
     $extractor->saveImage($imagePathToSave, 10, 10);
     $this->assertTrue(is_file($imagePathToSave));
     $fileContents = file_get_contents($imagePathToSave);
     unlink($imagePathToSave);
     /** @noinspection PhpUndefinedMethodInspection */
     $this->assertEquals(base64_encode(Image::fromData(Image::fromData(base64_decode($imageRawBase64))->resize(10, 10)->get())->get('png')), base64_encode($fileContents));
 }
Exemplo n.º 5
0
 /**
  * Constructor
  */
 public function __construct()
 {
     parent::__construct(FieldsValues::construct([self::FIELD_UNIQUE_ID, self::FIELD_USERNAME, self::FIELD_FIRST_NAME, self::FIELD_LAST_NAME, self::FIELD_FULL_NAME, self::FIELD_EMAIL, self::FIELD_DESCRIPTION, self::FIELD_LOCATION, self::FIELD_PROFILE_URL, self::FIELD_IMAGE_URL, self::FIELD_WEBSITES, self::FIELD_VERIFIED_EMAIL, self::FIELD_EXTRA]), self::getDefaultNormalizersMap()->noNormalizer(self::FIELD_IMAGE_URL)->prefilled(self::FIELD_VERIFIED_EMAIL, true)->paths([self::FIELD_UNIQUE_ID => 'id', self::FIELD_USERNAME => 'username', self::FIELD_FIRST_NAME => 'first_name', self::FIELD_LAST_NAME => 'last_name', self::FIELD_FULL_NAME => 'name', self::FIELD_EMAIL => 'email', self::FIELD_DESCRIPTION => 'bio', self::FIELD_LOCATION => 'location.name', self::FIELD_PROFILE_URL => 'link'])->prefilled(self::FIELD_VERIFIED_EMAIL, true), self::getDefaultLoadersMap()->loader('image')->readdField(self::FIELD_IMAGE_URL));
 }
Exemplo n.º 6
0
 /**
  * Get an array listing all fields names
  *
  * @return FieldsValues
  */
 protected static function getAllFields()
 {
     return FieldsValues::construct([self::FIELD_UNIQUE_ID, self::FIELD_USERNAME, self::FIELD_FIRST_NAME, self::FIELD_LAST_NAME, self::FIELD_FULL_NAME, self::FIELD_EMAIL, self::FIELD_DESCRIPTION, self::FIELD_LOCATION, self::FIELD_PROFILE_URL, self::FIELD_IMAGE_URL, self::FIELD_WEBSITES, self::FIELD_VERIFIED_EMAIL, self::FIELD_EXTRA]);
 }
Exemplo n.º 7
0
 /**
  * Constructor
  */
 public function __construct()
 {
     parent::__construct(FieldsValues::construct([self::FIELD_UNIQUE_ID, self::FIELD_USERNAME, self::FIELD_FIRST_NAME, self::FIELD_LAST_NAME, self::FIELD_FULL_NAME, self::FIELD_IMAGE_URL, self::FIELD_EMAIL, self::FIELD_EXTRA]), self::getDefaultNormalizersMap()->pathContext('user')->paths([self::FIELD_UNIQUE_ID => 'id', self::FIELD_USERNAME => 'email', self::FIELD_FIRST_NAME => 'first_name', self::FIELD_LAST_NAME => 'last_name', self::FIELD_EMAIL => 'email']));
 }
Exemplo n.º 8
0
 /**
  * Constructor
  */
 public function __construct()
 {
     parent::__construct(FieldsValues::construct([self::FIELD_UNIQUE_ID, self::FIELD_USERNAME, self::FIELD_FULL_NAME, self::FIELD_FIRST_NAME, self::FIELD_LAST_NAME, self::FIELD_DESCRIPTION, self::FIELD_WEBSITES, self::FIELD_IMAGE_URL, self::FIELD_PROFILE_URL, self::FIELD_EXTRA]), self::getDefaultNormalizersMap()->pathContext('data')->paths([self::FIELD_UNIQUE_ID => 'id', self::FIELD_USERNAME => 'username', self::FIELD_FULL_NAME => 'full_name', self::FIELD_DESCRIPTION => 'bio', self::FIELD_WEBSITES => 'website', self::FIELD_IMAGE_URL => 'profile_picture']));
 }
Exemplo n.º 9
0
 /**
  * Constructor
  */
 public function __construct()
 {
     parent::__construct(FieldsValues::construct([self::FIELD_UNIQUE_ID, self::FIELD_USERNAME, self::FIELD_FULL_NAME, self::FIELD_FIRST_NAME, self::FIELD_LAST_NAME, self::FIELD_DESCRIPTION, self::FIELD_LOCATION, self::FIELD_PROFILE_URL, self::FIELD_IMAGE_URL, self::FIELD_WEBSITES, self::FIELD_EXTRA]), self::getDefaultNormalizersMap()->paths([self::FIELD_UNIQUE_ID => 'id', self::FIELD_USERNAME => 'screen_name', self::FIELD_FULL_NAME => 'name', self::FIELD_DESCRIPTION => 'description', self::FIELD_LOCATION => 'location', self::FIELD_IMAGE_URL => 'profile_image_url']));
 }
Exemplo n.º 10
0
 /**
  * Constructor
  */
 public function __construct()
 {
     parent::__construct(FieldsValues::construct([self::FIELD_UNIQUE_ID, self::FIELD_FIRST_NAME, self::FIELD_LAST_NAME, self::FIELD_FULL_NAME, self::FIELD_EMAIL, self::FIELD_DESCRIPTION, self::FIELD_LOCATION, self::FIELD_PROFILE_URL, self::FIELD_IMAGE_URL, self::FIELD_WEBSITES, self::FIELD_VERIFIED_EMAIL, self::FIELD_EXTRA]), self::getDefaultNormalizersMap()->paths([self::FIELD_UNIQUE_ID => 'id', self::FIELD_FIRST_NAME => 'firstName', self::FIELD_LAST_NAME => 'lastName', self::FIELD_EMAIL => 'emailAddress', self::FIELD_DESCRIPTION => 'summary', self::FIELD_LOCATION => 'location', self::FIELD_PROFILE_URL => 'publicProfileUrl', self::FIELD_IMAGE_URL => 'pictureUrl'])->prefilled(self::FIELD_VERIFIED_EMAIL, true));
 }
Exemplo n.º 11
0
 /**
  * Constructor
  */
 public function __construct()
 {
     parent::__construct(FieldsValues::construct([self::FIELD_UNIQUE_ID, self::FIELD_USERNAME, self::FIELD_FIRST_NAME, self::FIELD_LAST_NAME, self::FIELD_FULL_NAME, self::FIELD_EMAIL, self::FIELD_DESCRIPTION, self::FIELD_LOCATION, self::FIELD_PROFILE_URL, self::FIELD_IMAGE_URL, self::FIELD_VERIFIED_EMAIL, self::FIELD_EXTRA]), self::getDefaultNormalizersMap()->pathContext('response.0')->paths([self::FIELD_UNIQUE_ID => 'uid', self::FIELD_FIRST_NAME => 'first_name', self::FIELD_LAST_NAME => 'last_name', self::FIELD_EMAIL => 'email', self::FIELD_DESCRIPTION => 'about', self::FIELD_IMAGE_URL => 'photo_max_orig']));
 }
Exemplo n.º 12
0
 public function __construct()
 {
     parent::__construct(FieldsValues::construct([self::FIELD_UNIQUE_ID, self::FIELD_USERNAME, self::FIELD_FIRST_NAME, self::FIELD_LAST_NAME, self::FIELD_FULL_NAME, self::FIELD_EMAIL, self::FIELD_LOCATION, self::FIELD_DESCRIPTION, self::FIELD_IMAGE_URL, self::FIELD_PROFILE_URL, self::FIELD_VERIFIED_EMAIL, self::FIELD_EXTRA]), self::getDefaultNormalizersMap()->paths([self::FIELD_UNIQUE_ID => 'id', self::FIELD_USERNAME => 'login', self::FIELD_FULL_NAME => 'name', self::FIELD_LOCATION => 'location', self::FIELD_DESCRIPTION => 'bio', self::FIELD_IMAGE_URL => 'avatar_url', self::FIELD_PROFILE_URL => 'html_url']), self::getDefaultLoadersMap()->loader('email')->readdFields([self::FIELD_EMAIL, self::FIELD_VERIFIED_EMAIL]));
 }
Exemplo n.º 13
0
 /**
  * Constructor
  */
 public function __construct()
 {
     parent::__construct(FieldsValues::construct([self::FIELD_UNIQUE_ID, self::FIELD_USERNAME, self::FIELD_FIRST_NAME, self::FIELD_LAST_NAME, self::FIELD_FULL_NAME, self::FIELD_EMAIL, self::FIELD_DESCRIPTION, self::FIELD_LOCATION, self::FIELD_PROFILE_URL, self::FIELD_IMAGE_URL, self::FIELD_EXTRA]), self::getDefaultNormalizersMap()->noNormalizer(self::FIELD_IMAGE_URL)->prefilled(self::FIELD_VERIFIED_EMAIL, true)->pathContext('results.0')->paths([self::FIELD_UNIQUE_ID => 'user_id', self::FIELD_USERNAME => 'login_name', self::FIELD_FIRST_NAME => 'first_name', self::FIELD_LAST_NAME => 'last_name', self::FIELD_EMAIL => 'primary_email', self::FIELD_DESCRIPTION => 'bio', self::FIELD_IMAGE_URL => 'image_url_75x75']));
 }