coffees_data_source_test.go 1.5 KB

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