blob: 002feb00555f2ae4a17efed0b34b5cccfb8c7f40 [file] [log] [blame]
Jamie Hannaford2a130242014-10-28 11:19:46 +01001package users
Jamie Hannaford6a076d82014-10-29 10:57:36 +01002
3import (
4 "fmt"
5 "net/http"
6 "testing"
7
8 th "github.com/rackspace/gophercloud/testhelper"
9 fake "github.com/rackspace/gophercloud/testhelper/client"
10)
11
12func MockListResponse(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",
Jamie Hannaford929bd002014-10-29 11:14:25 +010025 "name": "John Smith",
Jamie Hannaford6a076d82014-10-29 10:57:36 +010026 "username": "jqsmith",
27 "email": "john.smith@example.org",
Jamie Hannaford929bd002014-10-29 11:14:25 +010028 "enabled": true,
29 "tenant_id": "12345"
Jamie Hannaford6a076d82014-10-29 10:57:36 +010030 },
31 {
32 "id": "u1001",
Jamie Hannaford929bd002014-10-29 11:14:25 +010033 "name": "Jane Smith",
Jamie Hannaford6a076d82014-10-29 10:57:36 +010034 "username": "jqsmith",
Jamie Hannaford929bd002014-10-29 11:14:25 +010035 "email": "jane.smith@example.org",
36 "enabled": true,
37 "tenant_id": "12345"
Jamie Hannaford6a076d82014-10-29 10:57:36 +010038 }
39 ]
40}
41 `)
42 })
43}
Jamie Hannaford9c7bb8e2014-10-29 11:47:34 +010044
45func MockCreateUser(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 w.Header().Add("Content-Type", "application/json")
51 w.WriteHeader(http.StatusOK)
52
53 fmt.Fprintf(w, `
54{
55 "user": {
56 "name": "new_user",
57 "tenant_id": "12345",
58 "enabled": false,
59 "email": "new_user@foo.com",
60 "id": "c39e3de9be2d4c779f1dfd6abacc176d"
61 }
62}
63`)
64 })
65}
Jamie Hannaford2ad98bd2014-10-29 13:26:47 +010066
67func MockGetUser(t *testing.T) {
68 th.Mux.HandleFunc("/users/new_user", func(w http.ResponseWriter, r *http.Request) {
69 th.TestMethod(t, r, "GET")
70 th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
71
72 w.Header().Add("Content-Type", "application/json")
73 w.WriteHeader(http.StatusOK)
74
75 fmt.Fprintf(w, `
76{
77 "user": {
78 "name": "new_user",
79 "tenant_id": "12345",
80 "enabled": false,
81 "email": "new_user@foo.com",
82 "id": "c39e3de9be2d4c779f1dfd6abacc176d"
83 }
84}
85`)
86 })
87}