From f19f610ce6afeea74fd634c356abb24192a843b8 Mon Sep 17 00:00:00 2001 From: Carl Lundin <108372512+clundin25@users.noreply.github.com> Date: Thu, 23 Feb 2023 11:44:00 -0800 Subject: [PATCH 1/7] chore: Refresh system test creds. (#1234) --- system_tests/secrets.tar.enc | Bin 10324 -> 10324 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/system_tests/secrets.tar.enc b/system_tests/secrets.tar.enc index 1e7949e8e6c86ba8bab84169e4d1a2bbe401141b..cd0e37f156e8f7a31d0abd3526f0987835dcc70b 100644 GIT binary patch literal 10324 zcmV-aD67{BB>?tKRTH5wOaVAD-@y!LXl28?JtyFjLwq58V-^yNOx2%F+PXP)W;o_=%DUIUk}p@uI2d z+k6G+jhL|shdBUf%mvrK!<^lG=lXh&;EqK0()ji$r*(EerS@^Ddvx3=^(b-iW{fo%BH)Kek)efZ-)yl;evc06Amk$yQy>oD?B1b6 zg|e_-J30NCqPx@s2J!M(t=It8kkq8Y6LRlL)Wbsb8I<_gzn^gq`0^z>dd2hEDDNxK8#pMb)Y2Amxn^vWX*c1#YT zo$Dx&CvZNM#w3=!jz8@8Xs3&H`TYoejS`(Qa=;1QwZ7I-ZRD+GB^V7j7pw7|Tk+7f zH1wTwe-KxxG_$D7p);??pn~Am?o6@XPeRf-_=b3&1uwsbONrq#M8~q{@UNFQoAhm?O zUnu4-BBZwn1lC-)Vx2>C0H&%hYWsIgqCl==5tceS$LWFen4mb}FP6@Nw{NQMmA>c2 z6USE1Ly8`o!GU?^+;6mZ8s<@+6cB0$PziVX9r3a6#Zc2l5`6n0sDr7gUpUOcp}*B2 z-=)O!ZyA+rtY_Rmb;~zVhio$fZ@VSR8-6yO#G(MDM%?J0%*7D)0p^J>@Rlf+thqst zcj1ZFZt5A+dv~@?X$afRDd_~N)rZuDzg|F8uWyq)1gRC@=oKw>qXU6}j_3!R*0{MY zRs{y1?^>?DQNN=(;16|DW~9J8OE;g-4=?WYGGu7jnRm`N-vi_U>E_xwO^yhZ_RI;& zhvXH-EF6ivWfDN^SL;=uwlt$M+>Ki zi$oX8MBu##6<^Eek6;R6TrK2!C!d^&*~07d+$Tm)QTd#NW%< z7e@_ywQ-iChkWI}xtWK50U0tN$t}r&BHNDJtYI>|)&&y@L`|6EEN|59~=gdQD*0kd- zQ2Adlu=L0MlK8@%9*K|Wl!;XaNZq!99UOMW086z0PLVigaa>Rqxn)mndhG{+n>A{0bt6MqT#xB&!WIE1DV z9@9(3V@;6lz}p4c0Y|HE8A{>J&fW3I9@j=7W;27Qn$rQFpq|KJ-ef9pOxW1%Kvq;q%z3P_`$Yn z(z@97-)z+tF8D~(E-6u{Rg7-m{hyfW)3LsM4C4IHDE5N*3^ZPLASC+M7tuqo(wKAU zXXhralf(^JSMO08t&s)-RlVapE1e}X%j(%89M_V<;4zBbRiBWcpcTcVJ>il4eWBKb zEXsrJLi{vjbJVAZ({i^<3a)xSok6Mqi%A%%yK?rYm~l=Tc+-CSw=*9P#}^O)RbvMs+M%*)n;gN{=0hW5*a4%l;W4ZM*evqfCy(5 zqbh?&4lDnn_gzBAs(W^UZk>)|T0=9w(aC+Efr8=k#tnZJ!@Yt&{pA$k9G*^oA-1n=}|%%9_H1Gk1^<$By8F zEH^~1*Z^%mnn8v>W~(h#(c{5*{_BiKWLl5^qE3M;iF3jt!~eg58FNGs85UOKk{m0PgaIPu!!7`3No*iKd=P2?=r#tmD$G>L+r~b z9QN!h29a{s(PNIFs`m5XojbZCSweFISI&eef2pj|s#ppOysw%F1xirRyK?D&%!YCQ z>vyOZOFg(NbjlK_$uV{xbyQOr^vPiKmnT1E(1Cpu1ahs4rIED81-f}`vduGK(AyR{ zMBilB<(i+Wct3)hNZJ=$M0lnMY`6Eeq4D#GbXUg;D4#8ttW>0ZOSo8l9|W8mhX-wf z=s~Zm?kc~jHdLS<;5(nMHG3D2kw{_|3T5>vyb0zzm^uE6jrWTPlPRo-9M($yNn<TLZ{I_Qg+pZN)t$CKMe}DdX2GOYEOtmB|Mw80r*{RJ2}Fb zJT%z+%sB>C^S&ga88uxm9`CPc3xeS zB2&`Gf?czcr@=NXzXs*Y)pf798saX)@}uBGw0Jl-TB}0@YGo=1;EOyG1c)&i`@8bN&)EIIx!^ZmlK=r&MZZ zCD&f08?9DKY!>ff9kI*%1sKPYVYK;spWvGU?yOVyt~x8psu*Ff9pkLFdWi2=45c4T z$iH)WW<^+Bb6@`8Bogs&g8@U!ddy$ayTKOWgqmg!HJ3e-N##BXk@v;3j}g$ukHP_s zE?$To2_DfY8CGhyhp5;{7vDNmp>|Wble!V0RY(ud8uNWkiXh>FESHnQS*ak2n#0zH zmKknre*H1Vz&8iR#L8`|8pA8<73ke1y%>sco(=4-{S-dZgvA^3xIH30UQtBA+92i< zW!xAUmXw_bGlKgQV(x`V(iMcM+_iKdzx|Da!dm&SlA45z8aZWj`*<}$rOah)`?o{-${K`ra%4;-m(Y`ZfkwP2Z20LDqJP-G&XS_H-r+^zlvvWHv9&<+i%R z5`U&|vjGYPq)CiR)*)A}*bJ(j{Bp%a8)6wO&QQbJg}2wUsp;429yTyylcBKBFAguv zQXR-h1|}rb1bxq8RAvqK7}k9!;bQ>aljwmNj+%!0YoJ*Aumvb!XDb#i52>ju%VU4z zDkN$BR=jQFrD!<^nui(3bhQV6beFfZZQ9iCzU#<$$~4j_SA}Bj=&^3mwKmSAhW_C?_r3S03|${PEzZEq$)B?;wHMXdD&R_*P21=D4P~cNO`*IhKOI zNq(xA?EHxHMXNrPO0cg4ayd`}0QwrMq0h3hq96=H5rn#S2Z-su^njBEQtsYpxP$m` zpc@(Vgiq?*^JiD9R%3HeWESFw!xinkRS-z90Sx5M1g2ef3S3Si(TI$U3>f|q^PaZM zVWHQu)y9M=y{4=|k1Y(Q)bn=BOea zT$TJT1cA)FReYbQR>ZEavOs-2^xhcGzOBuhFP;Ze!U~(3GzNQ~vr-^EO8e)MsgK3) z^!lDFv(bn?kU-Ae8gfYMA4e%ALeEP?rZ}W55XNbBwB5oRLM_@YdyNSA(3G~zkEmX1 z?_|C$2ZDa^&3C?5UaX#MuzbeqS(C%kFgs=l6F|hssm|fm5wBk-k9{N19{}qM58mMt z+}Ff8)vCf;LTfyvQ zvt=4)RUg!!w1c?Zs9tc{u&0mdau$G4w1T8F?lCBa*=me@ud$T7|2si62c>de#}RI z5#L2Dc-!i0BI?Q9EVx2?^O$0!z#y8{xN-A)kRJQ>J?U%5t|>_5nEFMt-QpMy!Y|e3 z=kBBtY?XCtpSF!;o6lu!HM~tfN*nwCvAzku!v%n=`UaJK5=X;}(~txBYDX-HDqsoy z`k@|b*D|RsywFaMo+w{oXiWI)K{YsjO~6>MEe>Jp_P}CR{mI4vgi!852?L9tEo@NB zt45N9?WgR^FDW!iY$_Bm&{W1bGMWpfR{V^U!5e`Vb7eRU3fi`!KKLakye;hE=`x*n zl9FP@*uO!5RAM0ZBtjLK14qwwovIk)#S|~H-@HRwb)de!E^_46Z%d+CF~qo{i3pqb z!Ic`I-Yv1UHV3t=+lc-lJkuO%d1z8EMyxd8%b48n`LA6t2|MN55Wz+~2`LU?{-QA7 zkE{Q06SCp3ELI@wkl4baCUvO(P$PsPYTMT9ib~X&tx-N{hr~1SskQxGGD_6Ex)?3s z>-p`S1lzg@?IUY+k*dNEVH01gsw>u)BPm=i^eZ`_Z*8u9Ue}~QHU)@LE8VKeEna3e zbJYed2YIZAOx?xjw)pY5NjN3L4Y&q9qcJtt`FYv z{>g0n_kc|GoL!=#(C{uR5{b8D`pDt>$oZYE^=4OPgL7uRS5p=f@$|lDnU7EycCNez zfCxV}^iDp3l*t*9GJ(kc@*R{q&<6sAfu6zQH+h_%eKN$Hp2c-xNA)LzOYE*}?KG{M zd;7Msd)h|Q6aAYLPPRda}&AnAk5#l`5&ODcgHj9lBeKt_Muo0}+u|?r-!n^kyT0;1wAe`B_ zLiq;%$B*9mWg6h$(TJt61PX(v$aO4c3`xMIs5L8O-_S)P#vl41E;vHnux>*MVa#)4 z3i}?$>wNUG2Mx6P^=zFaO6p7Wu*o+o4U%;M$sF)=*lvY;dFg)^UVI+^5lb2#PI+}* z8FfxzU4b56e%@nkukTAdQHR(NKa6Yv4OO*fkN=WCgD=m=C9}$u5JC|w7R~$+Z*N0b z#FCAOo{t1cj|)mEcB{!?@9r~W<;e$}??`C-gV0esJO}n+(4sg?n8IZ5TpKISV<=C# zA%488kugLgbAR|M+NVzkm#>#4u=|iuyy4~ZWtw{S5l5nZBqxeB6A%PSIFxD33f6G4 zY5z>n|GE8vS=^GpEASRa);MAQgf7y|{=5B8mYG^w7jwsZ)_~4o;vkYB3NMViADIZ~ z##4Ej7t8ZQ-{m0=Q_c`{u-EYT!OZ)T z(%=C0ekZD74yb#6PeLNfmr^T3@`w@7Mwpge@yv$13RKV|th!;~BBxQrPkcN~RHV*V zqz?P$kI)w_Lgs<1eV1E1ovEw>6#P7ICWZ90tpRc>!7%XPvq7fpG?K7Q_1J*yGhO|rH7E|1f^~SN0NT+$Cb#{`O+nanD)ul>)I-1I4+&jazw>>so zVR=VpS_LUJ5;FxFJ~BF9tcH?%Tk2f2jEDqX9pljCPMApM;b1J^YNK`(w20>dZXf@_ zw=%*4R4JGXn%FAtc_A+o?oUBEaR%~bSM?1ypNq8bZ18=#oUY&4;YObKWAy!Lj^d^~ ztOAV!S_!rkmt?CkPTs3$?(Hl!*_2b1AqjTo_~!a{yo2&ZHAhxq5-sDj^tY^G+ug4y zmD5!W?Vu(mVQMqHj{K)pXSF+nG@c__#81eFyZWy0LQ!Yx#Bt7z4=3F&Ps09 zaAjgk*1Pbp$UsaR#Bl=ANWwBW9IaVH&LqdSNgO0+7-O40r)Eb(@E-5BT6Q1$$-&#& z%+v4UG9JbdY5c`m(IFpkyI3CQw!i0W&fMDNK@yM-yfo1!!>)#=nkWgjR(_*;5ue>A z79H~Z|1YcQp(R3E**Q7TN_2C@Z=*5EacwtuJc=4$(~Lun^i*(buMAGTOPwUUcn8bx zM3OA<2$ssk;roqkMliUpvz^UEWHCzD54PN!Lobqb!EjK1g6gN!|8HWJQjRx8NT^}> zp%ixihbBxSIQ86o#FZ2{PHJ7fxCY&G7SVR@^~vh2s#-r$%6Zk0j7pyKB-Um4h2g5G z&PBwAcy_lIEX}CMWU59h!V50esEFfZVrnu_5?YuJEkHdwu#^}KA?x*c%h`B4+BV>& zX#$78;POcbS|{npwbohL2?LUcz2)%>;Fs~uk`U)1HnPPY7#|2qH(O4OA`O_2^OzG4 z*5ujEMDp!nDO6n^L+s@OY|C8BuJR7xMopE*5e z@Mh}Fm*`i)%R3_g+cVOnK_bBIq6BgS=*l6{E&iKnoJqmK#p$j8osiBaki@R|MfCe& z=81n+trCx(#&vbPVBAlU9?PZ($P11+vKJR}$TF;z;EbE*M8KRxh7ha^|5jWV;4 zx|GK*>k_fN#4-K^+YmWxNP2vTDBZ63naYD0v8Ze=o(Vx?> zIjq=Tmz!Vqa^HZmt|SSjjh~JNbZOjL7pALr8`nt5%0E*{ARi-gP`-4PmF5oub)FeJ zQ|B>g-(E_22bA^B1Y)N(HrQ8MPazB4K+J79^%B9;_1%pYrb7b{Cg(ozwFu%b%QTg| z*jG-3X``tCB|iQf)&)T><#KPw#$Ue9qaH?ER6?coas3X$LufNAd1U^(Xam2&4@u}o zvs#VOj?4LApt+DpHJ?Q+Qao795#*~p-eK0#oW7ya%JCs;g~{fpH#oWuN*HsEm==XE z2oj|K)Zu4r4>bEWP~wvPQhLn~CR`W4I@aYe6J&B@)HL}znqp?q2RIdxkUOrTSY&mZ zzt95`bj9$n2H9cEz#Vvd7*545OoFY(x2DB<+I<~nO22F1e7x+m{d4R+>>>nvP}np> z_Hdlhl`PFd?V#-LNi*)qe%ZsSoiWgT&bX!TpkmWFS++@vzZyaA@D8`b|TovSunN0uur2 zAx%(Fi1E3_VM@-u7;_oQ&ZK^bX1PUWs#pG!G-4FjQFpsb5@G=cAQ-j0qr6j|U^{^I zkomj9%#_X^l6+=GcNPrECsy}q*Gc)1Q2i4M$d>E1c|qE!Qi}H*`g6RUV>zmpMQ4ZU zBc~Aw7M7JleGOxRTclLiBd-tucu_BdAi~LgH#kKXcYSKY zUkZ|R9Lxm-7}#rzQeO&=`|Y74;=rl$U%_R^*ficbJIY2<#mDz3UmS(F^7*|kE6fm~ z=uAyo_Ub&L@H}R#wu)hkhB(U0EIzl8`|_3=(t~QE`|hrr9SVhWFt{aX53}QbRA%}p zocI&jqbw$HARg(UM%W%>hQ1evOeIXXMMCnZ6Wp-dyTH;vb-+o9s;Uy*x*HL6J6{uz zV&JN==K4ZNdk|yHVJ5TOuM8cIcIx}dw8r`~)G(Y1Pmv427DieH-83FNpn6w)ORqyQ zL?sp~bf2DiurEN)A<9tBQvuwLw2K0#T{nt6S^V0is6Xul(5W+|mX?6{_o6X>NN(Id z^c~lZnN*>Fb3Sq{Q1TR|W#UxW^ys`wp4{4(78m6{*0kXhbjx1%m|=9Ncb8xUU2~Cg zB`Al<`Xa-Jz#!UCt4}^50?!y11V5iMPeACk z_pwOmQa~_i4H-c6c?)E%`-UKZ=P)%=dywsiIjX=Hc?@aG&u1N&bySD&{H21r?9TLr zFpaC1HNa(y#wOZ4y6I~{2eknY%a!knlR=DHl0cM4@;0qnPSjNT6jl5myVh>I1UZdJ z>K09*z9BhKji{yGB|+8|Xfs0WBdZnhP?z?WBTRd|uuk#`uuz?qI`|f`#?+Qzj|NYrZ$TpY@+e|`*DN=r&}qKkKMHE=ZF$Nzc?b-Y?$u?nzrb( zj!_xPIUP6PE_zakgQNWbkYWkz)PqM7?nxPYD3Dkbk zVX<%k7De})C4I*xcZ(fpY6zys?Td{z`^8H7RaxW}IJnO4n`PPXUaCh=33P>*xk_%o9@B|%1QdSeq`gtdVaH3K*!{+l^`E%_lR{Iyp0Dy`@WdyT z7&98bbdeRp8pm9PRa}yny%^=u`P@$Tvty(W&pu{oqw(oaC)L=3z&T&JcXJ!a2)%q? z<6*VF2bE^fHuBHeqX}c|{C;x&u_!;380LNQ?zq-A zH|$HDKL7auXGg0QR8AzANJ0t5-ow=5+SvF)ffLCrIY3YauK3^yM>f_qU?(O2 zJ&2?o{XT03_vE5D?snOjmk|H77pY=$EI|_eY0BQ6Fw88V6zd{*0N{KvkrbpPd74VC zK6vG>wJ@}+PSz>rJO3zR;%dH6>zKt~<5Bopm}O?N6urX|^@-`4R#f=S{wCcp zmbxH}{R^t|qvWhuz!y&#LLG&x=os1$zenT!Ddvyo|FxY(hKi3u|L9LrH%OCQmv z>Q=GPe{=F9A-)$2m|YfU-o_W{WXy(kNf==S6P$gOYt|suI!oSs_W80P;@1K@b`m=x zR@7&P5-)zR9aQ@)+VnduIC(pprbb+OmYocaPh=9JKJno_k98W=Yn>$ls5|M^iN_w#q<3Dke7c|ka3j?RwCW)4V%wu3VEVA3p5&OAM(@!KAIe{J;%-6vHtbYBFaN;j9obcnW&paCw2E`={EVzQ8mE+;DR zL@J&JLYT=cRb~TUdr{ifVqTjFg#~kWSk$X`y?u^?6vvp*VqtXNw8#kl2Nhn3MDw;*R2A|V6`0&1GoJS z9*8(N|1@3V4aU#RD?XlvM|7~XxzMv4@ij48ECNrrD;ad1b#fF z60!YBvMDYYO87ef$ORS?dl)s~;2GDjijg=rR%lq`Y-9_n> zI@UTr%eButbqz~o3&0Tt=jXm{noqvqL!Dr!i^sTR{M;%CZj^Q5wt>E)Ula;X<)vk*jr)vJTXh zP&Hur$oQCNrkVQLQW2E(bw@hx8EC5laB6GN;LcZy2eastsHA+JZkHN|XGwAsfwuPMU0L6UY*5>kE;<;L+Zv&FMPJJ!UT0NA^ z0Xd%okq_4k)6X_Ik~_7lWM72O97dt$`2Vk`uvO;%1Eww&cQhIU%?)VBOA!%P4i|Wf z-gHK*jNxj8f8HS}@m$6ocUN=RB;}--k8OLYg67P!si@q(r7NXL;jmi>!O0aMzHZgsHY=GT&#kjsbi@ESuf z;~2Kcoml>cW66YbXFD*M!N{QX8zqiHEy30dTlU4jULz}7%(cFFw?w2hC+W_l!L^Of%Fh4*+og9>$p;` zc#6gID4YQ*R@lAg^<#Dg=C&f{bVD=khS|(orsHvcVSWRIV-r_o>sxK}95Q*p!IWuj z+Ip1VC@%_YLztSq02a!B|8ZK=9reYQ63$GfzR#N9VtK3zV3$ebK_cvzc|y)S08$+B z^7U|b5xX_)pjs!mGCH6nsAULg5QXLU;tHqc9W^}I4231)` zIRbhXFj6+1j3N+_C0KM!-B+eSheq49Z(1kZ)6FuvH8fR{GXRn1{~}`=Gc?<22e(ZA z)e>jU5yVC7vBTc`Wue=YlU8n+?{hGmA)BSl4*=u#dJ#oq@(A(q%#565Sc!T$^3j1+ z=^3aGBio7d>Ts3bgF`)%f1xaH0zCz+n%W#MnKoF_QS^u196`Q=KyrR!xWr#mW?tKRTDdwXqNBtozsq*r|8iSCDE}_p|D&LX=Nrv(o5EWVptNYPyl~- z0+#W|%cZD1!5T%q#NZ2j>z_icmXWw>sogmhM~xrc4(eH!$69j7Uv($`xBHK84FQcQ z>jE7WzQ1-8#NY`9cD^zFxX!il`ac5BKVpcSru92E`|kY1&)$zp;$IFawqvgLo_|l1 zMm?8fyq8L@MUO{X{j2uFxft}gyNePO=TaQ_b($U60oWeLf5T02lE!IA3#HhU%t1lwJ{At zPo01iiJ}PsSgU1wO!b-yf;xkJVk4=Axc;f4j-(rg=dE=YBk)h_$8j44)}L@+XW zCcbLA%~U6~Kw&$>mzr z=~cxy_FL=j&Lyojoq>TQWqK3sAgz{6FEnhHMkpDfViD@kqZ>o$V?LW$XaYy>=$FJCg8_C3`c~g>Sy^KS1Q6xGFwFm~mkIgpAU-F57sGt%@p?q8t{fRp{GfwVl3b`Ieodi>R| zyKZ9njr)B{K)z;&2n66?l-lz4C<|coR{3Qv^+@NVMVpiJik{U*Ny8GTe`99psO~dF zQ?lywcH>K_!00J<`N`XDO^>x?f@`gL(`#gjAv_jQx^Kzmgr12T4E^s@C42k%j1NfhgW8J;!# z{UV8^@~tdEQEvY4+aB!t{3Bvqy%6QBi!GxRv~LBr%hu|#5@I?#+(sI_$wT_QA0V1DmOJBfUM8k*$6-|Y<_RBBK-3q=xu&?eB!s| zwm3)kKpj`qVU(H6VnnsH7oW?)OP?CI3Gg=~-K<#h@m1$>E^OO0>ORb5gL7gL zx0^%W*&d1WYV=mO%#`lC?u!==^|6->6L;!Tuao{rQ%7g2HxH2-fD`$Kd>sKFeB#^+ zV|JQq$~w;@f-lIa>h(qnTEjfd-S_wQ;^+p~YS$7-TwH}YmW?z*EUedvU+3KMcGn}! zBQiP&e9XLsp;e}JUaMon8G(!_cjP`+Rr||2fPfnVQU9p5596;1JDS?@i!d&<*LO<; zAvFYtfbQeyHgqfBI%B9EYxH(Y(uH#;}W7U0!7K@k2@?CJW z6F0dygca?ZWwhKQzt>orq2@t>$Fv<<@VII83=>$Uc}B?I-(amACD6WkLqr2YErtHX z_@oSV*Iv~9)@Q3x;N9`?ldfgY_)`XO9IqhWMf#qKa5ot2 z=))3<8_Wh^X^3t4#KUgUXXA(iY-6*wxixt9Jo`BDk-r2ZkQgy@nIz|l(m*aq(!}rW z)A!0Sl!dmf%LBI8FmI7oUx{u53({Fz>I{<+YBwPCs!Q9BinfiQmkdVyeAAu0)dzMY zeyP+iHA+LW?xI%1&geU@VF$vqT}NqoD4h^cONrlTBl8-WiBO>`zhV}ztxzjgELqxJWf+n-!84$p(jN+=2;_$26gW(%Z%`1{hd zX3POK@HMPHjA-&^-j|t;jz97`Yr`+x5_Ds2=^XvVP2sJcA|bgLQJ2`2C?POjRh7?) zQu2gH!sVDwaRCkbWh|$;UlP!Do2PXFWWnRTn0yx6bf*9xPyYu~`0-z0` z+di$vj+i>|d1$1mJiRqj1TWk!3{ZC9k8a#L5rx*f+@Tg6Y()dMO8vlN=0wOvU`)q) zaC_!T7O->5?#>GN{A{AD_|SF-et;hq@iVd+6I>w5dyBaRu?;|0p4xdgpJ{x5`R2RE-nQkXZWe@-}0CMt9nCd&oitmkMO0 z)fv%z4sADyn0syT&z1@;p1d&A2dIcoyz;lFSZOD(sBAvIakxRWa3Lri#kQiz0!#l~ zi!EM=UI)~)chA9_>c>(kFY1L&-z2gwpv$0iQ=Hz(D0^f-?$yCwo&u@nC!-jyJQR_WH%DZrDx|DWWSpIxuY zDTGx@mDr?0QRZ?&D9qx_$)-pu3ztM_hei`QKIo1UaZi=})@Azvs+wFhK`@!ey*He? zNf_YG;sMS@wu%KT!SFXI!r##KG;RG|6OQ>@SdFAp3N{UY#|t+o~#RaNq{m4$Q_79 zkZj(MVTLOwc5!3MI!7O%J&ousM02u$5>)fw4*&LU{JscH7fg?#o4VM(3l+tW;m9;# zC^21%0(ABf1jnL^e&y8+myqUrd*7#p1aF+(pML_I70_cvDqHOrT{*9I4A&?sFv=EX zp9e?|aJtyq94LYom2exQ(VEo1h~`S^==L{O5rT)WTV~HGoEm7%V{{sQT~Ldjh1ZY7 zWsUJZNF+-JMv(*a&v=Z7g9sVifti^-;hDLH`f|o*g^-W`C`@iBzLhPt-q~?OghFtf zbW{?XMv&-52Gke4Rmt6fJa}8^vfM`3nI=oejGRg^yRW}2k(gV@N-C&O7mP2%Up0J} zSA7z~fa(fRZ_YaITK5@6F;2dS6OK{`75(Y0(i?v}ILEGD*9B22Y2 zdK>a35h6PkNkhslmx;~Ctm|lCY-0y#BqRfPE(Pr0UD}l&FU!0 z?ExBo?27AF^=u-r+SIFdoJb$dk~ ztGPG{|1W~+YK}MQ3z+m4wvtvZm!yq|&oO-DgLa&30}RyUrNX=GfMh!USF z{0_0bn2|s5%;X=LJkeK=`6ruvj?M}jK{(2i_^@J}*4KK$it>A;rQ^>*H#(8+*wZ|+ ze&hbIF3QxtBXrkI&uUO`Uy~4SvNEvNqQg0E9y^en)x;})J#;{>251YPq}tRyJddQ} z%(>+d?(zcYW#6RRZ*i^=1+F1j-p7Kj>a*L$BDw|`xF3IkAY>Nys})dXAiiMk<#kR0 zX`wq8P0^jqq5O>vk&NRUoyO2f`mRMGd^Z2Dx6v{~&XM=%{?MwB0-HrUx6KWF1YW1W zhcBiiL^X!lcoSzgIccpW^$@c(tlgIvsqov9gHFE)ZVb&;rtp3^{W5%RLf=#dU{!1% zM~@H|ui5W|L-8esR$wNHUm{p{)}^tegol7*-!{i6N3)U^P$z})^`-mUt>L=xw5R(d zq)-W$S~LE5PyIO=&;^jbf}IMTm_pAO_Us`p_67Hp6$(lE*RJUsDpAx~w@9hX`8L{^ ziu<)v`0%)~cLA#Ac_<78$`qzaS_{1Cq;JhN$i9dEWYW##jal%N8cZ(z%>c3^{CroE z>8Q@nZotKW%fP)Ee75p4b26m;2V8j>Jv@(D*3N7i-pER#2+bWbs1MuGh32-(;_?WlE((V7LSI8uFJrk$y4lqcyEz~7__o9$_G%MI8c$(y80 z=f2=`b1oU-L3Uejmt9+8c7MV!qsFoIZfhY@K{OGwhr77pqD3e2fOrwg+tMcSBB&Y3 z)GCgfA0CuYW%F+9pv*W*{+41LlM(+cNdhjJ>A!+EHe+UKav>mh6A=1P_a+i7k1&?P zi2@%I@-UljUxNfwB~KcxS@4ER`aN=YYIQ9h(N3+_ae;Z+>entNWeK=Bd0m7>7nJkg zEYq(BgZ>N4eIKWu#+7SjO0Ehuh`7adIGU^ zf8>KYG0|i_CGB{eQ~DN{APjd}BuhYDy);@t6$n&{J6TG(Lh@=;`&;UfZ^2ba)Y$#b*>mmB7I{p2MKKC?~n#++z`$kv?RdOs|A##?) z!pyJrr-RL3ZM$%~yOpc`uD-%5B-;t`yIC#P6lT0@%itf!a?1?Pb=D=l2eIk`p(N#n z?*(#$@%UFH72uAGXUQFTr}L=dy3Tf>Q{5A+&iL&5Pn#=|W6ccEwX-?_)DuNxvuD0o$T z`S)?CW0ik62C1FNmwR5ZOosT=nUFL@&(mu_Z2`;1y6#2_C^oS6d#rKKn(s~_n{|DY z*OtZX$qY+b`rih2Bz7+&O1@9xS~Q{ru38X^3qE!Hi+?6@1Vkl_9s(n*b_{z$%dh`B z*mWE4ceUK3&A$uQq(oOXuJH-FM75gA{12FRE{48bZ6vv$F?u5b;^ZT#0Ql&J*cH@P zgrPmVc%>6#sGD7k9?jcW<#<$$zNhc9?V@!qyuf@MDP-RjP{VU<`b;4KA9?$f;g^Ho z*|C4p;+e^|yj$ORngJhR(9ijJ!#!H|E7JANALO)L3K{2uf&26O#m4K9Th0UPnP)zp zM@BzYRx(M%MXZZa8JpetM!g7?Hu!H4mpwf8-Wt*|RqD3uLue_;*eq8XCmh}!LtwPk zBJWy~He{U1I5Fz-*`)H0zYju@?72J@0l!Q$nb*Rxt1?T}O1cEmFaz0t>nK}Kh0Tls zh8C#0h&ZzRwO>FZoEr?55&MB;^)a+yUCYv-4UFe#*%ZqK#W)7~2cu>4~ z0mW#j*g6@!Z7L4&k(n&E7%+C0Mqjri&nN&62PEd#n{sw8taSbq@rP$& z>K=YyJVpF9eYZj&ArKI4(4^)9Mk_C4e1Ss6k8($C^BD1bZ&=up*8WZb%Xu)z6nHiH zUN)JVbB=EDZn)FxPH`#(oljhZ`|MY)u5yClTS7fm5P95uTneW`cM84%#Wq^;+3~g8 z!E1OaCTc9eQsERw5_7S`@A-ZGYe!uWlpR#*N9YfhEnBx{z#_M$qF z>T{RLK}W9IZVp}B7C!>0%S*3;Hy`W{SR-Wj7aa)UQ}a-nfYC{SJY1(RRP(&C%Zj$N zg6pl!Rz9LW@nA55qmBuVbt#h^TF4*CEb~d|qtfb}1qQAceMS7!6q)j^|`_=h1j^`L`Z`D%R~2?WMKmOH*J( zMW=3yzT5+?@$PN9z(ogYcSu0feoNzGo%_Amgrl-N|3^)(?Z}DCnD8({jlpnVSHunfLPlD>9$F?RXanC1EdsYjecERu(DQ<{{94>J|= z-oBzpBJJ9?e%#-Ye-n?aV_(7BxzHG9`K~yeM`0mfRaK53&;YWnMOuM)Gn4tJyqKr! zmTPYHqehK+Z4plaaO}C#=?0niQ+dwW>u&&}`}4gq${8kPI`7%c4#n?RgM9rg2fi zQ-~7YlZ>-DY#;HUux1`!xv&@t_)vyZwZ?OH+`k(Sjo?@^m5%utHMoNGoWM5yjl@Qp z!p`QQoOHhKW$&uRG;D3ean|MPZ1tebko#S**%Gn;k6_W2jBW!(&mm$~^!PquJO zPcqD5jF??WDBdvAQSp(4`l`QRfFyv`9d;B~5iU%N3cr_y)!1bUW5bo&9up!-rF;b= zg%LYli=u3eN*vTgXEB3~0fAb=Z^M)j6EoRb!kV2A&p$mk3))zh^8d_PXsGDcao` zks%{2yr&F^e#5G_iVX!6QC|8m(`VMsgrY)atR<;^Z-gcgUE*4Thzhdeh8{2A_1Gz^ zd$7ge`h?+(7yu|mj`Hd$6PQ_!9q;60zS%*Mmorhc9uT>cr-|A7u$#-&%p z;_ngwJM$F%+9_-wj~f4w;k5Z|SEHQF8%?(X52EJCnP2~9=t!Fw5yV`=l0UTC?wsmG zdBoE`1NfO3FpogLD(SC5ZKk&>hJ~5{F&4+E54_OT z({5k~-n#e?S>`H`lFE}MqVIe5rpiJ5dq%$*a0)f$3oUOz;eNKV5y_=mT3NQ zj)ZwtOgN=WX0xu8rbh~6G|jR*#Qpjj9{m--=wToe2hJpg;BbW{fbt?@kuwbK0BEuk zzBu~yMd8~K+)Yx5khdYLM6rE0S9*w>@ql6&rQL=x;ixop?qahtl-?^nKi>)Kl}hMm zTgTpg4AU-8ob$Y zWd{#i`uvP`rFwnCSUTq#2r0VvjN?22(x(5)m5h;goJl8;zptlo(vmIVw;J}NnonC{ zqVgK>H(d=xNB-lNDu#r>tJVrX(~VWUXmIr>jM4STzxgi1q~a$h!k;QO=AymzQ_8bv zY`*QWJeI2>;!X-cgy4@4i+%Q=D~TGf=DY6Qp9$b?3MBMT&t1$|)|I*=O=E)n)ew}d za3NG2YO>w-?`OGgb@FrMpu)>nE0tkpm!F+A8O)k3C*jh!H|5}w&6Bk<^-a+q^%IJ4 z&MeR>CT^wau?W_8E#hG77N@kSq2<}Wj!wkT1q?NA4RC4`j{L>%b3Up^!prqS2=HZC z^P%!Rk*CLDy^|IL8GFmlS|%-1qv}Joj;64OL1*1<--2wg9<|YP;CW?WJ9NXmX_hPy z&88a`iw3F8Gxv;U5-2BgU-p6CUfa(Idmg!;%aOfHZvCWvVR#W!R5)t@6Jk6>xmMpe ztSrF#hFn!$@kx;5LoL<(?;BL|%fbE#!W?Uvr?L51&!OMwjZ_-_WAJ6L;GL6$1UL*$9s0#5n2<*Eebh)9iM1}7N&>)Y)0UmS~ISTe!k zm+nN+*1+0I7!tDY&V?s(mQ<-1nHWc!Zwgy~x6{ooavWxn=Ca_^^5-@zCZFTkuqL*C z#b3BFmzZ4mGMRX+Qc-;B3e{inr~GAYAxlqli?n%tX@gx=c4`o%lb$Y|E*+2+}kd}PP7zmUb*`|`_^UJz#-!)SvtQi?ek=y92 zQG*RZ{>V@QGTIe1)TZ0i=RJ+(>T;uG&n`s%SE60adYiQ}drNZ*3Eg@t%ZQLo*E`~; zPA0tJK|CS31R2)1HusTMIH&}u2BU9Q>wZr#azX{`D8^v*xD1I9wU1otRC-XukjN3< zk6DEmyY%-`cIGmZuMjcOp6(|0ffUX5!2Nol7D}gn& zLaBLAA31L#&pIiP&GMy;xdh4aZ}a{1>ctRqytVS1jGg&Wj=}oTRdgSyv?#?72~$`e zzgGeQ8KM7*VKs732UwyeA}9{es?E1NNXO>h%@}@!TZKc%b)! zW8&HazCdCwL36JdULfyd_w#~7Ji(Z`asUfLuqI7Z1M42>a0Gnb|1af>3xHY+F~*oO z?0Pyz1`j(YqxI4(pJ>%Cq)OW`66CDZDqq_d%srgprs4eD&PV|Cb3-ec;# z-w@oFROLW3l|q%mp*?9Np;Tf|Ib55}qZeOTUlccmhYq?M z<>9B64sRmPQ^B@C{|M{2lj z$I?uQk@H_JYH5Ju1}syh4u}-5Wk?N7f{nknA|r)6`b*k2*6SNIeDskw#?ZU*D2k>Z zTclK!pc|6h!5XQB65Y|6_20-v*83`4C9lsK2<~kw9q$Xj8CU%8xb6s9(4VMx5SA$N z)SlHnjIVL?2_IYUc|J>$z-^TXt<_f}+rl0GG4?_4UvbsF{@>AWEWH+Xu{|l{s4l;} z>9c+!hjlhVT_RjGPAfrXaiTB`in>0|EzA9vNXHih=P{4WrI{RcDoT5OSQsY2q%tOYOnag#$iQ4T|_ zfiIN$Z91#D*`)05aDV%;9#oXrpm2#MOz8nqqr>0G|g%~$>F1$+SIux_|x0SR)$2<#tnA0Y@rn*E<(Gik(>i|@v4XpOYiK9Yf z>rr7kbvob2wfK$8bAq1A?KFkbPORj{d26jJbKF7^L*4N zy{DJy?2gnlIHu>bJZ+(K|LlnlcS7NeLxps< zSaB-L#E{(`!(!5PvarFr*)Pn9dGI3;nwrtIoiiFH(C}4JV)vfjS|uNjj}8br5-um1 z_6AEK9v$VMt8t?A8uiG06uHot_$XTQ_7>T>T_akNs~)&pn$+CPDdc&8k9dRxw8ONo z5$sF4Jh^czds7@W$(T9bMHzYOc{M>#9%2Pd`TP)&C~C-(#sQ5gvmbG6boRa?yVSZ6 z{8jgrp7H-z1&JqdDcg!6)rDJI1xmLX)eNFpVrDuI@{juUwK^m)x<51yL|D{Zt7oUM z`RF)cz7+@X%l`_zv*`rQ+%FkmR2x$L{|cN#j0TKe={O$K&=iuPmHB1rLh@YK<*gq4 z^(8!wRC80Vj1g&@ppu6HF8gL}#}6BPowINf0Qp@)e5|6YhX-lB(HRdNUPB?5udyO1 z;>^BW>C0#^%0e~^ujIbY%56#JBtKHPe+6ZEkoM9!(PX~<`-O279Sld21w|H-e!4q% z)yp2uXA*KD?D1?@w}^F;ocCUVCCXm#38q!UFXe0P`#R{VhLoOv(q$Eg!=o-LfYGeX z5;Fqm`4BqYB7HpQtKuI867Gz8miFDL502OT1>!BuU0;?D16RR-@}Q_F#ts;a$3OFS zGt)}8svG?HffF1QGo>)lbdVvj#m4;o52z#j4_mny!YTeVA#2ESAv3(+{p~-x&Bs!T zEu*HSg-wJaA{41iEcJVD3*kneb4y(2V0O%`9L7Pv*ZrK2_!NX2&vW9K0=SCKLVOPi ml6439JaqK0U2k!Az96*;xu&bpGE%rD^c3F%_e}4a(cn!Cl2&v8 From 91ac8e66396fd2335f2be6e7b40dc5c4f6e47bc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20Cepl?= Date: Thu, 23 Feb 2023 23:39:25 +0100 Subject: [PATCH 2/7] fix: Do not use hardcoded string 'python', when you mean sys.executable. (#1233) Perhaps fixes #1120 --- tests/test__cloud_sdk.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test__cloud_sdk.py b/tests/test__cloud_sdk.py index c05c44320..160e1f1a4 100644 --- a/tests/test__cloud_sdk.py +++ b/tests/test__cloud_sdk.py @@ -16,6 +16,7 @@ import json import os import subprocess +import sys import mock import pytest # type: ignore @@ -73,7 +74,7 @@ def test_get_project_id_call_error(check_output): def test__run_subprocess_ignore_stderr(): command = [ - "python", + sys.executable, "-c", "from __future__ import print_function;" + "import sys;" From 2dfa21371185340404d5d739723a8cd434886e02 Mon Sep 17 00:00:00 2001 From: wangyutongg <120605768+wangyutongg@users.noreply.github.com> Date: Mon, 27 Feb 2023 19:00:01 -0800 Subject: [PATCH 3/7] fix: Improve ADC related errors and warnings (#1237) * fix: Improve ADC related errors and warnings * Run lint and blacken * Refresh system test credentials --- google/auth/_default.py | 21 ++++++++------------- google/auth/_default_async.py | 2 +- system_tests/secrets.tar.enc | Bin 10324 -> 10324 bytes tests/test__default.py | 6 ++++-- 4 files changed, 13 insertions(+), 16 deletions(-) diff --git a/google/auth/_default.py b/google/auth/_default.py index 195388c9d..997f2b4e8 100644 --- a/google/auth/_default.py +++ b/google/auth/_default.py @@ -48,23 +48,18 @@ ) # Help message when no credentials can be found. -_HELP_MESSAGE = """\ -Could not automatically determine credentials. Please set {env} or \ -explicitly create credentials and re-run the application. For more \ -information, please see \ -https://cloud.google.com/docs/authentication/getting-started -""".format( - env=environment_vars.CREDENTIALS -).strip() +_CLOUD_SDK_MISSING_CREDENTIALS = """\ +Your default credentials were not found. To set up Application Default Credentials, \ +see https://cloud.google.com/docs/authentication/external/set-up-adc for more information.\ +""" # Warning when using Cloud SDK user credentials _CLOUD_SDK_CREDENTIALS_WARNING = """\ Your application has authenticated using end user credentials from Google \ Cloud SDK without a quota project. You might receive a "quota exceeded" \ -or "API not enabled" error. We recommend you rerun \ -`gcloud auth application-default login` and make sure a quota project is \ -added. Or you can use service accounts instead. For more information \ -about service accounts, see https://cloud.google.com/docs/authentication/""" +or "API not enabled" error. See the following page for troubleshooting: \ +https://cloud.google.com/docs/authentication/adc-troubleshooting/user-creds. \ +""" # The subject token type used for AWS external_account credentials. _AWS_SUBJECT_TOKEN_TYPE = "urn:ietf:params:aws:token-type:aws4_request" @@ -650,4 +645,4 @@ def default(scopes=None, request=None, quota_project_id=None, default_scopes=Non ) return credentials, effective_project_id - raise exceptions.DefaultCredentialsError(_HELP_MESSAGE) + raise exceptions.DefaultCredentialsError(_CLOUD_SDK_MISSING_CREDENTIALS) diff --git a/google/auth/_default_async.py b/google/auth/_default_async.py index 5a41f2a6e..93a570c77 100644 --- a/google/auth/_default_async.py +++ b/google/auth/_default_async.py @@ -281,4 +281,4 @@ def default_async(scopes=None, request=None, quota_project_id=None): ) return credentials, effective_project_id - raise exceptions.DefaultCredentialsError(_default._HELP_MESSAGE) + raise exceptions.DefaultCredentialsError(_default._CLOUD_SDK_MISSING_CREDENTIALS) diff --git a/system_tests/secrets.tar.enc b/system_tests/secrets.tar.enc index cd0e37f156e8f7a31d0abd3526f0987835dcc70b..e7037d4e38871217c64281b284f68fcbf21c3e00 100644 GIT binary patch literal 10324 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 literal 10324 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 Date: Tue, 28 Feb 2023 06:05:56 -0500 Subject: [PATCH 4/7] chore(python): upgrade gcp-releasetool in .kokoro [autoapprove] (#1240) Source-Link: https://github.com/googleapis/synthtool/commit/5f2a6089f73abf06238fe4310f6a14d6f6d1eed3 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:8555f0e37e6261408f792bfd6635102d2da5ad73f8f09bcb24f25e6afb5fac97 Co-authored-by: Owl Bot Co-authored-by: Anthonios Partheniou --- .github/.OwlBot.lock.yaml | 2 +- .kokoro/requirements.in | 2 +- .kokoro/requirements.txt | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index 894fb6bc9..5fc5daa31 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,4 +13,4 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:f62c53736eccb0c4934a3ea9316e0d57696bb49c1a7c86c726e9bb8a2f87dadf + digest: sha256:8555f0e37e6261408f792bfd6635102d2da5ad73f8f09bcb24f25e6afb5fac97 diff --git a/.kokoro/requirements.in b/.kokoro/requirements.in index cbd7e77f4..882178ce6 100644 --- a/.kokoro/requirements.in +++ b/.kokoro/requirements.in @@ -1,5 +1,5 @@ gcp-docuploader -gcp-releasetool +gcp-releasetool>=1.10.5 # required for compatibility with cryptography>=39.x importlib-metadata typing-extensions twine diff --git a/.kokoro/requirements.txt b/.kokoro/requirements.txt index 096e4800a..fa99c1290 100644 --- a/.kokoro/requirements.txt +++ b/.kokoro/requirements.txt @@ -154,9 +154,9 @@ gcp-docuploader==0.6.4 \ --hash=sha256:01486419e24633af78fd0167db74a2763974765ee8078ca6eb6964d0ebd388af \ --hash=sha256:70861190c123d907b3b067da896265ead2eeb9263969d6955c9e0bb091b5ccbf # via -r requirements.in -gcp-releasetool==1.10.0 \ - --hash=sha256:72a38ca91b59c24f7e699e9227c90cbe4dd71b789383cb0164b088abae294c83 \ - --hash=sha256:8c7c99320208383d4bb2b808c6880eb7a81424afe7cdba3c8d84b25f4f0e097d +gcp-releasetool==1.10.5 \ + --hash=sha256:174b7b102d704b254f2a26a3eda2c684fd3543320ec239baf771542a2e58e109 \ + --hash=sha256:e29d29927fe2ca493105a82958c6873bb2b90d503acac56be2c229e74de0eec9 # via -r requirements.in google-api-core==2.10.2 \ --hash=sha256:10c06f7739fe57781f87523375e8e1a3a4674bf6392cd6131a3222182b971320 \ From e2d263a2e79a35e8cc90aa338780d07c3313dc76 Mon Sep 17 00:00:00 2001 From: arithmetic1728 <58957152+arithmetic1728@users.noreply.github.com> Date: Wed, 1 Mar 2023 12:05:50 -0800 Subject: [PATCH 5/7] fix: don't retry if error or error_description is not string (#1241) * fix: don't retry if error or error_description is not string * chore: fix flaky sample test * chore: update sys test cred --- google/oauth2/_client.py | 5 +++++ .../snippets/verify_google_idtoken.py | 2 +- system_tests/secrets.tar.enc | Bin 10324 -> 10324 bytes tests/oauth2/test__client.py | 9 ++++++++- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/google/oauth2/_client.py b/google/oauth2/_client.py index c2eb6443f..428993646 100644 --- a/google/oauth2/_client.py +++ b/google/oauth2/_client.py @@ -90,6 +90,11 @@ def _can_retry(status_code, response_data): error_desc = response_data.get("error_description") or "" error_code = response_data.get("error") or "" + if not isinstance(error_code, six.string_types) or not isinstance( + error_desc, six.string_types + ): + return False + # Per Oauth 2.0 RFC https://www.rfc-editor.org/rfc/rfc6749.html#section-4.1.2.1 # This is needed because a redirect will not return a 500 status code. retryable_error_descriptions = { diff --git a/samples/cloud-client/snippets/verify_google_idtoken.py b/samples/cloud-client/snippets/verify_google_idtoken.py index 4d2216efd..35b88c99e 100644 --- a/samples/cloud-client/snippets/verify_google_idtoken.py +++ b/samples/cloud-client/snippets/verify_google_idtoken.py @@ -48,7 +48,7 @@ def verify_google_idtoken(idtoken: str, audience="iap.googleapis.com", request = google.auth.transport.requests.Request() # Set the parameters and verify the token. # Setting "certs_url" is optional. When verifying a Google ID token, this is set by default. - result = id_token.verify_token(idtoken, request, audience) + result = id_token.verify_token(idtoken, request, audience, clock_skew_in_seconds=10) # Verify that the token contains subject and email claims. # Get the User id. diff --git a/system_tests/secrets.tar.enc b/system_tests/secrets.tar.enc index e7037d4e38871217c64281b284f68fcbf21c3e00..522223f61ca3696db2f340bbc08c7b0909105d50 100644 GIT binary patch literal 10324 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 mjFhreSB+?MujahT90N$2$(rsMys6wr1X=y{F4 literal 10324 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 diff --git a/tests/oauth2/test__client.py b/tests/oauth2/test__client.py index b322eefed..ff3096057 100644 --- a/tests/oauth2/test__client.py +++ b/tests/oauth2/test__client.py @@ -94,7 +94,14 @@ def test__can_retry_message(response_data): assert _client._can_retry(http_client.OK, response_data) -@pytest.mark.parametrize("response_data", [{"error": "invalid_scope"}]) +@pytest.mark.parametrize( + "response_data", + [ + {"error": "invalid_scope"}, + {"error": {"foo": "bar"}}, + {"error_description": {"foo", "bar"}}, + ], +) def test__can_retry_no_retry_message(response_data): assert not _client._can_retry(http_client.OK, response_data) From c078a13f3d7a6bda69efab11f11c1120e20137ef Mon Sep 17 00:00:00 2001 From: arithmetic1728 <58957152+arithmetic1728@users.noreply.github.com> Date: Thu, 2 Mar 2023 10:12:24 -0800 Subject: [PATCH 6/7] fix: call gcloud config get project to get project for user cred (#1243) --- google/auth/_cloud_sdk.py | 22 +++++++++------------- tests/data/cloud_sdk_config.json | 19 ------------------- tests/test__cloud_sdk.py | 13 ++----------- 3 files changed, 11 insertions(+), 43 deletions(-) delete mode 100644 tests/data/cloud_sdk_config.json diff --git a/google/auth/_cloud_sdk.py b/google/auth/_cloud_sdk.py index 40e6aec13..36c5b0158 100644 --- a/google/auth/_cloud_sdk.py +++ b/google/auth/_cloud_sdk.py @@ -14,12 +14,12 @@ """Helpers for reading the Google Cloud SDK's configuration.""" -import json import os import subprocess import six +from google.auth import _helpers from google.auth import environment_vars from google.auth import exceptions @@ -35,7 +35,7 @@ _CLOUD_SDK_POSIX_COMMAND = "gcloud" _CLOUD_SDK_WINDOWS_COMMAND = "gcloud.cmd" # The command to get the Cloud SDK configuration -_CLOUD_SDK_CONFIG_COMMAND = ("config", "config-helper", "--format", "json") +_CLOUD_SDK_CONFIG_GET_PROJECT_COMMAND = ("config", "get", "project") # The command to get google user access token _CLOUD_SDK_USER_ACCESS_TOKEN_COMMAND = ("auth", "print-access-token") # Cloud SDK's application-default client ID @@ -105,18 +105,14 @@ def get_project_id(): try: # Ignore the stderr coming from gcloud, so it won't be mixed into the output. # https://github.com/googleapis/google-auth-library-python/issues/673 - output = _run_subprocess_ignore_stderr((command,) + _CLOUD_SDK_CONFIG_COMMAND) - except (subprocess.CalledProcessError, OSError, IOError): - return None - - try: - configuration = json.loads(output.decode("utf-8")) - except ValueError: - return None + project = _run_subprocess_ignore_stderr( + (command,) + _CLOUD_SDK_CONFIG_GET_PROJECT_COMMAND + ) - try: - return configuration["configuration"]["properties"]["core"]["project"] - except KeyError: + # Turn bytes into a string and remove "\n" + project = _helpers.from_bytes(project).strip() + return project if project else None + except (subprocess.CalledProcessError, OSError, IOError): return None diff --git a/tests/data/cloud_sdk_config.json b/tests/data/cloud_sdk_config.json deleted file mode 100644 index a5fe4a9a4..000000000 --- a/tests/data/cloud_sdk_config.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "configuration": { - "active_configuration": "default", - "properties": { - "core": { - "account": "user@example.com", - "disable_usage_reporting": "False", - "project": "example-project" - } - } - }, - "credential": { - "access_token": "don't use me", - "token_expiry": "2017-03-23T23:09:49Z" - }, - "sentinels": { - "config_sentinel": "/Users/example/.config/gcloud/config_sentinel" - } -} diff --git a/tests/test__cloud_sdk.py b/tests/test__cloud_sdk.py index 160e1f1a4..e45c65bd9 100644 --- a/tests/test__cloud_sdk.py +++ b/tests/test__cloud_sdk.py @@ -37,17 +37,10 @@ with io.open(SERVICE_ACCOUNT_FILE, "rb") as fh: SERVICE_ACCOUNT_FILE_DATA = json.load(fh) -with io.open(os.path.join(DATA_DIR, "cloud_sdk_config.json"), "rb") as fh: - CLOUD_SDK_CONFIG_FILE_DATA = fh.read() - @pytest.mark.parametrize( "data, expected_project_id", - [ - (CLOUD_SDK_CONFIG_FILE_DATA, "example-project"), - (b"I am some bad json", None), - (b"{}", None), - ], + [(b"example-project\n", "example-project"), (b"", None)], ) def test_get_project_id(data, expected_project_id): check_output_patch = mock.patch( @@ -94,9 +87,7 @@ def test__run_subprocess_ignore_stderr(): @mock.patch("os.name", new="nt") def test_get_project_id_windows(): check_output_patch = mock.patch( - "subprocess.check_output", - autospec=True, - return_value=CLOUD_SDK_CONFIG_FILE_DATA, + "subprocess.check_output", autospec=True, return_value=b"example-project\n" ) with check_output_patch as check_output: From f346a63706225c72cc9e577d63bea51caca4da58 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 2 Mar 2023 10:39:40 -0800 Subject: [PATCH 7/7] chore(main): release 2.16.2 (#1236) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- CHANGELOG.md | 10 ++++++++++ google/auth/version.py | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e97486714..171fc3e7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,16 @@ [1]: https://pypi.org/project/google-auth/#history +## [2.16.2](https://github.com/googleapis/google-auth-library-python/compare/v2.16.1...v2.16.2) (2023-03-02) + + +### Bug Fixes + +* Call gcloud config get project to get project for user cred ([#1243](https://github.com/googleapis/google-auth-library-python/issues/1243)) ([c078a13](https://github.com/googleapis/google-auth-library-python/commit/c078a13f3d7a6bda69efab11f11c1120e20137ef)) +* Do not use hardcoded string 'python', when you mean sys.executable. ([#1233](https://github.com/googleapis/google-auth-library-python/issues/1233)) ([91ac8e6](https://github.com/googleapis/google-auth-library-python/commit/91ac8e66396fd2335f2be6e7b40dc5c4f6e47bc2)) +* Don't retry if error or error_description is not string ([#1241](https://github.com/googleapis/google-auth-library-python/issues/1241)) ([e2d263a](https://github.com/googleapis/google-auth-library-python/commit/e2d263a2e79a35e8cc90aa338780d07c3313dc76)) +* Improve ADC related errors and warnings ([#1237](https://github.com/googleapis/google-auth-library-python/issues/1237)) ([2dfa213](https://github.com/googleapis/google-auth-library-python/commit/2dfa21371185340404d5d739723a8cd434886e02)) + ## [2.16.1](https://github.com/googleapis/google-auth-library-python/compare/v2.16.0...v2.16.1) (2023-02-17) diff --git a/google/auth/version.py b/google/auth/version.py index a982b4bb6..0b9b05843 100644 --- a/google/auth/version.py +++ b/google/auth/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "2.16.1" +__version__ = "2.16.2"