Skip to content

Commit 41c4416

Browse files
authored
chore(functions): Revise test coverage for CI utility updates (GoogleCloudPlatform#1215)
1 parent 7c28eb9 commit 41c4416

File tree

30 files changed

+77
-43
lines changed

30 files changed

+77
-43
lines changed

functions/concepts_filesystem/test/DeployTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class DeployTest extends TestCase
3737
use CloudFunctionDeploymentTrait;
3838
use TestCasesTrait;
3939

40-
private static $name = 'listFiles';
40+
private static $entryPoint = 'listFiles';
4141

4242
/**
4343
* @dataProvider cases

functions/concepts_filesystem/test/SystemTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class SystemTest extends TestCase
3131
use CloudFunctionLocalTestTrait;
3232
use TestCasesTrait;
3333

34-
private static $name = 'listFiles';
34+
private static $entryPoint = 'listFiles';
3535

3636
/**
3737
* @dataProvider cases

functions/concepts_filesystem/test/UnitTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class UnitTest extends TestCase
3030
{
3131
use TestCasesTrait;
3232

33-
private static $name = 'listFiles';
33+
private static $entryPoint = 'listFiles';
3434

3535
public static function setUpBeforeClass(): void
3636
{
@@ -43,7 +43,7 @@ public static function setUpBeforeClass(): void
4343
public function testFunction($file): void
4444
{
4545
$request = new ServerRequest('GET', '/');
46-
$response = $this->runFunction(self::$name, [$request]);
46+
$response = $this->runFunction(self::$entryPoint, [$request]);
4747
$this->assertContains($file, $response);
4848
}
4949

functions/concepts_requests/test/DeployTest.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,18 @@ class DeployTest extends TestCase
3737
use CloudFunctionDeploymentTrait;
3838
use TestCasesTrait;
3939

40-
private static $name = 'makeRequest';
40+
private static $entryPoint = 'makeRequest';
41+
42+
/**
43+
* Deploy the Function.
44+
*
45+
* Overrides CloudFunctionLocalTestTrait::doDeploy().
46+
*/
47+
private static function doDeploy()
48+
{
49+
$case = reset(self::cases());
50+
self::$fn->run([$case['varName'] => $case['varValue']]);
51+
}
4152

4253
/**
4354
* @dataProvider cases

functions/concepts_requests/test/SystemTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class SystemTest extends TestCase
3131
use CloudFunctionLocalTestTrait;
3232
use TestCasesTrait;
3333

34-
private static $name = 'makeRequest';
34+
private static $entryPoint = 'makeRequest';
3535

3636
/**
3737
* @dataProvider cases

functions/concepts_requests/test/UnitTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class UnitTest extends TestCase
3131
{
3232
use TestCasesTrait;
3333

34-
private static $name = 'makeRequest';
34+
private static $entryPoint = 'makeRequest';
3535

3636
public static function setUpBeforeClass(): void
3737
{
@@ -44,7 +44,7 @@ public static function setUpBeforeClass(): void
4444
public function testFunction($statusCode): void
4545
{
4646
$request = new ServerRequest('GET', '');
47-
$output = $this->runFunction(self::$name, [$request]);
47+
$output = $this->runFunction(self::$entryPoint, [$request]);
4848
$this->assertEquals(
4949
$statusCode,
5050
$output->getStatusCode()

functions/env_vars/test/DeployTest.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,20 @@ class DeployTest extends TestCase
3737
use CloudFunctionDeploymentTrait;
3838
use TestCasesTrait;
3939

40-
private static $name = 'envVar';
40+
private static $entryPoint = 'envVar';
41+
42+
/**
43+
* Deploy the Function.
44+
*
45+
* Overrides CloudFunctionDeploymentTrait::doDeploy().
46+
*/
47+
private static function doDeploy()
48+
{
49+
// Use the first test case as the source of the deployed environment variable.
50+
$cases = self::cases();
51+
$env = sprintf("%s=%s", $cases[0]['varName'], $cases[0]['varValue']);
52+
self::$fn->deploy(['--update-env-vars' => $env]);
53+
}
4154

4255
/**
4356
* @dataProvider cases

functions/env_vars/test/SystemTest.php

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,20 @@ class SystemTest extends TestCase
3131
use CloudFunctionLocalTestTrait;
3232
use TestCasesTrait;
3333

34-
private static $name = 'envVar';
34+
private static $entryPoint = 'envVar';
35+
36+
/**
37+
* Run the PHP server locally for the defined function.
38+
*
39+
* Overrides CloudFunctionLocalTestTrait::doRun().
40+
*/
41+
private static function doRun()
42+
{
43+
// Use the first test case as the source of the deployed environment variable.
44+
$cases = self::cases();
45+
$case = reset($cases);
46+
self::$fn->run([$case['varName'] => $case['varValue']]);
47+
}
3548

3649
/**
3750
* @dataProvider cases
@@ -41,9 +54,6 @@ public function testFunction(
4154
$varName,
4255
$varValue
4356
): void {
44-
// Check the target env variable
45-
$this->requireEnv($varName);
46-
4757
// Send a request to the function.
4858
$resp = $this->client->get('/');
4959

functions/env_vars/test/TestCasesTrait.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ trait TestCasesTrait
2222
{
2323
public static function cases(): array
2424
{
25+
// WARNING: DeployTest and SystemTest are only deployed with the first test case.
2526
return [
2627
[
2728
'statusCode' => 200,

functions/env_vars/test/UnitTest.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,11 @@ class UnitTest extends TestCase
3030
{
3131
use TestCasesTrait;
3232

33-
private static $name = 'envVar';
33+
private static $entryPoint = 'envVar';
3434

3535
public static function setUpBeforeClass(): void
3636
{
3737
require_once __DIR__ . '/../index.php';
38-
39-
putenv("FOO=bar");
4038
}
4139

4240
/**
@@ -47,8 +45,9 @@ public function testFunction(
4745
$varName,
4846
$varValue
4947
): void {
48+
putenv("$varName=$varValue");
5049
$request = new ServerRequest('GET', '/');
51-
$output = $this->runFunction(self::$name, [$request]);
50+
$output = $this->runFunction(self::$entryPoint, [$request]);
5251
$this->assertContains($varValue, $output);
5352
}
5453

functions/helloworld_get/test/DeployTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class DeployTest extends TestCase
3737
use CloudFunctionDeploymentTrait;
3838
use TestCasesTrait;
3939

40-
private static $name = 'helloGet';
40+
private static $entryPoint = 'helloGet';
4141

4242
/**
4343
* @dataProvider cases

functions/helloworld_get/test/SystemTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class SystemTest extends TestCase
3131
use CloudFunctionLocalTestTrait;
3232
use TestCasesTrait;
3333

34-
private static $name = 'helloGet';
34+
private static $entryPoint = 'helloGet';
3535

3636
/**
3737
* @dataProvider cases

functions/helloworld_get/test/UnitTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
*/
2929
class UnitTest extends TestCase
3030
{
31-
private static $name = 'helloGet';
31+
private static $entryPoint = 'helloGet';
3232

3333
use TestCasesTrait;
3434

@@ -43,7 +43,7 @@ public static function setUpBeforeClass(): void
4343
public function testFunction($statusCode, $expected): void
4444
{
4545
$request = new ServerRequest('GET', '');
46-
$output = $this->runFunction(self::$name, [$request]);
46+
$output = $this->runFunction(self::$entryPoint, [$request]);
4747
$this->assertContains($expected, $output);
4848
}
4949

functions/helloworld_http/test/DeployTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class DeployTest extends TestCase
3737
use CloudFunctionDeploymentTrait;
3838
use TestCasesTrait;
3939

40-
private static $name = 'helloHttp';
40+
private static $entryPoint = 'helloHttp';
4141

4242
/**
4343
* @dataProvider cases

functions/helloworld_http/test/SystemTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class SystemTest extends TestCase
3232
use CloudFunctionLocalTestTrait;
3333
use TestCasesTrait;
3434

35-
private static $name = 'helloHttp';
35+
private static $entryPoint = 'helloHttp';
3636

3737
/**
3838
* @dataProvider cases

functions/helloworld_http/test/UnitTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class UnitTest extends TestCase
2929
{
3030
use TestCasesTrait;
3131

32-
private static $name = 'helloHttp';
32+
private static $entryPoint = 'helloHttp';
3333

3434
public static function setUpBeforeClass(): void
3535
{
@@ -49,7 +49,7 @@ public function testFunction(
4949
$body = json_encode($body);
5050
$request = (new ServerRequest('POST', '/', [], $body))
5151
->withQueryParams($query);
52-
$actual = $this->runFunction(self::$name, [$request]);
52+
$actual = $this->runFunction(self::$entryPoint, [$request]);
5353
$this->assertContains($expected, $actual, $label . ':');
5454
}
5555

functions/http_content_type/test/DeployTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class DeployTest extends TestCase
3535
use CloudFunctionDeploymentTrait;
3636
use TestCasesTrait;
3737

38-
private static $name = 'helloContent';
38+
private static $entryPoint = 'helloContent';
3939

4040
public function testFunction(): void
4141
{

functions/http_content_type/test/SystemTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class SystemTest extends TestCase
3232
use CloudFunctionLocalTestTrait;
3333
use TestCasesTrait;
3434

35-
private static $name = 'helloContent';
35+
private static $entryPoint = 'helloContent';
3636

3737
public function testFunction(): void
3838
{

functions/http_content_type/test/UnitTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class UnitTest extends TestCase
3131
{
3232
use TestCasesTrait;
3333

34-
private static $name = 'helloContent';
34+
private static $entryPoint = 'helloContent';
3535

3636
public static function setUpBeforeClass()
3737
{
@@ -42,7 +42,7 @@ public function testFunction(): void
4242
{
4343
foreach (self::cases() as $test) {
4444
$request = new ServerRequest('POST', '/', ['content-type' => $test['content-type']], $test['body']);
45-
$actual = $this->runFunction(self::$name, [$request]);
45+
$actual = $this->runFunction(self::$entryPoint, [$request]);
4646
$this->assertContains($test['expected'], $actual, $test['content-type'] . ':');
4747
}
4848
}

functions/http_cors/test/DeployTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class DeployTest extends TestCase
3737
use CloudFunctionDeploymentTrait;
3838
use TestCasesTrait;
3939

40-
private static $name = 'corsEnabledFunction';
40+
private static $entryPoint = 'corsEnabledFunction';
4141

4242
/**
4343
* @dataProvider cases

functions/http_cors/test/SystemTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class SystemTest extends TestCase
3131
use CloudFunctionLocalTestTrait;
3232
use TestCasesTrait;
3333

34-
private static $name = 'corsEnabledFunction';
34+
private static $entryPoint = 'corsEnabledFunction';
3535

3636
/**
3737
* @dataProvider cases

functions/http_cors/test/UnitTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
*/
3030
class UnitTest extends TestCase
3131
{
32-
private static $name = 'corsEnabledFunction';
32+
private static $entryPoint = 'corsEnabledFunction';
3333

3434
use TestCasesTrait;
3535

@@ -50,7 +50,7 @@ public function testFunction(
5050
$notContainsContent
5151
): void {
5252
$request = new ServerRequest($method, '/');
53-
$response = $this->runFunction(self::$name, [$request]);
53+
$response = $this->runFunction(self::$entryPoint, [$request]);
5454

5555
// Assert status code.
5656
$this->assertEquals(

functions/http_form_data/test/DeployTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class DeployTest extends TestCase
3737
use CloudFunctionDeploymentTrait;
3838
use TestCasesTrait;
3939

40-
private static $name = 'uploadFile';
40+
private static $entryPoint = 'uploadFile';
4141

4242
/**
4343
* @dataProvider cases

functions/http_form_data/test/SystemTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class SystemTest extends TestCase
3232
use CloudFunctionLocalTestTrait;
3333
use TestCasesTrait;
3434

35-
private static $name = 'uploadFile';
35+
private static $entryPoint = 'uploadFile';
3636

3737
/**
3838
* @dataProvider cases

functions/http_method/test/DeployTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class DeployTest extends TestCase
3737
use CloudFunctionDeploymentTrait;
3838
use TestCasesTrait;
3939

40-
private static $name = 'httpMethod';
40+
private static $entryPoint = 'httpMethod';
4141

4242
/**
4343
* @dataProvider cases

functions/http_method/test/SystemTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class SystemTest extends TestCase
3131
use CloudFunctionLocalTestTrait;
3232
use TestCasesTrait;
3333

34-
private static $name = 'httpMethod';
34+
private static $entryPoint = 'httpMethod';
3535

3636
/**
3737
* @dataProvider cases

functions/http_method/test/UnitTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class UnitTest extends TestCase
3131
{
3232
use TestCasesTrait;
3333

34-
private static $name = 'httpMethod';
34+
private static $entryPoint = 'httpMethod';
3535

3636
public static function setUpBeforeClass(): void
3737
{
@@ -47,7 +47,7 @@ public function testFunction(
4747
$content
4848
): void {
4949
$request = new ServerRequest($method, '/');
50-
$output = $this->runFunction(self::$name, [$request]);
50+
$output = $this->runFunction(self::$entryPoint, [$request]);
5151
$this->assertEquals(
5252
$statusCode,
5353
$output->getStatusCode()

functions/log_helloworld/test/DeployTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class DeployTest extends TestCase
3737
use CloudFunctionDeploymentTrait;
3838
use TestCasesTrait;
3939

40-
private static $name = 'helloLogging';
40+
private static $entryPoint = 'helloLogging';
4141

4242
public function testFunction(): void
4343
{

functions/log_helloworld/test/SystemTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class SystemTest extends TestCase
3131
use CloudFunctionLocalTestTrait;
3232
use TestCasesTrait;
3333

34-
private static $name = 'helloLogging';
34+
private static $entryPoint = 'helloLogging';
3535

3636
public function testFunction(): void
3737
{

0 commit comments

Comments
 (0)