Identity v3 Projects Get (#164)
* Identity v3 Projects Get
* Renaming ToGetQuery to ToProjectGetQuery
* Fixing acceptance test
diff --git a/openstack/identity/v3/projects/testing/fixtures.go b/openstack/identity/v3/projects/testing/fixtures.go
index c4d9c03..cb10313 100644
--- a/openstack/identity/v3/projects/testing/fixtures.go
+++ b/openstack/identity/v3/projects/testing/fixtures.go
@@ -40,6 +40,21 @@
}
`
+// GetOutput provides a Get result.
+const GetOutput = `
+{
+ "project": {
+ "is_domain": false,
+ "description": "The team that is red",
+ "domain_id": "default",
+ "enabled": true,
+ "id": "1234",
+ "name": "Red Team",
+ "parent_id": null
+ }
+}
+`
+
// RedTeam is a Project fixture.
var RedTeam = projects.Project{
IsDomain: false,
@@ -65,7 +80,7 @@
// ExpectedProjectSlice is the slice of projects expected to be returned from ListOutput.
var ExpectedProjectSlice = []projects.Project{RedTeam, BlueTeam}
-// HandleListProjectSuccessfully creates an HTTP handler at `/projects` on the
+// HandleListProjectsSuccessfully creates an HTTP handler at `/projects` on the
// test handler mux that responds with a list of two tenants.
func HandleListProjectsSuccessfully(t *testing.T) {
th.Mux.HandleFunc("/projects", func(w http.ResponseWriter, r *http.Request) {
@@ -78,3 +93,17 @@
fmt.Fprintf(w, ListOutput)
})
}
+
+// HandleGetProjectSuccessfully creates an HTTP handler at `/projects` on the
+// test handler mux that responds with a single project.
+func HandleGetProjectSuccessfully(t *testing.T) {
+ th.Mux.HandleFunc("/projects/1234", func(w http.ResponseWriter, r *http.Request) {
+ th.TestMethod(t, r, "GET")
+ th.TestHeader(t, r, "Accept", "application/json")
+ th.TestHeader(t, r, "X-Auth-Token", client.TokenID)
+
+ w.Header().Set("Content-Type", "application/json")
+ w.WriteHeader(http.StatusOK)
+ fmt.Fprintf(w, GetOutput)
+ })
+}