Skip to content

Commit a3f6887

Browse files
committed
fix(secret): do not use default project id in secret datasource
1 parent 52304cc commit a3f6887

7 files changed

+2564
-2321
lines changed

internal/services/secret/helpers.go

+3-8
Original file line numberDiff line numberDiff line change
@@ -50,20 +50,15 @@ func newAPIWithRegionProjectIDAndDefault(d *schema.ResourceData, m interface{},
5050
}
5151

5252
// newAPIWithRegionAndProjectID returns a new Secret API, with region and projectID
53-
func newAPIWithRegionAndProjectID(d *schema.ResourceData, m interface{}) (*secret.API, scw.Region, string, error) {
53+
func newAPIWithRegionAndDefault(d *schema.ResourceData, m interface{}) (*secret.API, scw.Region, error) {
5454
api := secret.NewAPI(meta.ExtractScwClient(m))
5555

5656
region, err := meta.ExtractRegion(d, m)
5757
if err != nil {
58-
return nil, "", "", err
59-
}
60-
61-
projectID, _, err := meta.ExtractProjectID(d, m)
62-
if err != nil {
63-
return nil, "", "", err
58+
return nil, "", err
6459
}
6560

66-
return api, region, projectID, nil
61+
return api, region, nil
6762
}
6863

6964
// NewAPIWithRegionAndID returns a Secret API with locality and ID extracted from the state

internal/services/secret/secret_data_source.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func DataSourceSecret() *schema.Resource {
4444
}
4545

4646
func DataSourceSecretRead(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
47-
api, region, projectID, err := newAPIWithRegionAndProjectID(d, m)
47+
api, region, err := newAPIWithRegionAndDefault(d, m)
4848
if err != nil {
4949
return diag.FromErr(err)
5050
}
@@ -55,7 +55,7 @@ func DataSourceSecretRead(ctx context.Context, d *schema.ResourceData, m interfa
5555
request := &secret.ListSecretsRequest{
5656
Region: region,
5757
Name: types.ExpandStringPtr(secretName),
58-
ProjectID: types.ExpandStringPtr(projectID),
58+
ProjectID: types.ExpandStringPtr(d.Get("project_id")),
5959
OrganizationID: types.ExpandStringPtr(d.Get("organization_id")),
6060
Path: types.ExpandStringPtr(d.Get("path")),
6161
}

internal/services/secret/secret_data_source_test.go

+14-19
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,55 @@
11
package secret_test
22

33
import (
4-
"context"
54
"fmt"
65
"testing"
76

87
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
9-
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
108
"github.com/scaleway/terraform-provider-scaleway/v2/internal/acctest"
11-
"github.com/stretchr/testify/require"
129
)
1310

1411
func TestAccDataSourceSecret_Basic(t *testing.T) {
1512
tt := acctest.NewTestTools(t)
1613
defer tt.Cleanup()
1714

18-
ctx := context.Background()
1915
secretName := "scalewayDataSourceSecret"
20-
project, iamAPIKey, terminateFakeSideProject, err := acctest.CreateFakeIAMManager(tt)
21-
require.NoError(t, err)
2216

2317
resource.ParallelTest(t, resource.TestCase{
24-
ProviderFactories: acctest.FakeSideProjectProviders(ctx, tt, project, iamAPIKey),
25-
CheckDestroy: resource.ComposeAggregateTestCheckFunc(
26-
func(_ *terraform.State) error {
27-
return terminateFakeSideProject()
28-
},
29-
testAccCheckSecretDestroy(tt),
30-
),
18+
ProviderFactories: tt.ProviderFactories,
19+
CheckDestroy: testAccCheckSecretDestroy(tt),
3120
Steps: []resource.TestStep{
3221
{
3322
Config: fmt.Sprintf(`
23+
resource "scaleway_account_project" "project" {}
24+
3425
resource "scaleway_secret" "main" {
3526
name = "%[1]s"
3627
description = "DataSourceSecret test description"
37-
project_id = "%[3]s"
28+
project_id = scaleway_account_project.project.id
3829
}
3930
4031
data "scaleway_secret" "by_name" {
4132
name = scaleway_secret.main.name
42-
organization_id = "%[2]s"
43-
project_id = "%[3]s"
4433
}
4534
4635
data "scaleway_secret" "by_id" {
4736
secret_id = scaleway_secret.main.id
48-
organization_id = "%[2]s"
49-
project_id = "%[3]s"
5037
}
51-
`, secretName, project.OrganizationID, project.ID),
38+
39+
data "scaleway_secret" "with_project_id" {
40+
name = scaleway_secret.main.name
41+
project_id = scaleway_account_project.project.id
42+
}
43+
`, secretName),
5244
Check: resource.ComposeTestCheckFunc(
5345
testAccCheckSecretExists(tt, "data.scaleway_secret.by_name"),
5446
resource.TestCheckResourceAttr("data.scaleway_secret.by_name", "name", secretName),
5547

5648
testAccCheckSecretExists(tt, "data.scaleway_secret.by_id"),
5749
resource.TestCheckResourceAttr("data.scaleway_secret.by_id", "name", secretName),
50+
51+
testAccCheckSecretExists(tt, "data.scaleway_secret.with_project_id"),
52+
resource.TestCheckResourceAttr("data.scaleway_secret.with_project_id", "name", secretName),
5853
),
5954
},
6055
},

0 commit comments

Comments
 (0)