github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/identity/v3/users/testing/requests_test.go (about)

     1  package testing
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/opentelekomcloud/gophertelekomcloud/openstack/identity/v3/groups"
     7  	"github.com/opentelekomcloud/gophertelekomcloud/openstack/identity/v3/projects"
     8  	"github.com/opentelekomcloud/gophertelekomcloud/openstack/identity/v3/users"
     9  	"github.com/opentelekomcloud/gophertelekomcloud/pagination"
    10  	th "github.com/opentelekomcloud/gophertelekomcloud/testhelper"
    11  	"github.com/opentelekomcloud/gophertelekomcloud/testhelper/client"
    12  )
    13  
    14  func TestListUsers(t *testing.T) {
    15  	th.SetupHTTP()
    16  	defer th.TeardownHTTP()
    17  	HandleListUsersSuccessfully(t)
    18  
    19  	count := 0
    20  	err := users.List(client.ServiceClient(), nil).EachPage(func(page pagination.Page) (bool, error) {
    21  		count++
    22  
    23  		actual, err := users.ExtractUsers(page)
    24  		th.AssertNoErr(t, err)
    25  
    26  		th.CheckDeepEquals(t, ExpectedUsersSlice, actual)
    27  
    28  		return true, nil
    29  	})
    30  	th.AssertNoErr(t, err)
    31  	th.CheckEquals(t, count, 1)
    32  }
    33  
    34  func TestListUsersAllPages(t *testing.T) {
    35  	th.SetupHTTP()
    36  	defer th.TeardownHTTP()
    37  	HandleListUsersSuccessfully(t)
    38  
    39  	allPages, err := users.List(client.ServiceClient(), nil).AllPages()
    40  	th.AssertNoErr(t, err)
    41  	actual, err := users.ExtractUsers(allPages)
    42  	th.AssertNoErr(t, err)
    43  	th.CheckDeepEquals(t, ExpectedUsersSlice, actual)
    44  }
    45  
    46  func TestGetUser(t *testing.T) {
    47  	th.SetupHTTP()
    48  	defer th.TeardownHTTP()
    49  	HandleGetUserSuccessfully(t)
    50  
    51  	actual, err := users.Get(client.ServiceClient(), "9fe1d3").Extract()
    52  	th.AssertNoErr(t, err)
    53  	th.CheckDeepEquals(t, SecondUser, *actual)
    54  }
    55  
    56  func TestCreateUser(t *testing.T) {
    57  	th.SetupHTTP()
    58  	defer th.TeardownHTTP()
    59  	HandleCreateUserSuccessfully(t)
    60  
    61  	iTrue := true
    62  	createOpts := users.CreateOpts{
    63  		Name:             "jsmith",
    64  		DomainID:         "1789d1",
    65  		Enabled:          &iTrue,
    66  		Password:         "secretsecret",
    67  		DefaultProjectID: "263fd9",
    68  	}
    69  
    70  	actual, err := users.Create(client.ServiceClient(), createOpts).Extract()
    71  	th.AssertNoErr(t, err)
    72  	th.CheckDeepEquals(t, SecondUser, *actual)
    73  }
    74  
    75  func TestCreateNoOptionsUser(t *testing.T) {
    76  	th.SetupHTTP()
    77  	defer th.TeardownHTTP()
    78  	HandleCreateNoOptionsUserSuccessfully(t)
    79  
    80  	iTrue := true
    81  	createOpts := users.CreateOpts{
    82  		Name:             "jsmith",
    83  		DomainID:         "1789d1",
    84  		Enabled:          &iTrue,
    85  		Password:         "secretsecret",
    86  		DefaultProjectID: "263fd9",
    87  	}
    88  
    89  	actual, err := users.Create(client.ServiceClient(), createOpts).Extract()
    90  	th.AssertNoErr(t, err)
    91  	th.CheckDeepEquals(t, SecondUserNoOptions, *actual)
    92  }
    93  
    94  func TestUpdateUser(t *testing.T) {
    95  	th.SetupHTTP()
    96  	defer th.TeardownHTTP()
    97  	HandleUpdateUserSuccessfully(t)
    98  
    99  	iFalse := false
   100  	updateOpts := users.UpdateOpts{
   101  		Enabled: &iFalse,
   102  	}
   103  
   104  	actual, err := users.Update(client.ServiceClient(), "9fe1d3", updateOpts).Extract()
   105  	th.AssertNoErr(t, err)
   106  	th.CheckDeepEquals(t, SecondUserUpdated, *actual)
   107  }
   108  
   109  func TestExtendedUpdateUser(t *testing.T) {
   110  	th.SetupHTTP()
   111  	defer th.TeardownHTTP()
   112  	HandleExtendedUpdateUserSuccessfully(t)
   113  
   114  	iFalse := false
   115  	updateOpts := users.ExtendedUpdateOpts{
   116  		Enabled: &iFalse,
   117  		Email:   "email@generic.otc",
   118  	}
   119  
   120  	actual, err := users.ExtendedUpdate(client.ServiceClient(), "9fe1d3", updateOpts).Extract()
   121  	th.AssertNoErr(t, err)
   122  	th.CheckDeepEquals(t, ThirdUserUpdated, *actual)
   123  }
   124  
   125  func TestDeleteUser(t *testing.T) {
   126  	th.SetupHTTP()
   127  	defer th.TeardownHTTP()
   128  	HandleDeleteUserSuccessfully(t)
   129  
   130  	res := users.Delete(client.ServiceClient(), "9fe1d3")
   131  	th.AssertNoErr(t, res.Err)
   132  }
   133  
   134  func TestListUserGroups(t *testing.T) {
   135  	th.SetupHTTP()
   136  	defer th.TeardownHTTP()
   137  	HandleListUserGroupsSuccessfully(t)
   138  	allPages, err := users.ListGroups(client.ServiceClient(), "9fe1d3").AllPages()
   139  	th.AssertNoErr(t, err)
   140  	actual, err := groups.ExtractGroups(allPages)
   141  	th.AssertNoErr(t, err)
   142  	th.CheckDeepEquals(t, ExpectedGroupsSlice, actual)
   143  }
   144  
   145  func TestListUserProjects(t *testing.T) {
   146  	th.SetupHTTP()
   147  	defer th.TeardownHTTP()
   148  	HandleListUserProjectsSuccessfully(t)
   149  	allPages, err := users.ListProjects(client.ServiceClient(), "9fe1d3").AllPages()
   150  	th.AssertNoErr(t, err)
   151  	actual, err := projects.ExtractProjects(allPages)
   152  	th.AssertNoErr(t, err)
   153  	th.CheckDeepEquals(t, ExpectedProjectsSlice, actual)
   154  }
   155  
   156  func TestListInGroup(t *testing.T) {
   157  	th.SetupHTTP()
   158  	defer th.TeardownHTTP()
   159  	HandleListInGroupSuccessfully(t)
   160  
   161  	iTrue := true
   162  	listOpts := users.ListOpts{
   163  		Enabled: &iTrue,
   164  	}
   165  
   166  	allPages, err := users.ListInGroup(client.ServiceClient(), "ea167b", listOpts).AllPages()
   167  	th.AssertNoErr(t, err)
   168  	actual, err := users.ExtractUsers(allPages)
   169  	th.AssertNoErr(t, err)
   170  	th.CheckDeepEquals(t, ExpectedUsersSlice, actual)
   171  }