Hi all, So firstly, if you're an XML guru, I apologize, the questions below are probably really basic, I always prefer JSON or YAML, because every time I deal with XML, I get a week-long-headache ;)
So I'm writing Tempest API tests for the keystone OS-TRUST extension, as was previously requested - it's going pretty well, & I'm finding some real bugs. Here's a WIP review: https://review.openstack.org/#/c/54810/ However, I've got a bit stuck formatting the POST body for the trust create in XML (all works fine via JSON). The json body looks like: { "trust": { "expires_at": "2013-02-27T18:30:59.999999Z", "impersonation": true, "project_id": "ddef321", "roles": [ { "name": "member" } ], "trustee_user_id": "86c0d5", "trustor_user_id": "a0fdfd" } } And looking at other XML tests which format a POST body, they do something like: post_body = Element("trust", xmlns=XMLNS, trustor_user_id=trustor_user_id, trustee_user_id=trustee_user_id, project_id=project_id, impersonation=impersonation, expires_at=expires_at) This gives me a post body which looks weird (but seems to work): <trust impersonation="True" xmlns="http://docs.openstack.org/identity/api/v3" trustor_user_id="efc6504105c54fbe95928a51459d06c9" expires_at="" trustee_user_id="f55efd1d617e4367891d202a811d7728" project_id="b5d498f9631244b59912ce2a0025cf8d"/> So my questions are: 1. Why do we create a single element like this, instead of appending subelements so the XML body looks more like the JSON request? 2. If any elements have a None value, they are encoded as a zero-length string, is that expected? 3. How do I go about encoding the list of roles, as in the sample request (it's a list of dicts, where each dict has one key called "name") Any help, review feedback or pointers to docs/examples would be hugely appreciated! Thanks, Steve _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev