blob: df6df7e0ccf6d99fe7c9d8528db4bc6ee30db4ec [file] [log] [blame]
<?php
/**
* Copyright 2007 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*/
use google\appengine\api\users\User;
use google\appengine\api\users\UserService;
use google\appengine\testing\ApiProxyTestBase;
use google\appengine\UserServiceError;
/**
* Unittest for User class.
*/
class UserTest extends ApiProxyTestBase {
public function setUp() {
parent::setUp();
putenv('AUTH_DOMAIN=gmail.com');
}
public function tearDown() {
putenv('AUTH_DOMAIN');
parent::tearDown();
}
public function testException() {
$this->setExpectedException(
'\InvalidArgumentException',
'One of $email or $federated_identity must be set.');
new User();
}
public function testGetFederatedIdentity() {
$bill = new User(null, 'http://www.google.com/bill', null, '100001');
$this->assertEquals(
'http://www.google.com/bill', $bill->getFederatedIdentity());
$this->assertEquals(null, $bill->getEmail());
$bill = new User('bill@example.com', 'http://www.google.com/bill', null,
'100001');
$this->assertEquals(
'http://www.google.com/bill', $bill->getFederatedIdentity());
$this->assertEquals('bill@example.com', $bill->getEmail());
}
public function testGetNickname() {
$jon = new User('jonmac@gmail.com', null, null, '11444');
$this->assertEquals('jonmac', $jon->getNickname());
$jon = new User('jonmac@example.com', null, null, '11555');
$this->assertEquals('jonmac@example.com', $jon->getNickname());
# nickname for federated user.
putenv('AUTH_DOMAIN=example.com');
$bill = new User(
'bill@example.com', 'http://example.com/bill', null, '22772');
putenv('AUTH_DOMAIN=gmail.com');
$this->assertEquals('bill', $bill->getNickname());
$bill = new User('bill@example.com', 'http://google.com/bill', null,
'22772');
$this->assertEquals('http://google.com/bill', $bill->getNickname());
$bill = new User('bill@example.com', null, null, '22772');
$this->assertEquals('bill@example.com', $bill->getNickname());
$bill = new User('', 'http://google.com/bill', null, '22772');
$this->assertEquals('http://google.com/bill', $bill->getNickname());
$bill = new User(null, 'http://google.com/bill', null, '22772');
$this->assertEquals('http://google.com/bill', $bill->getNickname());
}
public function testToString() {
$bill = new User(
'bill@example.com', 'http://google.com/bill', null, '22772');
$this->assertEquals(
"User(email='bill@example.com',federated_identity=" .
"'http://google.com/bill',user_id='22772')", (string) $bill);
}
}