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 }