| <?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. | |
| */ | |
| /** | |
| * Unit tests for SplOverride.php (overriden Standard PHP Library functions). | |
| */ | |
| namespace google\appengine\runtime; | |
| require_once 'google/appengine/api/modules/modules_service_pb.php'; | |
| require_once 'google/appengine/runtime/ApplicationError.php'; | |
| require_once 'google/appengine/runtime/SplOverride.php'; | |
| require_once 'google/appengine/testing/ApiProxyTestBase.php'; | |
| use google\appengine\GetHostnameRequest; | |
| use google\appengine\GetHostnameResponse; | |
| use google\appengine\ModulesServiceError\ErrorCode; | |
| use google\appengine\runtime\ApplicationError; | |
| use google\appengine\testing\ApiProxyTestBase; | |
| class SplOverrideTest extends ApiProxyTestBase { | |
| // See api\modules\ModulesServiceTest::testGetHostname(). | |
| public function testGetHostName() { | |
| $req = new GetHostnameRequest(); | |
| $resp = new GetHostnameResponse(); | |
| $resp->setHostname('hostname'); | |
| $this->apiProxyMock->expectCall('modules', 'GetHostname', $req, $resp); | |
| $this->assertEquals('hostname', SplOverride::gethostname()); | |
| $this->apiProxyMock->verify(); | |
| } | |
| public function testGetHostNameException() { | |
| $req = new GetHostnameRequest(); | |
| $resp = new ApplicationError(ErrorCode::TRANSIENT_ERROR, 'unkonwn'); | |
| $this->apiProxyMock->expectCall('modules', 'GetHostname', $req, $resp); | |
| $this->assertEquals(false, SplOverride::gethostname()); | |
| $this->apiProxyMock->verify(); | |
| } | |
| // Success case is handled in the cloud_storage e2e test which will upload a | |
| // file through direct upload resulting in vfs:// wrapper and attempt to move | |
| // the file to gs://. | |
| public function testMoveUploadedFileNotUploaded() { | |
| // Should fail since is_uploaded_file(__FILE__) will result in false. | |
| $this->assertFalse(SplOverride::move_uploaded_file(__FILE__, '/dev/null')); | |
| } | |
| } |