coffees_data_source_test.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536
  1. // Copyright (c) HashiCorp, Inc.
  2. // SPDX-License-Identifier: MPL-2.0
  3. package provider
  4. import (
  5. "testing"
  6. "github.com/hashicorp/terraform-plugin-testing/helper/resource"
  7. )
  8. func TestAccCoffeesDataSource(t *testing.T) {
  9. resource.Test(t, resource.TestCase{
  10. ProtoV6ProviderFactories: testAccProtoV6ProviderFactories,
  11. Steps: []resource.TestStep{
  12. // Read testing
  13. {
  14. Config: providerConfig + `data "hashicups_coffees" "test" {}`,
  15. Check: resource.ComposeAggregateTestCheckFunc(
  16. // Verify number of coffees returned.
  17. resource.TestCheckResourceAttr("data.hashicups_coffees.test", "coffees.#", "9"), // # : number of blocks
  18. // Verify the first coffee to ensure all attributes are set.
  19. resource.TestCheckResourceAttr("data.hashicups_coffees.test", "coffees.0.%", "7"), // % : number of attributes
  20. resource.TestCheckResourceAttr("data.hashicups_coffees.test", "coffees.0.description", ""),
  21. resource.TestCheckResourceAttr("data.hashicups_coffees.test", "coffees.0.id", "1"),
  22. resource.TestCheckResourceAttr("data.hashicups_coffees.test", "coffees.0.image", "/hashicorp.png"),
  23. resource.TestCheckResourceAttr("data.hashicups_coffees.test", "coffees.0.ingredients.#", "1"),
  24. resource.TestCheckResourceAttr("data.hashicups_coffees.test", "coffees.0.ingredients.0.id", "6"),
  25. resource.TestCheckResourceAttr("data.hashicups_coffees.test", "coffees.0.name", "HCP Aeropress"),
  26. resource.TestCheckResourceAttr("data.hashicups_coffees.test", "coffees.0.price", "200"),
  27. resource.TestCheckResourceAttr("data.hashicups_coffees.test", "coffees.0.teaser", "Automation in a cup"),
  28. ),
  29. },
  30. },
  31. })
  32. }