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

0 commit comments

Comments
 (0)