Skip to content

Commit f620f31

Browse files
support e2e test directory being different from resource directory
1 parent e6d5b76 commit f620f31

File tree

9 files changed

+17
-12
lines changed

9 files changed

+17
-12
lines changed

.github/workflows/e2e-testing.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ jobs:
2424
filters: |
2525
cluster:
2626
- 'cfn-resources/cluster/**'
27-
- 'cfn-resources/test/e2e/cluster/**'
27+
- 'cfn-resources/test/e2e/cluster-basic/**'
28+
- 'cfn-resources/test/e2e/cluster-pause/**'
2829
flex-cluster:
2930
- 'cfn-resources/flex-cluster/**'
3031
- 'cfn-resources/test/e2e/flex-cluster/**'

cfn-resources/test/e2e/cluster-basic/cluster_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ type testCluster struct {
5252
const (
5353
resourceTypeName = "MongoDB::Atlas::Cluster"
5454
resourceDirectory = "cluster"
55+
e2eTestDirectory = "cluster-basic"
5556
cfnTemplatePath = "cluster.json.template"
5657
)
5758

@@ -122,7 +123,7 @@ func setupSuite(t *testing.T) *localTestContext {
122123

123124
func (c *localTestContext) setUp(t *testing.T) {
124125
t.Helper()
125-
c.resourceCtx = utility.InitResourceCtx(stackName, e2eRandSuffix, resourceTypeName, resourceDirectory)
126+
c.resourceCtx = utility.InitResourceCtx(stackName, e2eRandSuffix, resourceTypeName, resourceDirectory, admin.PtrString(e2eTestDirectory))
126127
c.cfnClient, c.atlasClient = utility.NewClients(t)
127128
_, c.atlasClient20231115014 = utility.NewClients20231115014(t)
128129

cfn-resources/test/e2e/cluster-pause/cluster_pause_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ type pauseTestCluster struct {
4343
const (
4444
resourceTypeName = "MongoDB::Atlas::Cluster"
4545
resourceDirectory = "cluster"
46+
e2eTestDirectory = "cluster-pause"
4647
pauseCfnTemplatePath = "cluster_pause.json.template"
4748
)
4849

@@ -91,7 +92,7 @@ func setupPauseSuite(t *testing.T) *pauseTestContext {
9192

9293
func (c *pauseTestContext) setUp(t *testing.T) {
9394
t.Helper()
94-
c.resourceCtx = utility.InitResourceCtx(pauseStackName, pauseRandSuffix, resourceTypeName, resourceDirectory)
95+
c.resourceCtx = utility.InitResourceCtx(pauseStackName, pauseRandSuffix, resourceTypeName, resourceDirectory, admin20231115014.PtrString(e2eTestDirectory))
9596
c.cfnClient, _ = utility.NewClients(t)
9697
_, c.atlasClient20231115014 = utility.NewClients20231115014(t)
9798

cfn-resources/test/e2e/flex-cluster/flexcluster_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ func setupSuite(t *testing.T) *localTestContext {
9090

9191
func (c *localTestContext) setUp(t *testing.T) {
9292
t.Helper()
93-
c.resourceCtx = utility.InitResourceCtx(stackName, e2eRandSuffix, resourceTypeName, resourceDirectory)
93+
c.resourceCtx = utility.InitResourceCtx(stackName, e2eRandSuffix, resourceTypeName, resourceDirectory, nil)
9494
c.cfnClient, c.atlasClient = utility.NewClients(t)
9595
_, c.atlasClient20231115014 = utility.NewClients20231115014(t)
9696
utility.PublishToPrivateRegistry(t, c.resourceCtx)

cfn-resources/test/e2e/project/project_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ func setupSuite(t *testing.T) *localTestContext {
9393

9494
func (c *localTestContext) setUp(t *testing.T) {
9595
t.Helper()
96-
c.resourceCtx = utility.InitResourceCtx(stackName, e2eRandSuffix, resourceTypeName, resourceDirectory)
96+
c.resourceCtx = utility.InitResourceCtx(stackName, e2eRandSuffix, resourceTypeName, resourceDirectory, nil)
9797
c.cfnClient, c.atlasClient = utility.NewClients20231115014(t)
9898
utility.PublishToPrivateRegistry(t, c.resourceCtx)
9999
c.setupPrerequisites(t)

cfn-resources/test/e2e/search-deployment/searchdeployment_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ func setupSuite(t *testing.T) *localTestContext {
9090

9191
func (c *localTestContext) setUp(t *testing.T) {
9292
t.Helper()
93-
c.resourceCtx = utility.InitResourceCtx(stackName, e2eRandSuffix, resourceTypeName, resourceDirectory)
93+
c.resourceCtx = utility.InitResourceCtx(stackName, e2eRandSuffix, resourceTypeName, resourceDirectory, nil)
9494
c.cfnClient, c.atlasClient = utility.NewClients20231115014(t)
9595
utility.PublishToPrivateRegistry(t, c.resourceCtx)
9696
c.setupPrerequisites(t)

cfn-resources/test/e2e/utility/publish_cfn_to_registry.sh

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
# See the License for the specific language governing permissions and
1414
# limitations under the License.
1515

16-
1716
# This script performs the following actions:
1817
#
1918
# 1) Generates the resource typename to use for the e2e test. Note: we cannot use the default typeName as it will affect other cfn stacks/tests
@@ -26,6 +25,7 @@ set -eu
2625
set -eux
2726

2827
resource_directory=$RESOURCE_DIRECTORY_NAME
28+
e2e_test_directory="${E2E_TEST_DIRECTORY_NAME:-$resource_directory}"
2929

3030
echo "Updating .rpdk-config with the E2E resource type $RESOURCE_TYPE_NAME_FOR_E2E"
3131
rpdk_file="../../../$RESOURCE_DIRECTORY_NAME/.rpdk-config"
@@ -36,7 +36,6 @@ jq --arg type_name "$RESOURCE_TYPE_NAME_FOR_E2E" \
3636
rm "${rpdk_file}"
3737
mv "${tmp_rpdk_file}" "${rpdk_file}"
3838

39-
4039
echo "Creating a new resource schema"
4140
schema_file_name="${resource_directory//-/}"
4241
echo "New schema file name: ${schema_file_name}"
@@ -50,8 +49,7 @@ echo "Releasing the resource to private registry $RESOURCE_TYPE_NAME_FOR_E2E"
5049
cd ../../../"$resource_directory"
5150

5251
make build && cfn submit --set-default
53-
cd ../test/e2e/"$resource_directory"
54-
52+
cd ../test/e2e/"$e2e_test_directory"
5553

5654
echo "Reverting .rpdk-config with the original resource typeName $RESOURCE_TYPE_NAME"
5755
jq --arg type_name "$RESOURCE_TYPE_NAME" \
@@ -60,7 +58,6 @@ jq --arg type_name "$RESOURCE_TYPE_NAME" \
6058
rm "${rpdk_file}"
6159
mv "${tmp_rpdk_file}" "${rpdk_file}"
6260

63-
6461
echo "Deleting resource JSON schema used for the E2E test"
6562
rm "${tmp_resource_schema_file}"
6663

cfn-resources/test/e2e/utility/resource_context.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,18 @@ package utility
1616

1717
type ResourceContext struct {
1818
ResourceDirectory string
19+
E2eTestDirectory *string
1920
ResourceTypeName string
2021
ResourceTypeNameForE2e string
2122
E2eRandSuffix string
2223
StackName string
2324
}
2425

25-
func InitResourceCtx(stackName, randSuffix, resourceTypeName, resourceDirectory string) ResourceContext {
26+
func InitResourceCtx(stackName, randSuffix, resourceTypeName, resourceDirectory string, e2eTestDirectory *string) ResourceContext {
2627
return ResourceContext{
2728
StackName: stackName,
2829
ResourceDirectory: resourceDirectory,
30+
E2eTestDirectory: e2eTestDirectory,
2931
ResourceTypeName: resourceTypeName,
3032
E2eRandSuffix: randSuffix,
3133
ResourceTypeNameForE2e: resourceTypeName + randSuffix,

cfn-resources/test/e2e/utility/util.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ func PublishToPrivateRegistry(t *testing.T, rctx ResourceContext) {
6565
t.Setenv("RESOURCE_TYPE_NAME_FOR_E2E", rctx.ResourceTypeNameForE2e)
6666
t.Setenv("E2E_RAND_SUFFIX", rctx.E2eRandSuffix)
6767
t.Setenv("RESOURCE_DIRECTORY_NAME", rctx.ResourceDirectory)
68+
if rctx.E2eTestDirectory != nil {
69+
t.Setenv("E2E_TEST_DIRECTORY_NAME", *rctx.E2eTestDirectory)
70+
}
6871
t.Cleanup(func() {
6972
RunCleanupScript(t, rctx)
7073
})

0 commit comments

Comments
 (0)