|
| 1 | +package genai_test |
| 2 | + |
| 3 | +import ( |
| 4 | + "fmt" |
| 5 | + "testing" |
| 6 | + |
| 7 | + "github.com/digitalocean/terraform-provider-digitalocean/digitalocean/acceptance" |
| 8 | + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" |
| 9 | +) |
| 10 | + |
| 11 | +func TestAccDataSourceDigitalOceanKnowledgeBase_BasicByID(t *testing.T) { |
| 12 | + kbName := acceptance.RandomTestName() + "-kb" |
| 13 | + resourceConfig := fmt.Sprintf(` |
| 14 | +resource "digitalocean_genai_knowledge_base" "test" { |
| 15 | + name = "%s" |
| 16 | + project_id = "%s" |
| 17 | + region = "%s" |
| 18 | + embedding_model_uuid = "%s" |
| 19 | + tags = ["terraform-test", "datasource-test"] |
| 20 | + is_public = false |
| 21 | +
|
| 22 | + datasources { |
| 23 | + web_crawler_data_source { |
| 24 | + base_url = "https://docs.digitalocean.com/products/kubernetes/" |
| 25 | + crawling_option = "SCOPED" |
| 26 | + embed_media = true |
| 27 | + } |
| 28 | + } |
| 29 | +} |
| 30 | +
|
| 31 | +data "digitalocean_genai_knowledge_base" "byid" { |
| 32 | + uuid = digitalocean_genai_knowledge_base.test.id |
| 33 | +} |
| 34 | +`, kbName, defaultProjectID, defaultRegion, defaultEmbeddingModelUUID) |
| 35 | + |
| 36 | + resource.ParallelTest(t, resource.TestCase{ |
| 37 | + PreCheck: func() { acceptance.TestAccPreCheck(t) }, |
| 38 | + ProviderFactories: acceptance.TestAccProviderFactories, |
| 39 | + Steps: []resource.TestStep{ |
| 40 | + { |
| 41 | + Config: resourceConfig, |
| 42 | + Check: resource.ComposeTestCheckFunc( |
| 43 | + resource.TestCheckResourceAttrPair( |
| 44 | + "data.digitalocean_genai_knowledge_base.byid", "id", |
| 45 | + "digitalocean_genai_knowledge_base.test", "id", |
| 46 | + ), |
| 47 | + resource.TestCheckResourceAttr( |
| 48 | + "data.digitalocean_genai_knowledge_base.byid", "name", kbName), |
| 49 | + resource.TestCheckResourceAttr( |
| 50 | + "data.digitalocean_genai_knowledge_base.byid", "project_id", defaultProjectID), |
| 51 | + resource.TestCheckResourceAttr( |
| 52 | + "data.digitalocean_genai_knowledge_base.byid", "region", defaultRegion), |
| 53 | + resource.TestCheckResourceAttr( |
| 54 | + "data.digitalocean_genai_knowledge_base.byid", "embedding_model_uuid", defaultEmbeddingModelUUID), |
| 55 | + resource.TestCheckResourceAttr( |
| 56 | + "data.digitalocean_genai_knowledge_base.byid", "is_public", "false"), |
| 57 | + resource.TestCheckResourceAttr( |
| 58 | + "data.digitalocean_genai_knowledge_base.byid", "tags.#", "2"), |
| 59 | + resource.TestCheckResourceAttr( |
| 60 | + "data.digitalocean_genai_knowledge_base.byid", "datasources.#", "1"), |
| 61 | + resource.TestCheckResourceAttr( |
| 62 | + "data.digitalocean_genai_knowledge_base.byid", "datasources.0.web_crawler_data_source.0.base_url", "https://docs.digitalocean.com/products/kubernetes/"), |
| 63 | + resource.TestCheckResourceAttrSet( |
| 64 | + "data.digitalocean_genai_knowledge_base.byid", "created_at"), |
| 65 | + ), |
| 66 | + }, |
| 67 | + }, |
| 68 | + }) |
| 69 | +} |
0 commit comments