Skip to content

Commit 2de60f9

Browse files
committed
test: add acceptance test for schema v3 service definitions
- Add TestAccDatadogServiceDefinition_BasicV3 acceptance test - Add testAccCheckDatadogServiceDefinitionV3 test configuration - Include v3-specific fields like tier, lifecycle, application, description - Ensure v3 schema validation and API integration works correctly Resolves #2417
1 parent f339203 commit 2de60f9

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

datadog/tests/resource_datadog_service_definition_yaml_test.go

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,25 @@ func TestAccDatadogServiceDefinition_BasicV2_2(t *testing.T) {
7777
})
7878
}
7979

80+
func TestAccDatadogServiceDefinition_BasicV3(t *testing.T) {
81+
t.Parallel()
82+
ctx, accProviders := testAccProviders(context.Background(), t)
83+
uniq := strings.ToLower(uniqueEntityName(ctx, t))
84+
accProvider := testAccProvider(t, accProviders)
85+
86+
resource.Test(t, resource.TestCase{
87+
PreCheck: func() { testAccPreCheck(t) },
88+
ProviderFactories: accProviders,
89+
CheckDestroy: testAccCheckDatadogServiceDefinitionDestroy(accProvider),
90+
Steps: []resource.TestStep{
91+
{
92+
Config: testAccCheckDatadogServiceDefinitionV3(uniq),
93+
Check: checkServiceDefinitionExists(accProvider),
94+
},
95+
},
96+
})
97+
}
98+
8099
func TestAccDatadogServiceDefinition_BasicBackstage(t *testing.T) {
81100
t.Parallel()
82101
ctx, accProviders := testAccProviders(context.Background(), t)
@@ -217,6 +236,52 @@ EOF
217236
}`, uniq)
218237
}
219238

239+
func testAccCheckDatadogServiceDefinitionV3(uniq string) string {
240+
return fmt.Sprintf(`
241+
resource "datadog_service_definition_yaml" "service_definition" {
242+
service_definition =<<EOF
243+
schema-version: v3
244+
dd-service: %s
245+
contacts:
246+
- contact: [email protected]
247+
name: Team Email
248+
type: email
249+
extensions:
250+
myorgextension: extensionvalue
251+
integrations:
252+
opsgenie:
253+
region: US
254+
service-url: https://my-org.opsgenie.com/service/123e4567-e89b-12d3-a456-426614174000
255+
pagerduty:
256+
service-url: https://my-org.pagerduty.com/service-directory/PMyService
257+
links:
258+
- name: Architecture
259+
type: doc
260+
provider: Gigoogle drivetHub
261+
url: https://my-runbook
262+
- name: Runbook
263+
type: runbook
264+
url: https://my-runbook
265+
- name: Source Code
266+
type: repo
267+
provider: GitHub
268+
url: https://github.com/DataDog/schema
269+
tags:
270+
- my:tag
271+
- service:tag
272+
team: my-team
273+
languages:
274+
- go
275+
- python
276+
type: web
277+
lifecycle: production
278+
tier: high
279+
application: e-commerce
280+
description: A test service using schema v3
281+
EOF
282+
}`, uniq)
283+
}
284+
220285
func testAccCheckDatadogServiceDefinitionBackstage(uniq string) string {
221286
return fmt.Sprintf(`
222287
resource "datadog_service_definition_yaml" "service_definition_backstage" {

0 commit comments

Comments
 (0)