github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/acceptance/openstack/identity/v3/projects_test.go (about)

     1  //go:build acceptance
     2  // +build acceptance
     3  
     4  package v3
     5  
     6  import (
     7  	"os"
     8  	"testing"
     9  
    10  	"github.com/opentelekomcloud/gophertelekomcloud/acceptance/clients"
    11  	"github.com/opentelekomcloud/gophertelekomcloud/acceptance/tools"
    12  	"github.com/opentelekomcloud/gophertelekomcloud/openstack/identity/v3/projects"
    13  	th "github.com/opentelekomcloud/gophertelekomcloud/testhelper"
    14  )
    15  
    16  func TestProjectsList(t *testing.T) {
    17  	client, err := clients.NewIdentityV3Client()
    18  	th.AssertNoErr(t, err)
    19  
    20  	listOpts := projects.ListOpts{
    21  		Name: os.Getenv("OS_PROJECT_NAME"),
    22  	}
    23  
    24  	allPages, err := projects.List(client, listOpts).AllPages()
    25  	th.AssertNoErr(t, err)
    26  
    27  	allProjects, err := projects.ExtractProjects(allPages)
    28  	th.AssertNoErr(t, err)
    29  
    30  	for _, project := range allProjects {
    31  		tools.PrintResource(t, project)
    32  	}
    33  }
    34  
    35  func TestProjectsGet(t *testing.T) {
    36  	client, err := clients.NewIdentityV3Client()
    37  	th.AssertNoErr(t, err)
    38  	opts := projects.ListOpts{
    39  		Name: os.Getenv("OS_PROJECT_NAME"),
    40  	}
    41  	allPages, err := projects.List(client, opts).AllPages()
    42  	th.AssertNoErr(t, err)
    43  
    44  	allProjects, err := projects.ExtractProjects(allPages)
    45  	th.AssertNoErr(t, err)
    46  
    47  	project := allProjects[0]
    48  	p, err := projects.Get(client, project.ID).Extract()
    49  	th.AssertNoErr(t, err)
    50  
    51  	tools.PrintResource(t, p)
    52  }
    53  
    54  func TestProjectsCRUD(t *testing.T) {
    55  	client, err := clients.NewIdentityV3AdminClient()
    56  	th.AssertNoErr(t, err)
    57  
    58  	project, err := CreateProject(t, client, nil)
    59  	th.AssertNoErr(t, err)
    60  	t.Cleanup(func() {
    61  		DeleteProject(t, client, project.ID)
    62  	})
    63  
    64  	tools.PrintResource(t, project)
    65  
    66  	updateOpts := projects.UpdateOpts{
    67  		Description: "Updated",
    68  	}
    69  
    70  	updatedProject, err := projects.Update(client, project.ID, updateOpts).Extract()
    71  	th.AssertNoErr(t, err)
    72  
    73  	tools.PrintResource(t, updatedProject)
    74  }
    75  
    76  func TestProjectsNested(t *testing.T) {
    77  	client, err := clients.NewIdentityV3Client()
    78  	th.AssertNoErr(t, err)
    79  
    80  	projectMain, err := CreateProject(t, client, nil)
    81  	th.AssertNoErr(t, err)
    82  	t.Cleanup(func() {
    83  		DeleteProject(t, client, projectMain.ID)
    84  	})
    85  	tools.PrintResource(t, projectMain)
    86  
    87  	createOpts := projects.CreateOpts{
    88  		ParentID: projectMain.ID,
    89  	}
    90  
    91  	project, err := CreateProject(t, client, &createOpts)
    92  	th.AssertNoErr(t, err)
    93  	t.Cleanup(func() {
    94  		DeleteProject(t, client, projectMain.ID)
    95  	})
    96  
    97  	tools.PrintResource(t, project)
    98  }