Skip to content

Commit 33e3852

Browse files
committed
Uncomment and implement tests for accountid and userid in project resource
1 parent 7973ad8 commit 33e3852

File tree

2 files changed

+131
-85
lines changed

2 files changed

+131
-85
lines changed

cloudstack/resource_cloudstack_project_test.go

Lines changed: 85 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -188,83 +188,81 @@ func TestAccCloudStackProject_emptyDisplayText(t *testing.T) {
188188
})
189189
}
190190

191-
// Skipping this test as it requires valid user IDs
192-
// func TestAccCloudStackProject_updateUserid(t *testing.T) {
193-
// var project cloudstack.Project
194-
195-
// resource.Test(t, resource.TestCase{
196-
// PreCheck: func() { testAccPreCheck(t) },
197-
// Providers: testAccProviders,
198-
// CheckDestroy: testAccCheckCloudStackProjectDestroy,
199-
// Steps: []resource.TestStep{
200-
// {
201-
// Config: testAccCloudStackProject_userid,
202-
// Check: resource.ComposeTestCheckFunc(
203-
// testAccCheckCloudStackProjectExists(
204-
// "cloudstack_project.baz", &project),
205-
// resource.TestCheckResourceAttr(
206-
// "cloudstack_project.baz", "name", "terraform-test-project-userid"),
207-
// resource.TestCheckResourceAttr(
208-
// "cloudstack_project.baz", "display_text", "Terraform Test Project with Userid"),
209-
// resource.TestCheckResourceAttr(
210-
// "cloudstack_project.baz", "userid", "b0afc3ca-a99c-4fb4-98ad-8564acab10a4"),
211-
// ),
212-
// },
213-
// {
214-
// Config: testAccCloudStackProject_updateUserid,
215-
// Check: resource.ComposeTestCheckFunc(
216-
// testAccCheckCloudStackProjectExists(
217-
// "cloudstack_project.baz", &project),
218-
// resource.TestCheckResourceAttr(
219-
// "cloudstack_project.baz", "name", "terraform-test-project-userid"),
220-
// resource.TestCheckResourceAttr(
221-
// "cloudstack_project.baz", "display_text", "Terraform Test Project with Userid"),
222-
// resource.TestCheckResourceAttr(
223-
// "cloudstack_project.baz", "userid", "c1bfd4db-b9dc-5af6-87ad-9675dcab20b5"),
224-
// ),
225-
// },
226-
// },
227-
// })
228-
// }
229-
230-
// Skipping this test as it requires valid account IDs
231-
// func TestAccCloudStackProject_updateAccountid(t *testing.T) {
232-
// var project cloudstack.Project
233-
234-
// resource.Test(t, resource.TestCase{
235-
// PreCheck: func() { testAccPreCheck(t) },
236-
// Providers: testAccProviders,
237-
// CheckDestroy: testAccCheckCloudStackProjectDestroy,
238-
// Steps: []resource.TestStep{
239-
// {
240-
// Config: testAccCloudStackProject_accountid,
241-
// Check: resource.ComposeTestCheckFunc(
242-
// testAccCheckCloudStackProjectExists(
243-
// "cloudstack_project.qux", &project),
244-
// resource.TestCheckResourceAttr(
245-
// "cloudstack_project.qux", "name", "terraform-test-project-accountid"),
246-
// resource.TestCheckResourceAttr(
247-
// "cloudstack_project.qux", "display_text", "Terraform Test Project with Accountid"),
248-
// resource.TestCheckResourceAttr(
249-
// "cloudstack_project.qux", "accountid", "b0afc3ca-a99c-4fb4-98ad-8564acab10a4"),
250-
// ),
251-
// },
252-
// {
253-
// Config: testAccCloudStackProject_updateAccountid,
254-
// Check: resource.ComposeTestCheckFunc(
255-
// testAccCheckCloudStackProjectExists(
256-
// "cloudstack_project.qux", &project),
257-
// resource.TestCheckResourceAttr(
258-
// "cloudstack_project.qux", "name", "terraform-test-project-accountid"),
259-
// resource.TestCheckResourceAttr(
260-
// "cloudstack_project.qux", "display_text", "Terraform Test Project with Accountid"),
261-
// resource.TestCheckResourceAttr(
262-
// "cloudstack_project.qux", "accountid", "c1bfd4db-b9dc-5af6-87ad-9675dcab20b5"),
263-
// ),
264-
// },
265-
// },
266-
// })
267-
// }
191+
func TestAccCloudStackProject_updateUserid(t *testing.T) {
192+
var project cloudstack.Project
193+
194+
resource.Test(t, resource.TestCase{
195+
PreCheck: func() { testAccPreCheck(t) },
196+
Providers: testAccProviders,
197+
CheckDestroy: testAccCheckCloudStackProjectDestroy,
198+
Steps: []resource.TestStep{
199+
{
200+
Config: testAccCloudStackProject_userid,
201+
Check: resource.ComposeTestCheckFunc(
202+
testAccCheckCloudStackProjectExists(
203+
"cloudstack_project.baz", &project),
204+
resource.TestCheckResourceAttr(
205+
"cloudstack_project.baz", "name", "terraform-test-project-userid"),
206+
resource.TestCheckResourceAttr(
207+
"cloudstack_project.baz", "display_text", "Terraform Test Project with Userid"),
208+
resource.TestCheckResourceAttr(
209+
"cloudstack_project.baz", "userid", "075655af-c1cb-11ee-9946-0242ac110003"),
210+
),
211+
},
212+
{
213+
Config: testAccCloudStackProject_updateUserid,
214+
Check: resource.ComposeTestCheckFunc(
215+
testAccCheckCloudStackProjectExists(
216+
"cloudstack_project.baz", &project),
217+
resource.TestCheckResourceAttr(
218+
"cloudstack_project.baz", "name", "terraform-test-project-userid-updated"),
219+
resource.TestCheckResourceAttr(
220+
"cloudstack_project.baz", "display_text", "Terraform Test Project with Userid Updated"),
221+
resource.TestCheckResourceAttr(
222+
"cloudstack_project.baz", "userid", "075655af-c1cb-11ee-9946-0242ac110003"),
223+
),
224+
},
225+
},
226+
})
227+
}
228+
229+
func TestAccCloudStackProject_updateAccountid(t *testing.T) {
230+
var project cloudstack.Project
231+
232+
resource.Test(t, resource.TestCase{
233+
PreCheck: func() { testAccPreCheck(t) },
234+
Providers: testAccProviders,
235+
CheckDestroy: testAccCheckCloudStackProjectDestroy,
236+
Steps: []resource.TestStep{
237+
{
238+
Config: testAccCloudStackProject_accountid,
239+
Check: resource.ComposeTestCheckFunc(
240+
testAccCheckCloudStackProjectExists(
241+
"cloudstack_project.qux", &project),
242+
resource.TestCheckResourceAttr(
243+
"cloudstack_project.qux", "name", "terraform-test-project-accountid"),
244+
resource.TestCheckResourceAttr(
245+
"cloudstack_project.qux", "display_text", "Terraform Test Project with Accountid"),
246+
resource.TestCheckResourceAttr(
247+
"cloudstack_project.qux", "accountid", "0756244c-c1cb-11ee-9946-0242ac110003"),
248+
),
249+
},
250+
{
251+
Config: testAccCloudStackProject_updateAccountid,
252+
Check: resource.ComposeTestCheckFunc(
253+
testAccCheckCloudStackProjectExists(
254+
"cloudstack_project.qux", &project),
255+
resource.TestCheckResourceAttr(
256+
"cloudstack_project.qux", "name", "terraform-test-project-accountid-updated"),
257+
resource.TestCheckResourceAttr(
258+
"cloudstack_project.qux", "display_text", "Terraform Test Project with Accountid Updated"),
259+
resource.TestCheckResourceAttr(
260+
"cloudstack_project.qux", "accountid", "0756244c-c1cb-11ee-9946-0242ac110003"),
261+
),
262+
},
263+
},
264+
})
265+
}
268266

269267
func testAccCheckCloudStackProjectExists(
270268
n string, project *cloudstack.Project) resource.TestCheckFunc {
@@ -357,31 +355,33 @@ const testAccCloudStackProject_userid = `
357355
resource "cloudstack_project" "baz" {
358356
name = "terraform-test-project-userid"
359357
display_text = "Terraform Test Project with Userid"
360-
userid = "b0afc3ca-a99c-4fb4-98ad-8564acab10a4"
358+
userid = "075655af-c1cb-11ee-9946-0242ac110003"
359+
accountid = "0756244c-c1cb-11ee-9946-0242ac110003"
361360
domain = "ROOT"
362361
}`
363362

364363
const testAccCloudStackProject_updateUserid = `
365364
resource "cloudstack_project" "baz" {
366-
name = "terraform-test-project-userid"
367-
display_text = "Terraform Test Project with Userid"
368-
userid = "c1bfd4db-b9dc-5af6-87ad-9675dcab20b5"
365+
name = "terraform-test-project-userid-updated"
366+
display_text = "Terraform Test Project with Userid Updated"
367+
userid = "075655af-c1cb-11ee-9946-0242ac110003"
368+
accountid = "0756244c-c1cb-11ee-9946-0242ac110003"
369369
domain = "ROOT"
370370
}`
371371

372372
const testAccCloudStackProject_accountid = `
373373
resource "cloudstack_project" "qux" {
374374
name = "terraform-test-project-accountid"
375375
display_text = "Terraform Test Project with Accountid"
376-
accountid = "b0afc3ca-a99c-4fb4-98ad-8564acab10a4"
376+
accountid = "0756244c-c1cb-11ee-9946-0242ac110003"
377377
domain = "ROOT"
378378
}`
379379

380380
const testAccCloudStackProject_updateAccountid = `
381381
resource "cloudstack_project" "qux" {
382-
name = "terraform-test-project-accountid"
383-
display_text = "Terraform Test Project with Accountid"
384-
accountid = "c1bfd4db-b9dc-5af6-87ad-9675dcab20b5"
382+
name = "terraform-test-project-accountid-updated"
383+
display_text = "Terraform Test Project with Accountid Updated"
384+
accountid = "0756244c-c1cb-11ee-9946-0242ac110003"
385385
domain = "ROOT"
386386
}`
387387

scripts/list_accounts_and_users.go

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package main
2+
3+
import (
4+
"fmt"
5+
"log"
6+
"os"
7+
8+
"github.com/apache/cloudstack-go/v2/cloudstack"
9+
)
10+
11+
func main() {
12+
// Create a new CloudStack client
13+
apiURL := os.Getenv("CLOUDSTACK_API_URL")
14+
apiKey := os.Getenv("CLOUDSTACK_API_KEY")
15+
secretKey := os.Getenv("CLOUDSTACK_SECRET_KEY")
16+
17+
if apiURL == "" || apiKey == "" || secretKey == "" {
18+
log.Fatal("CLOUDSTACK_API_URL, CLOUDSTACK_API_KEY, and CLOUDSTACK_SECRET_KEY must be set")
19+
}
20+
21+
cs := cloudstack.NewClient(apiURL, apiKey, secretKey, false)
22+
23+
// List accounts
24+
fmt.Println("=== Accounts ===")
25+
p := cs.Account.NewListAccountsParams()
26+
accounts, err := cs.Account.ListAccounts(p)
27+
if err != nil {
28+
log.Fatalf("Error listing accounts: %v", err)
29+
}
30+
31+
for _, account := range accounts.Accounts {
32+
fmt.Printf("Account: %s, ID: %s\n", account.Name, account.Id)
33+
}
34+
35+
// List users
36+
fmt.Println("\n=== Users ===")
37+
u := cs.User.NewListUsersParams()
38+
users, err := cs.User.ListUsers(u)
39+
if err != nil {
40+
log.Fatalf("Error listing users: %v", err)
41+
}
42+
43+
for _, user := range users.Users {
44+
fmt.Printf("User: %s, ID: %s, Account: %s\n", user.Username, user.Id, user.Account)
45+
}
46+
}

0 commit comments

Comments
 (0)