Skip to content

Commit aabb89b

Browse files
committed
Add parallel tests and empty data source list
1 parent c589353 commit aabb89b

7 files changed

+25
-11
lines changed

docs/data-sources/release_link.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ data "gitlab_release_link" "example" {
4444

4545
- `direct_asset_url` (String) Full path for a [Direct Asset link](https://docs.gitlab.com/ee/user/project/releases/index.html#permanent-links-to-release-assets).
4646
- `external` (Boolean) External or internal link.
47-
- `filepath` (String) Relatively path for a [Direct Asset link](https://docs.gitlab.com/ee/user/project/releases/index.html#permanent-links-to-release-assets).
47+
- `filepath` (String) Relative path for a [Direct Asset link](https://docs.gitlab.com/ee/user/project/releases/index.html#permanent-links-to-release-assets).
4848
- `id` (String) The ID of this resource.
49-
- `link_type` (String) The type of the link: `other`, `runbook`, `image`, `package`. Defaults to other.
49+
- `link_type` (String) The type of the link. Valid values are `other`, `runbook`, `image`, `package`. Defaults to other.
5050
- `name` (String) The name of the link. Link names must be unique within the release.
5151
- `url` (String) The URL of the link. Link URLs must be unique within the release.
5252

docs/resources/release_link.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ resource "gitlab_release_link" "example" {
4343

4444
### Optional
4545

46-
- `filepath` (String) Relatively path for a [Direct Asset link](https://docs.gitlab.com/ee/user/project/releases/index.html#permanent-links-to-release-assets).
47-
- `link_type` (String) The type of the link: `other`, `runbook`, `image`, `package`. Defaults to other.
46+
- `filepath` (String) Relative path for a [Direct Asset link](https://docs.gitlab.com/ee/user/project/releases/index.html#permanent-links-to-release-assets).
47+
- `link_type` (String) The type of the link. Valid values are `other`, `runbook`, `image`, `package`. Defaults to other.
4848

4949
### Read-Only
5050

internal/provider/data_source_gitlab_release_link_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ func TestAccDataSourceGitlabReleaseLink_basic(t *testing.T) {
1515
project := testAccCreateProject(t)
1616
releases := testAccCreateReleases(t, project, 2)
1717

18-
resource.Test(t, resource.TestCase{
18+
resource.ParallelTest(t, resource.TestCase{
1919
ProviderFactories: providerFactories,
2020
Steps: []resource.TestStep{
2121
{

internal/provider/data_source_gitlab_release_links.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,12 @@ func dataSourceGitlabReleaseLinksRead(ctx context.Context, d *schema.ResourceDat
5757
for options.Page != 0 {
5858
paginatedReleaseLinks, resp, err := client.ReleaseLinks.ListReleaseLinks(project, tagName, &options, gitlab.WithContext(ctx))
5959
if err != nil {
60-
return diag.FromErr(err)
60+
if is404(err) {
61+
break
62+
} else {
63+
return diag.FromErr(err)
64+
}
6165
}
62-
6366
releaseLinks = append(releaseLinks, paginatedReleaseLinks...)
6467
options.Page = resp.NextPage
6568
}

internal/provider/data_source_gitlab_release_links_test.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ func TestAccDataGitlabReleaseLinks_basic(t *testing.T) {
1515
project := testAccCreateProject(t)
1616
releases := testAccCreateReleases(t, project, 2)
1717

18-
resource.Test(t, resource.TestCase{
18+
resource.ParallelTest(t, resource.TestCase{
1919
ProviderFactories: providerFactories,
2020
Steps: []resource.TestStep{
2121
{
@@ -52,6 +52,17 @@ func TestAccDataGitlabReleaseLinks_basic(t *testing.T) {
5252
resource.TestCheckResourceAttr("data.gitlab_release_links.this", "release_links.1.direct_asset_url", releases[1].Assets.Links[1].DirectAssetURL),
5353
),
5454
},
55+
{
56+
// get empty list
57+
Config: fmt.Sprintf(`
58+
data "gitlab_release_links" "this" {
59+
project = "%s"
60+
tag_name = "%s"
61+
}`, project.PathWithNamespace, "error_tag"),
62+
Check: resource.ComposeTestCheckFunc(
63+
resource.TestCheckResourceAttr("data.gitlab_release_links.this", "release_links.#", fmt.Sprintf("%v", 0)),
64+
),
65+
},
5566
},
5667
})
5768
}

internal/provider/resource_gitlab_release_link_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func TestAccGitlabReleaseLink_basic(t *testing.T) {
1919
project := testAccCreateProject(t)
2020
releases := testAccCreateReleases(t, project, 1)
2121

22-
resource.Test(t, resource.TestCase{
22+
resource.ParallelTest(t, resource.TestCase{
2323
ProviderFactories: providerFactories,
2424
CheckDestroy: testAccCheckGitlabReleaseLinkDestroy,
2525
Steps: []resource.TestStep{

internal/provider/schema_gitlab_release_link.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@ func gitlabReleaseLinkGetSchema() map[string]*schema.Schema {
3535
Required: true,
3636
},
3737
"filepath": {
38-
Description: "Relatively path for a [Direct Asset link](https://docs.gitlab.com/ee/user/project/releases/index.html#permanent-links-to-release-assets).",
38+
Description: "Relative path for a [Direct Asset link](https://docs.gitlab.com/ee/user/project/releases/index.html#permanent-links-to-release-assets).",
3939
Type: schema.TypeString,
4040
Optional: true,
4141
},
4242
"link_type": {
43-
Description: fmt.Sprintf("The type of the link: %s. Defaults to %s.", renderValueListForDocs(validLinkTypes), validLinkTypes[0]),
43+
Description: fmt.Sprintf("The type of the link. Valid values are %s. Defaults to %s.", renderValueListForDocs(validLinkTypes), validLinkTypes[0]),
4444
Type: schema.TypeString,
4545
Optional: true,
4646
Default: validLinkTypes[0],

0 commit comments

Comments
 (0)