github.com/huaweicloud/golangsdk@v0.0.0-20210831081626-d823fe11ceba/openstack/identity/v2/users/testing/fixtures.go (about) 1 package testing 2 3 import ( 4 "fmt" 5 "net/http" 6 "testing" 7 8 th "github.com/huaweicloud/golangsdk/testhelper" 9 fake "github.com/huaweicloud/golangsdk/testhelper/client" 10 ) 11 12 func MockListUserResponse(t *testing.T) { 13 th.Mux.HandleFunc("/users", func(w http.ResponseWriter, r *http.Request) { 14 th.TestMethod(t, r, "GET") 15 th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) 16 17 w.Header().Add("Content-Type", "application/json") 18 w.WriteHeader(http.StatusOK) 19 20 fmt.Fprintf(w, ` 21 { 22 "users":[ 23 { 24 "id": "u1000", 25 "name": "John Smith", 26 "username": "jqsmith", 27 "email": "john.smith@example.org", 28 "enabled": true, 29 "tenant_id": "12345" 30 }, 31 { 32 "id": "u1001", 33 "name": "Jane Smith", 34 "username": "jqsmith", 35 "email": "jane.smith@example.org", 36 "enabled": true, 37 "tenant_id": "12345" 38 } 39 ] 40 } 41 `) 42 }) 43 } 44 45 func mockCreateUserResponse(t *testing.T) { 46 th.Mux.HandleFunc("/users", func(w http.ResponseWriter, r *http.Request) { 47 th.TestMethod(t, r, "POST") 48 th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) 49 50 th.TestJSONRequest(t, r, ` 51 { 52 "user": { 53 "name": "new_user", 54 "tenantId": "12345", 55 "enabled": false, 56 "email": "new_user@foo.com" 57 } 58 } 59 `) 60 61 w.Header().Add("Content-Type", "application/json") 62 w.WriteHeader(http.StatusOK) 63 64 fmt.Fprintf(w, ` 65 { 66 "user": { 67 "name": "new_user", 68 "tenant_id": "12345", 69 "enabled": false, 70 "email": "new_user@foo.com", 71 "id": "c39e3de9be2d4c779f1dfd6abacc176d" 72 } 73 } 74 `) 75 }) 76 } 77 78 func mockGetUserResponse(t *testing.T) { 79 th.Mux.HandleFunc("/users/new_user", func(w http.ResponseWriter, r *http.Request) { 80 th.TestMethod(t, r, "GET") 81 th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) 82 83 w.Header().Add("Content-Type", "application/json") 84 w.WriteHeader(http.StatusOK) 85 86 fmt.Fprintf(w, ` 87 { 88 "user": { 89 "name": "new_user", 90 "tenant_id": "12345", 91 "enabled": false, 92 "email": "new_user@foo.com", 93 "id": "c39e3de9be2d4c779f1dfd6abacc176d" 94 } 95 } 96 `) 97 }) 98 } 99 100 func mockUpdateUserResponse(t *testing.T) { 101 th.Mux.HandleFunc("/users/c39e3de9be2d4c779f1dfd6abacc176d", func(w http.ResponseWriter, r *http.Request) { 102 th.TestMethod(t, r, "PUT") 103 th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) 104 105 th.TestJSONRequest(t, r, ` 106 { 107 "user": { 108 "name": "new_name", 109 "enabled": true, 110 "email": "new_email@foo.com" 111 } 112 } 113 `) 114 115 w.Header().Add("Content-Type", "application/json") 116 w.WriteHeader(http.StatusOK) 117 118 fmt.Fprintf(w, ` 119 { 120 "user": { 121 "name": "new_name", 122 "tenant_id": "12345", 123 "enabled": true, 124 "email": "new_email@foo.com", 125 "id": "c39e3de9be2d4c779f1dfd6abacc176d" 126 } 127 } 128 `) 129 }) 130 } 131 132 func mockDeleteUserResponse(t *testing.T) { 133 th.Mux.HandleFunc("/users/c39e3de9be2d4c779f1dfd6abacc176d", func(w http.ResponseWriter, r *http.Request) { 134 th.TestMethod(t, r, "DELETE") 135 th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) 136 w.WriteHeader(http.StatusNoContent) 137 }) 138 } 139 140 func mockListRolesResponse(t *testing.T) { 141 th.Mux.HandleFunc("/tenants/1d8b6120dcc640fda4fc9194ffc80273/users/c39e3de9be2d4c779f1dfd6abacc176d/roles", func(w http.ResponseWriter, r *http.Request) { 142 th.TestMethod(t, r, "GET") 143 th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) 144 145 w.Header().Add("Content-Type", "application/json") 146 w.WriteHeader(http.StatusOK) 147 148 fmt.Fprintf(w, ` 149 { 150 "roles": [ 151 { 152 "id": "9fe2ff9ee4384b1894a90878d3e92bab", 153 "name": "foo_role" 154 }, 155 { 156 "id": "1ea3d56793574b668e85960fbf651e13", 157 "name": "admin" 158 } 159 ] 160 } 161 `) 162 }) 163 }