/usr/lib/python2.6/site-packages/keystoneauth1/tests/unit
Edit: /usr/lib/python2.6/site-packages/keystoneauth1/tests/unit/test_session.pyc (32258B)
DVc @ sN d d k Z d d k Z d d k Z d d k Z d d k Z d d k Z d d k Z d d k l Z d d k l
Z
d d k l Z d d k l Z d d k l
Z d d k l Z d e i f d YZ d
e i f d YZ d e i f d
YZ d e i f d YZ d e i f d YZ d e i f d YZ d S( iN( t matchers( t adapter( t
exceptions( t plugin( t session( t utilst SessionTestsc B s e Z d Z d Z d Z d Z d Z d Z d Z d Z d Z
d Z d
Z d Z
d Z d
Z d Z d Z d Z d Z RS( s http://127.0.0.1:5000/c C sq t i } | i d d d | i | i } | i d | i i i | i | i d | i
| i d S( Nt GETt textt response( t client_sessiont Sessiont stub_urlt gett TEST_URLt assertEqualt
requests_mockt last_requestt methodR t
assertTruet ok( t selfR t resp( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_get" s c C s t i } | i d d d | i | i d h d d 6} | i d | i i i | i | i d | i
| i | i d h d d 6 d S( Nt POSTR R t jsont worldt hello(
R
R R t postR R R R R R R R t assertRequestBodyIs( R R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_post+ s c C se t i } | i d | i | i } | i d | i i i | i | i
| i d d S( Nt HEADt ( R
R R t headR R R R R R R R ( R R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_head5 s
c C s t i } | i d d d | i | i d h d d 6} | i d | i i i | i | i d | i
| i | i d h d d 6 d S( Nt PUTR R R R R (
R
R R t putR R R R R R R R R ( R R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_put> s c C sq t i } | i d d d | i | i } | i d | i i i | i | i
| i | i d d S( Nt DELETER R ( R
R R t deleteR R R R R R R R ( R R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_deleteH s c C s t i } | i d d d | i | i d h d d 6} | i d | i i i | i | i
| i | i d | i d h d d 6 d S( Nt PATCHR R R R R (
R
R R t patchR R R R R R R R R ( R R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt
test_patchQ s c C s t i d d } | i d d d | i | i } | i | i | i d d | i | i d h d d 6} | i | i | i d d | i | i d h d d 6d d } | i | i | i d d d S(
Nt
user_agents
test-agentR R R s
User-Agentt headerss new-agents overrides-agent( R
R R R
R R R t assertRequestHeaderEqual( R R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_user_agent[ s c C s) t i d d d d d d } t i h d d 6d d
6 } t i d | } t i i | i d | i i
} z | ~ } | i | i d
d | i
\ } } | i | d d | i | d | i | i | d
d | i | d d | i | d d | i | d d Wd QXd S( Nt certs cert.pemt timeouti t verifyt certsi t status_codeR R t return_valuet requestt datat valuei R i ( R
R R t TestResponset mockt MockR* t objectR t __exit__t __enter__R R t call_argsR ( R R t FAKE_RESPt RESPt _[1]t mockedt mock_argst mock_kwargs( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_http_session_optsl s 2c C s? t i } | i d d d | i t i | i | i d S( NR R4 i ( R
R R t assertRaisesR t NotFoundR
R ( R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_not_found s c C s? t i } | i d d d | i t i | i | i d S( NR R4 i ( R
R R RG R t InternalServerErrorR
R ( R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_server_error s c
C s t i d t } h d d 6} h t i i d 6t i i d 6t i i d 6} d } d } t t i | i | i } | i
d d
| d | | i | i d | d | } | i
| i d
| i d | i i | i d | i i | i d | i i | i | | i i | i d | | i i xI t i | D]8 \ } } | i | | i i | i | | i i qQWxd t i | D]S \ } } | i d | | i i | i
| | i | | i | | i i qWd S( sx Test request and response headers in debug logs
in order to redact secure headers while debug is true.
R2 t
HEADERVALBt HEADERAt
Authorizations X-Auth-Tokens X-Subject-Tokent BODYRESPONSEt BODYDATAR R R- R7 i t curls
--insecures '%s's
%s: {SHA1}N( R
R t Falset uuidt uuid4t hext dictt itertoolst chaint itemsR R R R R4 t assertInt loggert outputt sixt iteritemsR- t assertNotIn(
R R R- t security_headerst bodyR7 t all_headersR t kt v( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_session_debug_output s4
! c C sy t i } t i i } | i d d | d d | i | i d t } | i | i
d | i | | i i
d S( s3 Test that output is logged even for failed requestsR R R4 i t raise_excN( R
R RS RT RU R R
R RR R R4 RZ R[ R\ ( R R Ra R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_logs_failed_output s c C sk d } t i d | } | i d d d | i | i | i d | i i | i | | i i d S( Ns /path/to/certsR2 R R s --cacert( R
R R R
R RZ R[ R\ ( R t
path_to_certsR ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_logging_cacerts s c
C s | i d d t i i t i } d } t i d i i } zO | ~ } | i
t i | i | i
d | | i | | i | i d Wd QX| i | i i t i | d d S( NR t exci s
time.sleept connect_retriesg @i ( R t requestsR t TimeoutR
R R: R* R= R> RG t ConnectTimeoutR
R R t
call_countt assert_called_witht
assertThatR t request_historyR t HasLength( R R t retriesRB t m( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_connect_retries s &c C sM t i } | i } | i | i d t i | i | i d t i d S( Ns http://s https://( R
R R t assertIsInstancet adapterst TCPKeepAliveAdapter( R R t requests_session( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt" test_uses_tcp_keepalive_by_default s
c C s3 t i } t i d | | i | i i d S( NR ( R: R; R
R t assertFalset mountt called( R t mock_session( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt2 test_does_not_set_tcp_keepalive_on_custom_sessions s c C sx t i i } | i d d t i i | t i } d h | i d 6| d 6} | i
t i | | i | i d S( NR Rj s. SSL exception connecting to %(url)s: %(error)st urlt error( RS RT RU R Rl R t SSLErrorR
R R t assertRaisesRegexR
( R R R t msg( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_ssl_error_message s ( t __name__t
__module__R R R R" R% R( R+ R/ RF RI RK Re Rg Ri Rv R{ R R ( ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyR s$
#
t
RedirectTestsc B sz e Z d d d d g Z d Z d Z d d h h d Z d Z d
Z d Z d Z d
Z
d Z d Z RS( s http://myhost:3445/s http://anotherhost:6555/s http://thirdhost/s http://finaldestination:55/t Redirectt FoundR i1 c C s | i d | i xP t | i | i d D]5 \ } } | i i | | d | d h | d 6| q- W| i d d | i d | i | i i | | i d | d S( NR i R4 R- t Locationi i( t
setdefaultt DEFAULT_REDIRECT_BODYt zipt REDIRECT_CHAINR t register_urit DEFAULT_RESP_BODY( R R R4 t redirect_kwargst final_kwargst st d( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt setup_redirects s
c C s- | i | i d | i | i | i d S( Ni ( R R4 R R ( R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt assertResponse
s c C s= t i } | i | i | i d } | i | d S( Ni( R
R R R
R R ( R R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_basic_get s
c C sI t i } | i d d d d | i | i d } | i | d S( NR R R4 i- i( R
R R R R R ( R R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt$ test_basic_post_keeps_correct_method s c C se t i d t } | i | i | i d } | i | | i t | i t | i d S( Nt redirecti (
R
R t TrueR R
R R R t lent history( R R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_redirect_forever s
c C sc t i d t } | i | i | i d } | i | i d | i | i | i d d S( NR i i1 ( R
R RR R R
R R R4 R ( R R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_no_redirect! s
c C s | i xy d D]q } t i d | } | i | i d } | i | i d | i | i | i | | i | i | i q Wd S( Ni i R i i1 ( i i (
R R
R R
R R R4 R R R ( R t iR R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_redirect_limit( s
c C s | i d d t i d t } t i | i d d t } | i | i d } | i t | i t | i xO t
| i | i D]8 \ } } | i | i | i | i | i | i q Wd S( NR4 i- R i t allow_redirects(
R R
R R Rl R
R R R R R R R4 ( R R t req_respt ses_respt rR ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_history_matches_requests1 s " (
R R R R R R R R R R R R R ( ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyR s
t
AuthPluginc B s e Z d Z e i i Z d Z d Z h h d d 6d d 6d 6h d d 6d d 6d
6h d d 6d d 6d
6Z e e d Z
d Z d d d Z
d Z d Z d Z RS( sy Very simple debug authentication plugin.
Takes Parameters such that it can throw exceptions at the right times.
t aUsert aProjects http://identity-public:1111/v2.0t publics http://identity-admin:1111/v2.0t admint identitys http://compute-public:2222/v1.0s http://compute-admin:2222/v1.0t computes http://image-public:3333/v2.0s http://image-admin:3333/v2.0t imagec C s | | _ | | _ d S( N( t tokent _invalidate( R R t
invalidate( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt __init__S s c C s | i S( N( R ( R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt get_tokenW s c K s4 y | i | | SWn t t f j
o d SXd S( N( t SERVICE_URLSt KeyErrort AttributeErrort None( R R t service_typet interfacet kwargs( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt get_endpointZ s c C s | i S( N( R ( R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyR a s c C s | i S( N( t TEST_USER_ID( R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt get_user_idd s c C s | i S( N( t TEST_PROJECT_ID( R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt get_project_idg s N( R R t __doc__R t TestCaset
TEST_TOKENR R R R R R R R R R R ( ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyR @ s"
t CalledAuthPluginc B s5 e Z d Z e d Z d Z d Z d Z RS( s http://fakeendpoint/c C s1 t | _ t | _ h | _ t | _ | | _ d S( N( RR t get_token_calledt get_endpoint_calledt endpoint_argumentst invalidate_calledR ( R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyR o s
c C s t | _ t i i S( N( R R R R R ( R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyR v s c K s t | _ | | _ | i S( N( R R R t ENDPOINT( R R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyR z s c C s t | _ | i S( N( R R R ( R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyR s ( R R R R R R R R ( ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyR k s
t SessionAuthTestsc B s e Z d Z h d d 6Z d d Z d Z d Z d Z d Z d Z d
Z
d Z d Z d
Z
d Z d Z d Z d Z d Z d Z RS( s http://127.0.0.1:5000/R R R c K sM t i | | } d | i d | i d f } | i i | | | d S( Ns %s/%st /( R R t rstript lstripR R ( R R R t pathR R t base_urlt uri( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt stub_service_url s "c C s| | i d d | i d | i t } t i d | } | i | i } | i | i | i | i d t i
d S( NR R R t auths X-Auth-Token( R R t TEST_JSONR R
R R
t assertDictEqualR R. R ( R R t sessR ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt$ test_auth_plugin_default_with_plugin s c C s | i d d | i d | i t } t i d | } | i | i d t } | i | i | i | i
d d d S( NR R R R t
authenticateds X-Auth-Token( R R R R R
R R
RR R R R. R ( R R R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_auth_plugin_disable s c C s d } d } d } d } d } | i d | d | d | d | d
| t i d t } | i | d h | d 6| d 6} | i | i i i t i d d | | i | i
| | i | i | d S(
NR R s
/instancesi t SUCCESSR R R R4 R R t endpoint_filter( R R
R R R
R R R R R R R4 ( R R R R t statusRa R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_service_type_urls s$
c C s= t i } | i t i | i d d h d d 6d d 6d S( Ns /pathR R R R R ( R
R RG R t MissingAuthPluginR
( R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt) test_service_url_raises_if_no_auth_plugin s
c C sF t i d t } | i t i | i d d h d d 6d d 6d S( NR s /pathR t unknownR R R ( R
R R RG R t EndpointNotFoundR
( R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt* test_service_url_raises_if_no_url_returned s
c C sp | i i | i d d t i } | i t i | i | i | i | i d t } | i d | i
d S( NR4 i Rf ( R R
R R
R RG R t UnauthorizedRR R R4 ( R R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_raises_exc_only_when_asked s
c C s t } t i } | i i t i d d d h d d 6} | i t i | i d d t | i t i | i d d t
d | | i d d | d | } | i d | i | i
| i | i
| i d S( NR R4 i R R R R R ( R R
R R R
R RG R R R RR R R4 R R R ( R t passedR R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt test_passed_auth_plugin s
c C s t } t } t i | } | i i t i d d d | i d d | d h d d 6} | i d | i | i | i | i | i
| i | i | i | i
d S( NR R4 i R R R R ( R R
R R R
R R R4 R R R R| ( R t fixedR R R ( ( sL /tmp/pip-build-lt8jXN/keystoneauth1/keystoneauth1/tests/unit/test_session.pyt! test_passed_auth_plugin_overrides s c C s t i } t } t i h d d 6d d 6 } t i d | } t i i | i d | i i
} zW | ~ } | i | i d | | i
d | i d t i d
t i d | d t i Wd QXd S(
Ni R4 R R R5 R6 t
requests_authR R- R R R2 ( R
R R<