Identity v3 Projects Update (#167)
diff --git a/openstack/identity/v3/projects/testing/fixtures.go b/openstack/identity/v3/projects/testing/fixtures.go
index 96a4e41..caa5567 100644
--- a/openstack/identity/v3/projects/testing/fixtures.go
+++ b/openstack/identity/v3/projects/testing/fixtures.go
@@ -65,6 +65,31 @@
}
`
+// UpdateRequest provides the input to an Update request.
+const UpdateRequest = `
+{
+ "project": {
+ "description": "The team that is bright red",
+ "name": "Bright Red Team"
+ }
+}
+`
+
+// UpdateOutput provides an Update response.
+const UpdateOutput = `
+{
+ "project": {
+ "is_domain": false,
+ "description": "The team that is bright red",
+ "domain_id": "default",
+ "enabled": true,
+ "id": "1234",
+ "name": "Bright Red Team",
+ "parent_id": null
+ }
+}
+`
+
// RedTeam is a Project fixture.
var RedTeam = projects.Project{
IsDomain: false,
@@ -87,6 +112,17 @@
ParentID: "",
}
+// UpdatedRedTeam is a Project Fixture.
+var UpdatedRedTeam = projects.Project{
+ IsDomain: false,
+ Description: "The team that is bright red",
+ DomainID: "default",
+ Enabled: true,
+ ID: "1234",
+ Name: "Bright Red Team",
+ ParentID: "",
+}
+
// ExpectedProjectSlice is the slice of projects expected to be returned from ListOutput.
var ExpectedProjectSlice = []projects.Project{RedTeam, BlueTeam}
@@ -141,3 +177,16 @@
w.WriteHeader(http.StatusNoContent)
})
}
+
+// HandleUpdateProjectSuccessfully creates an HTTP handler at `/projects` on the
+// test handler mux that tests project updates.
+func HandleUpdateProjectSuccessfully(t *testing.T) {
+ th.Mux.HandleFunc("/projects/1234", func(w http.ResponseWriter, r *http.Request) {
+ th.TestMethod(t, r, "PATCH")
+ th.TestHeader(t, r, "X-Auth-Token", client.TokenID)
+ th.TestJSONRequest(t, r, UpdateRequest)
+
+ w.WriteHeader(http.StatusOK)
+ fmt.Fprintf(w, UpdateOutput)
+ })
+}