summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDolph Mathews <dolph.mathews@rackspace.com>2011-07-27 14:57:55 -0500
committerJames E. Blair <james.blair@rackspace.com>2011-07-28 09:47:41 -0700
commitbd4f870f96501eb3912c8177cd8a5830451b313e (patch)
tree11744c2fec80666cdcceb7ab5bd81637615cf34d
parent4802e21919d6628f3493e80dfb7bae50f42e7f6f (diff)
Restored identity.wadl w/ system test
Change-Id: I03899a3cc842f8f8ddaaa26c7681dcda43c2bc17
-rw-r--r--keystone/content/identity.wadl1024
-rw-r--r--keystone/controllers/staticfiles.py2
-rw-r--r--keystone/test/system/test_static_files.py20
3 files changed, 1045 insertions, 1 deletions
diff --git a/keystone/content/identity.wadl b/keystone/content/identity.wadl
new file mode 100644
index 00000000..18d6e872
--- /dev/null
+++ b/keystone/content/identity.wadl
@@ -0,0 +1,1024 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<application xmlns="http://wadl.dev.java.net/2009/02"
+ xmlns:identity="http://docs.openstack.org/identity/api/v2.0"
+ xmlns:capi="http://docs.openstack.org/common/api/v2.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xsi:schemaLocation="http://docs.openstack.org/identity/api/v2.0
+ xsd/api.xsd
+ http://docs.openstack.org/common/api/v1.0
+ xsd/api-common.xsd
+ ">
+
+ <grammars>
+ <include href="xsd/api.xsd"/>
+ <include href="xsd/api-common.xsd"/>
+ </grammars>
+
+ <!-- We should use SSL in production -->
+ <resources base="http://localhost:5000">
+ <resource id="version" path="v2.0">
+ <method href="#getVersionInfo"/>
+ <resource id="extensions" path="extensions">
+ <method href="#getExtensions"/>
+ <resource id="alias" path="{alias}">
+ <param name="alias" style="template" type="xsd:string"/>
+ <method href="#getExtension"/>
+ </resource>
+ </resource>
+ <resource id="tokens" path="tokens">
+ <method href="#authenticate" />
+ <resource id="tokenId" path="{tokenId}">
+ <param name="X-Auth-Token" style="header" type="xsd:string" required="true"/>
+ <param name="tokenId" style="template" type="xsd:string"/>
+ <method href="#validateToken"/>
+ <method href="#revokeToken"/>
+ </resource>
+ </resource>
+ <resource id="tenants" path="tenants">
+ <param name="X-Auth-Token" style="header" type="xsd:string" required="true"/>
+ <method href="#getTenants" />
+ <method href="#createTenant" />
+ <resource id="tenantId" path="{tenantId}">
+ <param name="tenantId" style="template" type="xsd:string"/>
+ <method href="#getTenant" />
+ <method href="#updateTenant" />
+ <method href="#deleteTenant" />
+ <resource id="endpoints" path="endpoints">
+ <method href="#getEndpoints"/>
+ <method href="#addEndpoint"/>
+ <resource id="endpoint" path="{endpointId}">
+ <param name="endpointId" style="template" type="xsd:int"/>
+ <method href="#getEndpoint"/>
+ <method href="#deleteEndpoint"/>
+ </resource>
+ </resource>
+ <resource id="roleRefs" path="roleRefs">
+ <method href="#getRoleRefs"/>
+ <method href="#addRoleRef"/>
+ <resource id="roleRef" path="{roleId}">
+ <param name="roleId" style="template" type="xsd:int"/>
+ <method href="#getRoleRef"/>
+ <method href="#deleteRoleRef"/>
+ </resource>
+ </resource>
+ </resource>
+ </resource>
+
+ <resource id="users" path="users">
+ <param name="X-Auth-Token" style="header" type="xsd:string" required="true"/>
+ <method href="#getUsers" />
+ <method href="#createUser" />
+ <resource id="userId" path="{userId}">
+ <param name="X-Auth-Token" style="header" type="xsd:string" required="true"/>
+ <param name="userId" style="template" type="xsd:string"/>
+ <method href="#getUser" />
+ <method href="#updateUser" />
+ <method href="#deleteUser" />
+ <resource id="enabled" path="enabled">
+ <method href="#setUserEnabled"/>
+ </resource>
+ <resource id="password" path="password">
+ <method href="#setUserPassword"/>
+ </resource>
+ <resource id="tenant" path="tenant">
+ <method href="#setUserTenant"/>
+ </resource>
+ </resource>
+ </resource>
+
+ <resource id="endpointTemplates" path="endpointTemplates">
+ <param name="X-Auth-Token" style="header" type="xsd:string" required="true"/>
+ <method href="#getEndpointTemplates"/>
+ <resource id="endpointTemplateId" path="{endpointTemplateId}">
+ <param name="X-Auth-Token" style="header" type="xsd:string" required="true"/>
+ <param name="endpointTemplateId" style="template" type="xsd:int"/>
+ <method href="#getEndpointTemplate"/>
+ </resource>
+ </resource>
+
+ <resource id="roles" path="roles">
+ <param name="X-Auth-Token" style="header" type="xsd:string" required="true"/>
+ <method href="#getRoles"/>
+ <resource id="roleId" path="{roleId}">
+ <param name="X-Auth-Token" style="header" type="xsd:string" required="true"/>
+ <param name="roleId" style="template" type="xsd:int"/>
+ <method href="#getRole"/>
+ </resource>
+ </resource>
+
+ </resource>
+ </resources>
+
+ <!-- Extensions -->
+ <method name="GET" id="getExtensions">
+ <response status="200 203">
+ <representation mediaType="application/xml" element="capi:extensions"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="GET" id="getExtension">
+ <response status="200 203">
+ <representation mediaType="application/xml" element="capi:extension"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 404 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <!-- Version Info -->
+ <method name="GET" id="getVersionInfo">
+ <response status="200 203">
+ <representation mediaType="application/xml" element="capi:version"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <!-- Token Operations -->
+ <method name="POST" id="authenticate">
+ <request>
+ <representation mediaType="application/xml" element="identity:passwordCredentials"/>
+ <representation mediaType="application/json"/>
+ </request>
+ <response status="200 203">
+ <representation mediaType="application/xml" element="identity:auth"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:userDisabled"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="401 403 400 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="GET" id="validateToken">
+ <request>
+ <param name="belongsTo" style="query"
+ required="false" type="xsd:string"/>
+ </request>
+ <response status="200 203">
+ <representation mediaType="application/xml" element="identity:auth"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ <representation mediaType="application/xml" element="identity:userDisabled"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 404 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="DELETE" id="revokeToken">
+ <response status="204"/>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 404 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <!-- Tenant Operations -->
+ <method name="GET" id="getTenants">
+ <request>
+ <param name="marker" style="query"
+ required="false" type="xsd:string"/>
+ <param name="limit" style="query"
+ required="false" type="xsd:int"/>
+ </request>
+ <response status="200 203">
+ <representation mediaType="application/xml" element="identity:tenants"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 404 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="PUT" id="createTenant">
+ <request>
+ <representation mediaType="application/xml" element="identity:tenant"/>
+ <representation mediaType="application/json"/>
+ </request>
+ <response status="201">
+ <representation mediaType="application/xml" element="identity:tenant"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="409">
+ <representation mediaType="application/xml" element="identity:tenantConflict"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="401 403 400 409 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="GET" id="getTenant">
+ <response status="200 203">
+ <representation mediaType="application/xml" element="identity:tenant"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 404 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="PUT" id="updateTenant">
+ <request>
+ <representation mediaType="application/xml" element="identity:tenant"/>
+ <representation mediaType="application/json"/>
+ </request>
+ <response status="200">
+ <representation mediaType="application/xml" element="identity:tenant"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="401 403 404 400 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="DELETE" id="deleteTenant">
+ <response status="204"/>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 404 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <!--User Operations-->
+ <method name="GET" id="getUsers">
+ <request>
+ <param name="marker" style="query"
+ required="false" type="xsd:string"/>
+ <param name="limit" style="query"
+ required="false" type="xsd:int"/>
+ </request>
+ <response status="200 203">
+ <representation mediaType="application/xml" element="identity:users"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 404 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="PUT" id="createUser">
+ <request>
+ <representation mediaType="application/xml" element="identity:tenant"/>
+ <representation mediaType="application/json"/>
+ </request>
+ <response status="201">
+ <representation mediaType="application/xml" element="identity:tenant"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="409">
+ <representation mediaType="application/xml" element="identity:tenantConflict"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="401 403 400 409 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="GET" id="getUser">
+ <response status="200 203">
+ <representation mediaType="application/xml" element="identity:user"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 404 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="PUT" id="updateUser">
+ <request>
+ <representation mediaType="application/xml" element="identity:tenant"/>
+ <representation mediaType="application/json"/>
+ </request>
+ <response status="200">
+ <representation mediaType="application/xml" element="identity:tenant"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="401 403 404 400 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="DELETE" id="deleteUser">
+ <response status="204"/>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 404 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="PUT" id="setUserEnabled">
+ <request>
+ <representation mediaType="application/xml" element="identity:user">
+ <param name="user" style="plain"
+ path="/" type="identity:UserWithOnlyEnabled"/>
+ </representation>
+ <representation mediaType="application/json"/>
+ </request>
+ <response status="200 203">
+ <representation mediaType="application/xml" element="identity:user">
+ <param name="user" style="plain"
+ path="/" type="identity:UserWithOnlyEnabled"/>
+ </representation>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="401 403 404 400 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="PUT" id="setUserPassword">
+ <request>
+ <representation mediaType="application/xml" element="identity:user">
+ <param name="user" style="plain"
+ path="/" type="identity:UserWithOnlyPassword"/>
+ </representation>
+ <representation mediaType="application/json"/>
+ </request>
+ <response status="200 203">
+ <representation mediaType="application/xml" element="identity:user">
+ <param name="user" style="plain"
+ path="/" type="identity:UserWithOnlyPassword"/>
+ </representation>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="401 403 404 400 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="PUT" id="setUserTenant">
+ <request>
+ <representation mediaType="application/xml" element="identity:user">
+ <param name="user" style="plain"
+ path="/" type="identity:UserWithOnlyTenant"/>
+ </representation>
+ <representation mediaType="application/json"/>
+ </request>
+ <response status="200 203">
+ <representation mediaType="application/xml" element="identity:user">
+ <param name="user" style="plain"
+ path="/" type="identity:UserWithOnlyTenant"/>
+ </representation>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="401 403 404 400 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="GET" id="getEndpointTemplates">
+ <request>
+ <param name="serviceName" style="query"
+ required="false" type="xsd:string"/>
+ </request>
+ <response status="200 203">
+ <representation mediaType="application/xml" element="identity:endpointTemplates"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="GET" id="getEndpointTemplate">
+ <response status="200 203">
+ <representation mediaType="application/xml" element="identity:endpointTemplate"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:authFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 404 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="GET" id="getEndpoints">
+ <response status="200 203">
+ <representation mediaType="application/xml" element="identity:endpoints"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:authFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="POST" id="addEndpoint">
+ <request>
+ <representation mediaType="application/xml" element="identity:endpoint"/>
+ <representation mediaType="application/json"/>
+ </request>
+ <response status="201">
+ <representation mediaType="application/xml" element="identity:endpoint">
+ <param name="Location" type="xsd:anyURI" style="header"/>
+ </representation>
+ <representation mediaType="application/json">
+ <param name="Location" type="xsd:anyURI" style="header"/>
+ </representation>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 404 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="GET" id="getEndpoint">
+ <response status="200 203">
+ <representation mediaType="application/xml" element="identity:endpoint"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 404 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="DELETE" id="deleteEndpoint">
+ <response status="204"/>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:authFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 404 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <!--Roles-->
+ <method name="GET" id="getRoles">
+ <request>
+ <param name="serviceName" style="query"
+ required="false" type="xsd:string"/>
+ </request>
+ <response status="200 203">
+ <representation mediaType="application/xml" element="identity:roles"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="GET" id="getRole">
+ <response status="200 203">
+ <representation mediaType="application/xml" element="identity:role"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:authFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 404 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="GET" id="getRoleRefs">
+ <response status="200 203">
+ <representation mediaType="application/xml" element="identity:roleRefs"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:authFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="POST" id="addRoleRef">
+ <request>
+ <representation mediaType="application/xml" element="identity:roleRef"/>
+ <representation mediaType="application/json"/>
+ </request>
+ <response status="201">
+ <representation mediaType="application/xml" element="identity:roleRef">
+ <param name="Location" type="xsd:anyURI" style="header"/>
+ </representation>
+ <representation mediaType="application/json">
+ <param name="Location" type="xsd:anyURI" style="header"/>
+ </representation>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 404 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="GET" id="getRoleRef">
+ <response status="200 203">
+ <representation mediaType="application/xml" element="identity:roleRef"/>
+ <representation mediaType="application/json"/>
+ </response>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:identityFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 404 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+
+ <method name="DELETE" id="deleteRoleRef">
+ <response status="204"/>
+ <response status="400">
+ <representation mediaType="application/xml" element="identity:badRequest"/>
+ </response>
+ <response status="401">
+ <representation mediaType="application/xml" element="identity:unauthorized"/>
+ </response>
+ <response status="403">
+ <representation mediaType="application/xml" element="identity:forbidden"/>
+ </response>
+ <response status="404">
+ <representation mediaType="application/xml" element="identity:itemNotFound"/>
+ </response>
+ <response status="500">
+ <representation mediaType="application/xml" element="identity:authFault"/>
+ </response>
+ <response status="503">
+ <representation mediaType="application/xml" element="identity:serviceUnavailable"/>
+ </response>
+ <response status="400 401 403 404 500 503">
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+</application>
diff --git a/keystone/controllers/staticfiles.py b/keystone/controllers/staticfiles.py
index 43bcb4a7..8a97cfb2 100644
--- a/keystone/controllers/staticfiles.py
+++ b/keystone/controllers/staticfiles.py
@@ -18,7 +18,7 @@ class StaticFilesController(wsgi.Controller):
@utils.wrap_error
def get_wadl_contract(self, req):
resp = Response()
- return template.static_file(resp, req, "identity.wadl",
+ return template.static_file(resp, req, "content/identity.wadl",
root=utils.get_app_root(), mimetype="application/vnd.sun.wadl+xml")
@utils.wrap_error
diff --git a/keystone/test/system/test_static_files.py b/keystone/test/system/test_static_files.py
new file mode 100644
index 00000000..bb8232f7
--- /dev/null
+++ b/keystone/test/system/test_static_files.py
@@ -0,0 +1,20 @@
+import unittest
+from common import KeystoneTestCase
+
+class TestStaticFiles(KeystoneTestCase):
+ def test_pdf_contract(self):
+ r = self.admin_request(path='/identitydevguide.pdf')
+ self.assertTrue('pdf' in r.getheader('Content-Type'))
+
+ def test_wadl_contract(self):
+ r = self.admin_request(path='/identity.wadl')
+ self.assertTrue('xml' in r.getheader('Content-Type'))
+
+# def test_xsd_contract(self):
+# self.admin_request(path='/xsd/something')
+
+# def test_xsd_atom_contract(self):
+# self.admin_request(path='/xsd/atom/something')
+
+if __name__ == '__main__':
+ unittest.main()