diff options
Diffstat (limited to 'tests/auto')
| -rw-r--r-- | tests/auto/oauth2/certs/selfsigned-client.crt | 33 | ||||
| -rw-r--r-- | tests/auto/oauth2/certs/selfsigned-client.key | 55 | ||||
| -rw-r--r-- | tests/auto/oauth2/certs/selfsigned-server.crt | 33 | ||||
| -rw-r--r-- | tests/auto/oauth2/certs/selfsigned-server.key | 55 | ||||
| -rw-r--r-- | tests/auto/oauth2/tst_oauth2.cpp | 83 |
5 files changed, 173 insertions, 86 deletions
diff --git a/tests/auto/oauth2/certs/selfsigned-client.crt b/tests/auto/oauth2/certs/selfsigned-client.crt index 88da2db..5155286 100644 --- a/tests/auto/oauth2/certs/selfsigned-client.crt +++ b/tests/auto/oauth2/certs/selfsigned-client.crt @@ -1,18 +1,19 @@ -----BEGIN CERTIFICATE----- -MIIC6TCCAdECCC/r9KvmbWTKMA0GCSqGSIb3DQEBCwUAMDUxFDASBgNVBAMMC0F1 -c3dlaXNBcHAyMR0wGwYDVQQFExQxODIzNTE0MTY0NzI5NDg5NDM3MTAiGA8xOTcw -MDEwMTAwMDAwMFoYDzk5OTkxMjMxMjM1OTU5WjA1MRQwEgYDVQQDDAtBdXN3ZWlz -QXBwMjEdMBsGA1UEBRMUMTgyMzUxNDE2NDcyOTQ4OTQzNzEwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQCahBpcZyr+PJBCpolzQeFVvDKABwlpdRKGZ8qq -jD4sq2L7VlBJslgJGv5vsB5oJbnX1FFEu4Uw2kYb/LhnFCEXEFtGKRpWOEZOOqWb -4l4q2MCa82ZCoIDt8yoAt0sSShbtR6pjW+l0lwAOEpfGvMaMVo5JUyspRxhl1dSu -sS2Wf65zliqF5VSM2r4xMfJ6LVytxDZsGfTe/HFT2OYYrF+UQZg0mNL39rYWOK4R -xoOz8eLl3K5hKuHNfn5zPt5QtMhaIvebijBg23xJpl+BeoS37WzaK1f+NyWZKPFb -rttvSnFxpkyRHqJJ5piNGH6pkQ1+zhd7uh7eOIwxktjYBOFzAgMBAAEwDQYJKoZI -hvcNAQELBQADggEBADw3MYPft+X78OK/2HAltzsKjfxv/D5qVizm9hcyG1GYe5pS -qgFn0trCyJopYdbRr+hP7CuHwMmv62CZiHSog3CBPoUh19JENUDGbHXxTEFleB0i -Fd8I2+WvRjbQ+ehaeTJPx88v5kkJnB2tZUNZuhEws8emCwr1G0TQv1tRYCR1Lp9i -8/I3FSFpL1zyk47WfM/THa279MPw9WtrFGA6oi36gH9mYxek7n/zQTVi54xDx9GT -KigBYqavjFdNXryjLTCCtJpMTDePgP66NAUnxn0D/amI2vSbIN++PSTsBm+n4Ti5 -QW/ShFQDNb4bDiwjtTKCeKwvAp2/6GSHVkYy28M= +MIIDADCCAeigAwIBAgIUCZMzRYZccCDU28Sk62T1ICZcfLcwDQYJKoZIhvcNAQEL +BQAwIjEgMB4GA1UEAwwXcXRuZXR3b3JrYXV0aF9hdXRvdGVzdHMwIBcNMDAxMjMx +MjMwMTAxWhgPMjEyODA0MjUyMzAxMDFaMCIxIDAeBgNVBAMMF3F0bmV0d29ya2F1 +dGhfYXV0b3Rlc3RzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA19hR +CjGusW7if8rojjys4FUSRc+XWUJXeCQjoVsKaUNPHGgihrDCYwUuNEtOkIt+M7fO +DoB46aZI/4mwkAetPIq70W+ww4myQKj66Q/JD7LZ3653ErmFuZpS5oXAjbXUbRPQ +hYGxozt6MGH2QsInw3qGaIFbrqj2H66QtLKqYOYDohwD0Iy8L/83JT3lITB9gly2 +o20ZIbIvwWhERtlnI6mN8J76plZWUhmygKcy0rI/uHBobdcO6PFfccGt0UIL5Iqk +/VtCHdDI/azQJjV15C6ErSPSEJnqA/XPXwq5+77AU9yPBZ+5SBNhxoDjBi8kP12s +Xn9RzEzg5pZVkAxQLQIDAQABoywwKjAJBgNVHRMEAjAAMB0GA1UdDgQWBBQ/aX4e +u4u6G8W2MrvseIVVc+DCpDANBgkqhkiG9w0BAQsFAAOCAQEAtH1nUoiixKQI0QB+ +9Y7tMvrl3hxJPrzpZJ8a/LHXrxIb3Q5NrZiCNNP6VHky0SMn2R1EXzpai6vhvv1K +MbmhwY70JJtcWlwGDZC73rUSRigHkxYhl2pS92ApjD6gj6MHM1CojylBqYpBAUHH +FBe/Kbvs3kX8VrAnXhwua9BUD+A4zrbnJvMu4zkZDAGARpZFbuCNQ+tv86Dr/x/1 +jV1nh6GXJWqWmPZS/pX9y2XWvA2bhWuyYgSkHJSuNrUSnztKcIKxXEKgOovNoX2F +h3epBpPgZK6c/mkdeeMl5PlSgnsRIpp0mEW9IrFp3EDtbZDebj2A83U5dVysYdwA +IqSNqQ== -----END CERTIFICATE----- diff --git a/tests/auto/oauth2/certs/selfsigned-client.key b/tests/auto/oauth2/certs/selfsigned-client.key index 9e59342..2dae3bc 100644 --- a/tests/auto/oauth2/certs/selfsigned-client.key +++ b/tests/auto/oauth2/certs/selfsigned-client.key @@ -1,27 +1,28 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEogIBAAKCAQEAmoQaXGcq/jyQQqaJc0HhVbwygAcJaXUShmfKqow+LKti+1ZQ -SbJYCRr+b7AeaCW519RRRLuFMNpGG/y4ZxQhFxBbRikaVjhGTjqlm+JeKtjAmvNm -QqCA7fMqALdLEkoW7UeqY1vpdJcADhKXxrzGjFaOSVMrKUcYZdXUrrEtln+uc5Yq -heVUjNq+MTHyei1crcQ2bBn03vxxU9jmGKxflEGYNJjS9/a2FjiuEcaDs/Hi5dyu -YSrhzX5+cz7eULTIWiL3m4owYNt8SaZfgXqEt+1s2itX/jclmSjxW67bb0pxcaZM -kR6iSeaYjRh+qZENfs4Xe7oe3jiMMZLY2AThcwIDAQABAoIBAFjgvc0C5t8AdTZx -VsS+U2Aedang4lAPsE0xbIj3TFgjaTcLKfmKJUtvhIU39/WOJbz4+pofhvhXxVYZ -4vQfxvzeQrIzuFt52S7sWxA0gFgC/57hfKO8cQzt/u4UgJEPnupze5XVa47NwJFX -rof5U/erXgLdXQlMRMNm4QRvE7rp58E2MkSYNur0Xgy9L7cRcUQJ8iuMaxBpOzhS -fbNFi5zT7RCGcQSIDcb1JFlgs5tMUs6jzLoDSVD2+vvsN4i4LAAPkJSGTGed5vY1 -xn4G8KPR4HHrnBYEb0SGu4ZTznOnQ+JSKhQrbnvEzXM4RTfjqn0YvF8x70+pWSMi -Fb4mlBECgYEAzW82O79HAlMm8LD7J4byPfVc/1M5/JOnE9H+RR5Vt4jZQGyjCmJu -cj4UeZyVim0xg30sSYrJ2Urd27CtHp+sMgHkvJt3/ZgcfMZJbMKNGq/OUtV8s/cA -nkU++/LgeW8r7wpaDjT7bfnOdcf16mYoXrmk0rTJvRqGXCBvCxtt5bsCgYEAwIxu -vZjPV4Vu/VX6sH2d31D9EFZuZKjGhqukFVtRqLbeosqT9mA+LhQ/wP5qoR2gLQbe -EwxJLJwGFjUhyhbHNlo6oHv3fWkzmHIMPwDRRI3Ktwi/50SwNSnyERUQcLaiwqKx -BqaxPYNnspUt0nKE0LFZsSlrfEyxajqAlUEgm6kCgYAV+uQumFScpxDvh8AXhpS8 -lFgS6XC22YVy1XEDLC+3p2i3P+hh4A45IvNF378QRIabrvTiGXtnSF9cdhbPw/3E -i/dRRsEb3P6PSxfoDxjR1iWZL0Zcav0h8f6/LkleNMralJz2EC0moye36mEhZzTC -jdJYyQccuI3PpZi7839aqQKBgGezOnEiO4kHdB88jyc+gCglliWWZx4PR9x/1H8s -D26uDnneYJHwg4yNm0h1vTfInNujNzdLBp3f6edL9kbAvcmoDqsgGMqSPhd8VNwZ -tJsXQnYRYElN1RjM3nIUxiXuNvpcZLsQS6S1gMPNVEBjLOS4n3WquRjYtTRhDZ9U -1BsBAoGAUFrIatOLFhcgaqENHyUbMx5uSx0lIfF6Xd5KIAgi+btdmugHe+NK8Cd2 -Rc2bQLQ9K1SvKFX6nFuEsGxnXkKuyhL/j0Kgm8nZin4uAcrtFnNdFumvCL6YgYSc -IvvM+uVfGEdbqm4pTuiLBfzOXIIy3kVlLGo402QG1pBzOtmsRMs= ------END RSA PRIVATE KEY----- +-----BEGIN PRIVATE KEY----- +MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDX2FEKMa6xbuJ/ +yuiOPKzgVRJFz5dZQld4JCOhWwppQ08caCKGsMJjBS40S06Qi34zt84OgHjppkj/ +ibCQB608irvRb7DDibJAqPrpD8kPstnfrncSuYW5mlLmhcCNtdRtE9CFgbGjO3ow +YfZCwifDeoZogVuuqPYfrpC0sqpg5gOiHAPQjLwv/zclPeUhMH2CXLajbRkhsi/B +aERG2WcjqY3wnvqmVlZSGbKApzLSsj+4cGht1w7o8V9xwa3RQgvkiqT9W0Id0Mj9 +rNAmNXXkLoStI9IQmeoD9c9fCrn7vsBT3I8Fn7lIE2HGgOMGLyQ/Xaxef1HMTODm +llWQDFAtAgMBAAECggEAa6aZlIn+5MO296GNpxMf7arAOE024O+zjFoJ4zny0Vke +pb5SKfcSnCxDRRWiE3le8hBkFtuAcpfapIhZpRwPDLjsv6IC+SM94f3lVkPnNYsw +Gt16yb35sf4EBrECvirHzbcqMsvietT5NhRFrDoFdvsu+gQ6Y7wlNNvtlBHf4/8o +9UKCE33Y0Du8m2Xt0M16tPPltKizhf5M/vZmuqjgLGIc5ySvquSbvqT9Ye2ku7Vf +n8LEGAsfXuFFs830s848SSY7rwYVXe6n66Yhu2xlGWADurntJG7suKKNMG62F73W +pxBAhmRJDXacgAdlZglsN8VeGe5IPSa/0+Ls7sWCCQKBgQDZgboJw3ga+bnggX/x +XTMr3jBQdJn9RROr10WCimFU0NrXmVCtQCHPPvlzL0ARmosXNejrotzxnSOuUeRq +cqYeAwRl3cKtto82MLt4HBCr4HwBdIeDvJ3k9Uv+WMx7FqMR5rJoNM16Y+SSrR22 +tyzdUf70VzazIesDHMN/why0owKBgQD+C02KSXt6fU2+V+hMd1mhwqK0p/vpow39 +WWc+OhlX+OiMUd+k4xf7gzaVktL8/j3YYO0uOwd3BUc50UeaeuQr+ok7Xq10/xrO +QmyALL6zkcdOVT9XCNe/gv3LLIb4bxAyR9RsuFDtKFMicX/Tz3Lqk9IuQGx1SQGC +GdCSt5Bk7wKBgAN2KBLNtJShUs764KFjvVO+ZoBxSp4YQlbixy1rrF7gMAtsWjdX +pPIaa3fk0Z02G26UIg/V+LQzrwSwMvVqu7AQljpUzCtdk2vmXKVttOo3WWHgi+OR +1eV17e6vVRnEY3X+eOplpLuE6XdYH/fvdFxVWLxkwu8Y5BeZlpbq7PAHAoGAdA/L +5BLAM+zNONnGijC4pVtbpDdespXIzWcr8NTwQS25aGn7R8Rsb3650Enc1LJ+pL1b +fpR/S5QAv1xqXxwn5CO40IPnsRzfLT5RfZlzomxGZvYxUtz6XEdHFayJGTT8bEw+ +s1DdwAt9N64s3SLYeG0CSBkss8SfyMVscaslb8cCgYAwfumP+Qe4RJfrZNi3b88u +p/K6kx4Qy6xTJlSjWQm4NyRfww4c3BDSLJrZU8+iTIeJCwhLgBE4V7m3o76E589o +XiMH3FZkGphXHDt1ZymbdGlotlVuAmcvBBOD4m51lVtyHqFyx9y7/LmOzenXZGTJ +Ap2t9nPoR3tg59D87Qp8ag== +-----END PRIVATE KEY----- diff --git a/tests/auto/oauth2/certs/selfsigned-server.crt b/tests/auto/oauth2/certs/selfsigned-server.crt index c97d277..549677b 100644 --- a/tests/auto/oauth2/certs/selfsigned-server.crt +++ b/tests/auto/oauth2/certs/selfsigned-server.crt @@ -1,18 +1,19 @@ -----BEGIN CERTIFICATE----- -MIIC5TCCAc0CCAO22gNi0v20MA0GCSqGSIb3DQEBCwUAMDMxFDASBgNVBAMMC0F1 -c3dlaXNBcHAyMRswGQYDVQQFExIyNTIxMTE1NjY3NjM2MjExODgwIhgPMTk3MDAx -MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowMzEUMBIGA1UEAwwLQXVzd2Vpc0Fw -cDIxGzAZBgNVBAUTEjI1MjExMTU2Njc2MzYyMTE4ODCCASIwDQYJKoZIhvcNAQEB -BQADggEPADCCAQoCggEBAL+Fl6v5dcU7qk7vbINclWOhvCe/uklKnXV2QU382x7g -qpbYxJiJvz24C6tgDMmE0pwEz6PiCbh1dkc8+9cdp37eBcFLCOXYQb27gqVVyVtu -xO0LLVXPCv48bGSwljOz0FRC3FolzWxzrZogM/i2b/lmehHJ3D4ejmINmIgtFJ9P -JNNCH4Oh5YEbaFFlNf2m7lCoSuQkOlLZcGeLoipK2XvhZJff6c1uxValh/Mx5dNB -5Mgd5cOZSSEhwf7mcE8C3SHVfjeNfZGIqlkwdY8lvAOjirAtj6Yl88sJOUID/Q/N -hU9D8IZy6+Bk2cJQwI/Gzr590VYvlSTI+6lXr//oBBECAwEAATANBgkqhkiG9w0B -AQsFAAOCAQEArSMO88AYT+9tPCl5lXtSRa0OycqKNlW58GujxIDuR8WX1eFmGSHQ -uijo5KPYUnqydZzAewGC8NvC9WcLwFltNZ9igXikUHiAHc1JLfW7+7SgKpwOUb02 -rJkUkpPA/SmwkLSKYiR1prt5wgSulU1HPBESep05DfR8MCU5+KHkLyXDqtrbudJ4 -lQd9dSKJFn+cSjUC5JNxCPHoIISe7hfGFMLkd0/tVfSIXLVOAZG4K6zExUdjyPi8 -qEuPq6QCRyIJbYQc5HfnARgwK6GXHqkyLWlqK946Yz8VOba7Nan5uQ6xCjUMHw8Z -z/673o/3DCaQ9N6dWahNQ09a9ZH8U1X4iA== +MIIDADCCAeigAwIBAgIUHbqecJIZyZuVjw3wxN45Kd0guzIwDQYJKoZIhvcNAQEL +BQAwIjEgMB4GA1UEAwwXcXRuZXR3b3JrYXV0aF9hdXRvdGVzdHMwIBcNMDAxMjMx +MjMwMTAxWhgPMjEyODA0MjUyMzAxMDFaMCIxIDAeBgNVBAMMF3F0bmV0d29ya2F1 +dGhfYXV0b3Rlc3RzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtws+ +v+B9vItR1VwOO1xLF0NuLCimIxVTo6hAGiazSQU+wN4zmOD6c5f8QDmtoM8e1gWi +kZ9jc5j9p7fYnreLJ7PTnBudb433GuFlVqYztxfiVePlwOEG7VDk7pbWTN+WlTSz +2Rm1IHk91CnanVvWAPnadSmETju/mbGnHQ2OBggnNZXMtyU5xU0SOxdt9JiTsdar +n6pAkqrzdUa2H/X6g42xA/0kY1xxtasfM+CptUBpYqT+DWqg0kemiu4lsZoQr+di +gHXbUjWWiycyYXdfo4VkpejIaOjY4hk21iGfRo4SRCBBgUKJFCvmE2Vm86BH1pMW +4zX/7T5Pdg7zns0whQIDAQABoywwKjAJBgNVHRMEAjAAMB0GA1UdDgQWBBRhMWqr +TIOVg8O4mrrBuDasZR9TBTANBgkqhkiG9w0BAQsFAAOCAQEAOVs185gl/j9O7lsE +0gmo/0GFiUpXga9IEgiPyJyUFbw7vxfak3S5JBVpzAiWbeVw8MyI941DDzaxYjG3 +QG2KACxBh7HTMX3w+KTbSL0RmtXJGsU+IjQNgUuM+s+cY0tCGSbGI5Anx/sDaHL3 +r4l+KT87/H/jo2yC5hsAaZQ/7BM0TtQ307l0fsJ+4BRMe1VQtXL7QRH0wty1X5DQ +BKb+EsdQ3KP+PKjPmzyU6QESTShvQAVV7u87yGoAG85IQGwmIrcb1//ZshxR1d0c +X1HCL6ZKo/aKhHZ/+z6v4RAF8+6KdSAYbZdfktsyp25kO5HR1gh/6jyfMbd+wD9U +vS3IYg== -----END CERTIFICATE----- diff --git a/tests/auto/oauth2/certs/selfsigned-server.key b/tests/auto/oauth2/certs/selfsigned-server.key index b7be118..c70e6a8 100644 --- a/tests/auto/oauth2/certs/selfsigned-server.key +++ b/tests/auto/oauth2/certs/selfsigned-server.key @@ -1,27 +1,28 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpAIBAAKCAQEAv4WXq/l1xTuqTu9sg1yVY6G8J7+6SUqddXZBTfzbHuCqltjE -mIm/PbgLq2AMyYTSnATPo+IJuHV2Rzz71x2nft4FwUsI5dhBvbuCpVXJW27E7Qst -Vc8K/jxsZLCWM7PQVELcWiXNbHOtmiAz+LZv+WZ6EcncPh6OYg2YiC0Un08k00If -g6HlgRtoUWU1/abuUKhK5CQ6UtlwZ4uiKkrZe+Fkl9/pzW7FVqWH8zHl00HkyB3l -w5lJISHB/uZwTwLdIdV+N419kYiqWTB1jyW8A6OKsC2PpiXzywk5QgP9D82FT0Pw -hnLr4GTZwlDAj8bOvn3RVi+VJMj7qVev/+gEEQIDAQABAoIBADdoXsjSEtBMwqiz -e6FFV7LLR7P4M9ygSY2B+MKnNH1qYe/iJn4626jvZfDeiNSEKKoaejffXRCQaveR -HQrO+XYqpV+WZayZM+vAI7vRZb+d/DrX0PXSQEvtDy7SJ6Itk0fNUBKEfTmy/bZp -Op/pp9tvWkFrNNyD2o1jgY1j/WNY8g605m0oURJ9WQsMUu/Kzu+NMoaKTIoQGb3d -dP71F4KaTXHYxj3B0c+y0NedKbrvnBsP6XbEpgJBaXjtD9z+z/aMF6dmuvpkx7uY -qzwPMRw05QPyJ9x+1V/v4TytY5f596NgW2niVj77BunkZasTYIEX7bjByrlTeLdx -xvPRpAECgYEA5KkM/ORbhN1oaw9+tQxA48oG2DFqChBr+vc4NU4j5SNFn9ks5nHI -xdJNZ9k+bjVUkBP4m88Wd07SW9zXCL8Q5lczb+p5SWl/Pp7ltqaxpH17uzamsaIv -KIBkeJTOU5TuWdXiV5FY+ofK9ojyEaqX1tmylWnoVe4bIMRWXE5bMSkCgYEA1mvJ -snkNzPFG0RK7ikjsNxrhzE07+7RSnoM9WeW8y2lvQ9MjdR6eOgqnnlcdk2A7OVbf -culNgLc0qx/PxZ4BV+8yLLb1EBBGvuVG+x4a6H2mLHdFCJekByZHaQNs9ogVLvdv -3z8D59KknBUjtj9dCw90Z41yMM4kpWMG9yfSEKkCgYEAvuCvytwF2d/JrrV8nD3i -XUTkecymLEiRGysMbNMR+9F56XotlSEe7KQloa8kAnPaZ3uEaOxyYJ4X1D+B8fct -cFsSwTYGkVXTtr6GG/cDC8EEbL+uX1J382Nae54croEAh1WYYGkg0eJRd4PSLxUt -M1j/TuLd4/2j/7JmNR/j2CECgYBdB3MBHghgzKXe+/OmMbFazyz8SN4nfLsDzwkF -QenBj0MY+DhADkK0B/9lcYKBeJT5cbmMz7AykkolnK22nbETh9ILGG4GxCkNlchQ -F2WxTSKV1EF9Ut11xKPi6fuSksQuFmjRQTPelsOYfIt7/M3PiKsGapYKmsXHg8l3 -3i0D0QKBgQCi+HNOaYqduxwjrj8h4eUbiwjID8DCNJ+jXsuGVa6jcsfFpdpivx2c -ytYSXuTXLRq0I3c1ChUOGQQeztJ5GtCPnXjLHHMf3f6yr7Pk56AUmUsaIlR1Q2Zo -gqpFD8zYD5UFc2KM7Y38YTh4j82uDzDvHBBFpli7dEmSn2WpcmzFag== ------END RSA PRIVATE KEY----- +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC3Cz6/4H28i1HV +XA47XEsXQ24sKKYjFVOjqEAaJrNJBT7A3jOY4Ppzl/xAOa2gzx7WBaKRn2NzmP2n +t9iet4sns9OcG51vjfca4WVWpjO3F+JV4+XA4QbtUOTultZM35aVNLPZGbUgeT3U +KdqdW9YA+dp1KYROO7+ZsacdDY4GCCc1lcy3JTnFTRI7F230mJOx1qufqkCSqvN1 +RrYf9fqDjbED/SRjXHG1qx8z4Km1QGlipP4NaqDSR6aK7iWxmhCv52KAddtSNZaL +JzJhd1+jhWSl6Mho6NjiGTbWIZ9GjhJEIEGBQokUK+YTZWbzoEfWkxbjNf/tPk92 +DvOezTCFAgMBAAECggEAF5/dbPFh+RQ4LyPu+E1cqbd7wDpM2wlVHrHH+DgXeqyx +IT5shWZAHOw4U+e915vz3GakyUu7j79muZ9aV33T+X9Vp/fOdYfqpS8DH9Baq15r +SW+dByxj8vw2V+7i4NAYxNAlCDevr23Gg5wVSasBL2YQAoAlwd0nSQRrT64grvll +SqfoyuOQs7+Fzny0mVHgHjxi0V+4io/pl2UuwnUJWnVhi+t/Eh4WJ+C4SNwIz7UO +mAYoO3LO3sh6QVYObfgnTmEdMLbg8/r1eA4E2MDjB51AlffeeaaydpvtZ/ah76SQ +/R6fYgkX71OJaTXfqKLAgFAtQfUguoL6H/i7Z2GAwQKBgQDFIWJ/dPHbp6uPqHsP +yjLxDEhrgfiBEAnyoDk8+8jaYxeo1p0D5kPJy34upAZP5RUns3UBVAi4BN0J1mxn +283e2LsedPBc5v3qa1cL5SL/Xzffs86t1rz7grp/mwPhpt3kfH5W4vi1tntBb1Sh +VU37/CfmpwUVbUtMcKgocGh1JQKBgQDttPL1hnf2ISKHpFDSoEv0/tqIZaYwc8Ue +0OIB5C+sbBo03sKBQkVN5C/PW73KTWlGxDbdZXCrVKG9Sp0jipIIByGBHFTxaqFF +GbMot5ErshzBdGk8A362fMLRca78y2Qxis+OgDCtDWlvwn0gRzhmbJxC+wC6VANG +e/h64jff4QKBgQCEWICHb5z8ylndDdDo7eg7evKX8t9CzuDO2pDzB1t2evakbMln +l81FCnCBoa93LiaAy/Ou25sq6GD5vNJ0+9YAWeNudDX3OUGZg00ieEiByIx7jH0i +qruf48mP6CO3+E6ampY7gRBW9tdTPApGcj30AftL2DAKjaDzBeNvmuAWXQKBgQCx +us7CB0WgkQvJUXFg2puQVhE9VItaxOTI8rNZaKzAhZ9ekoPps4wv/gJFTznrjc++ +Kq0/Aj6oy8GWz7gIP+6J9BL3/x//1ZM5IEsVkZMIkcbwWkLorVBLz6K2iQKmXsjO +RhSEXpKGgXWpK0j1HmssId8AMb5Mks5UIBMchhHy4QKBgGaXPbYFvkofHQDamA5n +43f6fC7Kt89wGKleYmFVkDkdFLbyIXVFOuGjm5hPz5CQO1YgZALA2N/D86/Plok2 +Csz1rAAhKBu4dXjCtpufF6MqvFVanxjUBXBwLckBLHM/nAxD+BMlZYJEysMXV+hI +lFW74EMqE1xyzC8DTKuhn1Uw +-----END PRIVATE KEY----- diff --git a/tests/auto/oauth2/tst_oauth2.cpp b/tests/auto/oauth2/tst_oauth2.cpp index e7fbf98..69bfa5b 100644 --- a/tests/auto/oauth2/tst_oauth2.cpp +++ b/tests/auto/oauth2/tst_oauth2.cpp @@ -32,9 +32,31 @@ private Q_SLOTS: void setSslConfig(); void tlsAuthentication(); #endif + void extraTokens(); private: QString testDataDir; + [[nodiscard]] auto useTemporaryKeychain() + { +#ifndef QT_NO_SSL + // Set the same environment value as CI uses, so that it's possible + // to run autotests locally without macOS asking for permission to use + // a private key in keychain (with TLS sockets) + auto value = qEnvironmentVariable("QT_SSL_USE_TEMPORARY_KEYCHAIN"); + qputenv("QT_SSL_USE_TEMPORARY_KEYCHAIN", "1"); + auto envRollback = qScopeGuard([value](){ + if (value.isEmpty()) + qunsetenv("QT_SSL_USE_TEMPORARY_KEYCHAIN"); + else + qputenv("QT_SSL_USE_TEMPORARY_KEYCHAIN", value.toUtf8()); + }); + return envRollback; +#else + // avoid maybe-unused warnings from callers + return qScopeGuard([]{}); +#endif // QT_NO_SSL + } + }; struct ReplyHandler : QAbstractOAuthReplyHandler @@ -57,6 +79,11 @@ struct ReplyHandler : QAbstractOAuthReplyHandler { Q_EMIT callbackReceived(data); } + + void emitTokensReceived(const QVariantMap &data) + { + Q_EMIT tokensReceived(data); + } }; void tst_OAuth2::initTestCase() @@ -354,6 +381,8 @@ void tst_OAuth2::tlsAuthentication() if (!QSslSocket::supportsSsl()) QSKIP("This test will fail because the backend does not support TLS"); + auto rollback = useTemporaryKeychain(); + // erros may vary, depending on backend const QSet<QSslError::SslError> expectedErrors{ QSslError::SelfSignedCertificate, QSslError::CertificateUntrusted, @@ -407,5 +436,59 @@ void tst_OAuth2::tlsAuthentication() } #endif // !QT_NO_SSL +void tst_OAuth2::extraTokens() +{ + QOAuth2AuthorizationCodeFlow oauth2; + oauth2.setAuthorizationUrl({"authorizationUrl"_L1}); + oauth2.setAccessTokenUrl({"accessTokenUrl"_L1}); + oauth2.setState("a_state"_L1); + ReplyHandler replyHandler; + oauth2.setReplyHandler(&replyHandler); + QSignalSpy extraTokensSpy(&oauth2, &QAbstractOAuth::extraTokensChanged); + QVERIFY(oauth2.extraTokens().isEmpty()); + + constexpr auto name1 = "name1"_L1; + constexpr auto value1 = "value1"_L1; + constexpr auto name2 = "name2"_L1; + constexpr auto value2 = "value2"_L1; + + // Conclude authorization stage without extra tokens + oauth2.grant(); + replyHandler.emitCallbackReceived({{"code"_L1, "acode"_L1}, {"state"_L1, "a_state"_L1}}); + QCOMPARE(extraTokensSpy.size(), 1); // 'state' + + // Conclude authorization stage with extra tokens + extraTokensSpy.clear(); + oauth2.grant(); + replyHandler.emitCallbackReceived({{"code"_L1, "acode"_L1}, {"state"_L1, "a_state"_L1}, + {name1, value1}}); + QTRY_COMPARE(extraTokensSpy.size(), 1); + QVariantMap extraTokens = oauth2.extraTokens(); + QCOMPARE(extraTokens, extraTokensSpy.at(0).at(0).toMap()); + QCOMPARE(extraTokens.size(), 2); + QCOMPARE(extraTokens.value("state"_L1).toString(), "a_state"_L1); + QCOMPARE(extraTokens.value(name1).toString(), value1); + + // Conclude token stage without additional extra tokens + extraTokensSpy.clear(); + replyHandler.emitTokensReceived({{"access_token"_L1, "at"_L1}}); + QCOMPARE(extraTokensSpy.size(), 0); + extraTokens = oauth2.extraTokens(); + QCOMPARE(extraTokens.size(), 2); + QCOMPARE(extraTokens.value("state"_L1).toString(), "a_state"_L1); + QCOMPARE(extraTokens.value(name1).toString(), value1); + + // Conclude token stage with additional extra tokens + extraTokensSpy.clear(); + replyHandler.emitTokensReceived({{"access_token"_L1, "at"_L1}, {name2, value2}}); + QTRY_COMPARE(extraTokensSpy.size(), 1); + extraTokens = oauth2.extraTokens(); + QCOMPARE(extraTokens, extraTokensSpy.at(0).at(0).toMap()); + QCOMPARE(extraTokens.size(), 3); + QCOMPARE(extraTokens.value("state"_L1).toString(), "a_state"_L1); + QCOMPARE(extraTokens.value(name1).toString(), value1); + QCOMPARE(extraTokens.value(name2).toString(), value2); +} + QTEST_MAIN(tst_OAuth2) #include "tst_oauth2.moc" |
