<div dir="ltr">Yeah,  Sean's proposal looks great to me<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Aug 29, 2014 at 10:13 AM, David Kranz <span dir="ltr"><<a href="mailto:dkranz@redhat.com" target="_blank">dkranz@redhat.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">On 08/29/2014 10:56 AM, Sean Dague wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 08/29/2014 10:19 AM, David Kranz wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
While reviewing patches for moving response checking to the clients, I<br>
noticed that there are places where client methods do not return any value.<br>
This is usually, but not always, a delete method. IMO, every rest client<br>
method should return at least the response. Some services return just<br>
the response for delete methods and others return (resp, body). Does any<br>
one object to cleaning this up by just making all client methods return<br>
resp, body? This is mostly a change to the clients. There were only a<br>
few places where a non-delete  method was returning just a body that was<br>
used in test code.<br>
</blockquote>
Yair and I were discussing this yesterday. As the response correctness<br>
checking is happening deeper in the code (and you are seeing more and<br>
more people assigning the response object to _ ) my feeling is Tempest<br>
clients should probably return a body obj that's basically.<br>
<br>
class ResponseBody(dict):<br>
     def __init__(self, body={}, resp=None):<br>
         self.update(body)<br>
        self.resp = resp<br>
<br>
Then all the clients would have single return values, the body would be<br>
the default thing you were accessing (which is usually what you want),<br>
and the response object is accessible if needed to examine headers.<br>
<br>
        -Sean<br>
<br>
</blockquote></div>
Heh. I agree with that and it is along a similar line to what I proposed here <a href="https://review.openstack.org/#/c/106916/" target="_blank">https://review.openstack.org/#<u></u>/c/106916/</a> but using a dict rather than an attribute dict. I did not propose this since it is such a big change. All the test code would have to be changed to remove the resp or _ that is now receiving the response. But I think we should do this before the client code is moved to tempest-lib.<span class="HOEnZb"><font color="#888888"><br>

<br>
 -David</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
______________________________<u></u>_________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.<u></u>org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/<u></u>cgi-bin/mailman/listinfo/<u></u>openstack-dev</a><br>
</div></div></blockquote></div><br></div>