<div dir="ltr"><div><br></div><div>We'd like to get the keystoneclient tests out of keystone. They're serving a useful purpose of catching problems with non-backwards compatible changes in keystoneclient so we still want them run. Problem is they're running at the wrong time -- only on changes to keystone and not changes to keystoneclient.<br>
<br></div><div>The tests need to be run:<br><br></div>When keystoneclient changes<br><div> - run the tests against the change<br><br>When the tests change<br> - run the change against the current keystoneclient and also old clients<br>
<br>When keystone changes<br> - run the tests against the change with current client<br><br></div><div>So here's what I think we need to do to get keystone client tests out of keystone:<br><br> 1) Figure out where to put the tests - is it tempest or something else?<br>
 2) Write up a test and put it there<br> 3) Have a job that when there's a change in the tests it runs against current client lib<br> 4) Expand the job to also run against old clients<br>    - or is there 1 job per version?<br>
    - what versions? (keystone does master, essex-3, and 0.1.1)<br>    - e.g. tox -e master,essex-3,0.1.1<br>    - suggest start with these versions and then consider what to use in future<br> 5) Now we can start adding tests<br>
 6) Have a job that when there's a change in keystoneclient it runs these tests against the change<br> 7) When there's a change in keystone, run these tests against the change<br> 8) Copy the keystoneclient tests from keystone to the new location -- will require some changes<br>
 9) Remove the tests from keystone \o/<br>10) Move tests back to keystone where makes sense -- use webtest like v3 tests<br><br></div><div>I created an etherpad with this same info so it's easier to discuss: <a href="https://etherpad.openstack.org/p/KeystoneTestsToTempest">https://etherpad.openstack.org/p/KeystoneTestsToTempest</a><br>
</div><div><br></div>- Brant<br><br></div>