httparty 0.16.4 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of httparty might be problematic. Click here for more details.

@@ -1,3 +1,3 @@
1
1
  module HTTParty
2
- VERSION = "0.16.4"
2
+ VERSION = "0.17.0"
3
3
  end
@@ -9,16 +9,16 @@ fi
9
9
  mkdir generated
10
10
 
11
11
  # Generate the CA private key and certificate
12
- openssl req -batch -subj '/CN=INSECURE Test Certificate Authority' -newkey rsa:1024 -new -x509 -days 999999 -keyout generated/ca.key -nodes -out generated/ca.crt
12
+ openssl req -batch -subj '/CN=INSECURE Test Certificate Authority' -newkey rsa:4096 -new -x509 -days 999999 -keyout generated/ca.key -nodes -out generated/ca.crt
13
13
 
14
14
  # Create symlinks for ssl_ca_path
15
15
  openssl generated
16
16
 
17
17
  # Generate the server private key and self-signed certificate
18
- openssl req -batch -subj '/CN=localhost' -newkey rsa:1024 -new -x509 -days 999999 -keyout generated/server.key -nodes -out generated/selfsigned.crt
18
+ openssl req -batch -subj '/CN=localhost' -newkey rsa:4096 -new -x509 -days 999999 -keyout generated/server.key -nodes -out generated/selfsigned.crt
19
19
 
20
20
  # Generate certificate signing request with bogus hostname
21
- openssl req -batch -subj '/CN=bogo' -new -days 999999 -key generated/server.key -nodes -out generated/bogushost.csr
21
+ openssl req -batch -subj '/CN=bogo' -new -key generated/server.key -nodes -out generated/bogushost.csr
22
22
 
23
23
  # Sign the certificate requests
24
24
  openssl x509 -CA generated/ca.crt -CAkey generated/ca.key -set_serial 1 -in generated/selfsigned.crt -out generated/server.crt -clrext -extfile openssl-exts.cnf -extensions cert -days 999999
@@ -1,13 +1,29 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- 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
- Q1VSRSBUZXN0IENlcnRpZmljYXRlIEF1dGhvcml0eTAgFw0xMDEwMjAxMzQ2MjNa
4
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
13
29
  -----END CERTIFICATE-----
@@ -1,16 +1,31 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIICbTCCAdagAwIBAgIJAIAeO9TXtJ45MA0GCSqGSIb3DQEBBQUAMC4xLDAqBgNV
3
- BAMTI0lOU0VDVVJFIFRlc3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MCAXDTEwMTAy
4
- MDEzNDYyM1oYDzQ3NDgwOTE1MTM0NjIzWjAuMSwwKgYDVQQDEyNJTlNFQ1VSRSBU
5
- ZXN0IENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
6
- gYkCgYEA3lkBcd352qiIIzqnyvvJj59cx1dnzMyjnuaK2cRH420rBfukLE2MbOVr
7
- 9nYq/7CdjqXpE8uFAF+UTSIK6MWZ/bidkr2xd/et/Ce2pVIVxH+rt3pJz3wZhC3H
8
- Yz+HU4CD2iI9wAzsb6mMV7md1fjlYfir4SBGGPTkcqUJUp2/tQMCAwEAAaOBkDCB
9
- jTAdBgNVHQ4EFgQUy0Lz6RgmtpywlBOXdPABQArp358wXgYDVR0jBFcwVYAUy0Lz
10
- 6RgmtpywlBOXdPABQArp35+hMqQwMC4xLDAqBgNVBAMTI0lOU0VDVVJFIFRlc3Qg
11
- Q2VydGlmaWNhdGUgQXV0aG9yaXR5ggkAgB471Ne0njkwDAYDVR0TBAUwAwEB/zAN
12
- BgkqhkiG9w0BAQUFAAOBgQCmi3JQm+EIWjkRlyz9sijkYS+Ps4opmd/weeaXwa4E
13
- gVBWJGyiduB+kBnfv61+/tDjlrbjBDH5dP8suczHQL8gox4zGgjw64KH4o1ujZYR
14
- cEPbhnUpwbXu7yItlajBZfpFefjF5P0Ao2iEzQldDy0D6nQ19h5QANvQxqweTPQp
15
- pw==
2
+ MIIFPzCCAyegAwIBAgIUIV37QRfu4LcX78hw64FG5rAnZG8wDQYJKoZIhvcNAQEL
3
+ BQAwLjEsMCoGA1UEAwwjSU5TRUNVUkUgVGVzdCBDZXJ0aWZpY2F0ZSBBdXRob3Jp
4
+ dHkwIBcNMTkwMzIwMjAyOTI4WhgPNDc1NzAyMTMyMDI5MjhaMC4xLDAqBgNVBAMM
5
+ I0lOU0VDVVJFIFRlc3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MIICIjANBgkqhkiG
6
+ 9w0BAQEFAAOCAg8AMIICCgKCAgEA/LOBASLxwrE1i3lhpS3yigbdcSZIoyEBqIF/
7
+ yMuWqVKr/l0CDPwlM/iwF0/sToBbFtx0bkKCq7ztURgw1ItYUar+mP+DL8Ku0Fxz
8
+ ZVWL3EM1E2vduqJlvbpE6F5I2OU0UC0enSX5xg34vkHSQVGM2VJXNBM6a+0aYxeP
9
+ o2KjfFOXnsFNVvlMpg2GNNuHwaUXoOhd26pp35QDsyyAPVtiRfU3idB+Pg+Hp3mI
10
+ FJLHZyRXpVmw3hNlhl+Iga/H//x5n99Scr1CQyl8Z8EE5QKpPa9znjsPJNifSFud
11
+ a1rBGRDizMfPfn+imW5zXSSFf/2tJnpzP9kaZT5hwXe4HLZbHaoYssOJdXBYDfx9
12
+ qdw4yrBKt14z5ZFDjCu7SelDnLtX1aZ/+V2RrkNHge/G54MrKdnAg2CbxeWdrir2
13
+ OxlCngzeU0aDuNJczH83054Em/uu3a7xJipuDDOYZe6HTSXHNJgIUtmZhvu07PlO
14
+ 3tBLY/VxMhgzUvCVYCH05VoZgkmy21TRFu8mNn/+7HiHt5QGTKEqGdlFGJ4gcPFH
15
+ bq2/dNb45hPr6d1iNC4UM5ERTMpU2rvNQQhQwPiS2fzXhE8BwLxfB94T6hnJpDhT
16
+ u8tExckzRLfIgvexorSQFvYj2Lj5YjPdIHJq/e/XVSkp6h6H93T7EHycLlTP5HZ2
17
+ le6+d4ECAwEAAaNTMFEwHQYDVR0OBBYEFALj11Spg/cQ5epRzUB+cNSHRZ4sMB8G
18
+ A1UdIwQYMBaAFALj11Spg/cQ5epRzUB+cNSHRZ4sMA8GA1UdEwEB/wQFMAMBAf8w
19
+ DQYJKoZIhvcNAQELBQADggIBAG5PduOpr9ZZbR+tcyQUR1kxoc+vZMYQEi8fQyv9
20
+ G8sL+/DRXj8fD0S/4aK+rSXuFMbQpL1njLIUxE2z2cCn6zOsXx1IY9rN5ryLSJad
21
+ L4QXrPokNBi+HEGba7NvY98swD8PblUyeJqfi59pFj7nz4EcVhltVvgbYBMZUIPc
22
+ IZBhyB7l9QaX5OZMGO1rJy8jxg8ng0vAliz+HQQavu8rNito90vpGvlXr1NQs11H
23
+ SO4+lQMb8uuU4wqto+74gkLUNLsnAfAFWpIEV2JG+0SnVVbI2TFjvFiu7P/TTGxQ
24
+ MRrzEVQAXRSIBC4JDXMBAeJRc8AUEK/RYg0BGmvkh3aZUIlkAmCFk1OqyuEYoEl+
25
+ 2DsH26Glk978W4glHQi3PgKKa7NSvsHSd4BPGG6Vjs7jBh/LcSnT3iH5pHKkI/Tt
26
+ sFWUKQ4Yz8DdUR02f890hOdlHG+Hz8DY33fS/Z8WoidMOJM+LHEqT9R4RAJi+puK
27
+ 6Z8OTBCCJYMEgPx08swJbe9r7Q98n77ud+qyKPa/5jNJG3JYGSzsqhsyJXzCaQCl
28
+ v1qVrzQ+qidO+tcousDMzNZ+AsdnLOGZ+UvKdx+l3kItj4AkIu2fkJb8sC/UP7ar
29
+ EswtH8vJb8w03L8K/44Ql0cTDzHNyBJ5q/8xL/2M/L572Y8wmUcVsoPPw6+Js7l/
30
+ pSY3
16
31
  -----END CERTIFICATE-----
@@ -1,15 +1,52 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- MIICXgIBAAKBgQDeWQFx3fnaqIgjOqfK+8mPn1zHV2fMzKOe5orZxEfjbSsF+6Qs
3
- TYxs5Wv2dir/sJ2OpekTy4UAX5RNIgroxZn9uJ2SvbF39638J7alUhXEf6u3eknP
4
- fBmELcdjP4dTgIPaIj3ADOxvqYxXuZ3V+OVh+KvhIEYY9ORypQlSnb+1AwIDAQAB
5
- AoGBAL147VFCDlM1gGU865V+wIFCFQbNxedwjxGuda4io/v6oEoF6R3Tq5F0Y27v
6
- va6Lq4fOe/LhYGI0EKU2GEPJd3F2wA21r+81InPKAkqYI5CDQtKDDNLviur8ZVKF
7
- i3UzutjeYoCqmWeHaKPD6w5DtqeBieem7LTWRyXlFtHZV/nBAkEA8nsMOSd1+JTm
8
- ZT4HDsEFQrN8mIFUUioFSHPut2CwzvTEW+hTkLQiog3bua4n7uQOFImR63X9qMsh
9
- IjZRJQNmowJBAOq+mQdnRWYKl0SYb++Eb3uW6L4h1zsW375+caKo9omtpeqDW/y0
10
- BWyY0q4DPkm3yU26Yr+b2JijISrml9/8PiECQQDHuXyG8y7jktn3GFE94NURbL+6
11
- 6gPnLX9ufzdoSjc4MDowrbtvHEDOlHWgioeP6L6EQhA0DtrhlnbzNCRARX3bAkEA
12
- jQOsF+dwqAjKr/lGnMKY2cxgyf64NZXbGKsKhmUrnK9E0SjR9G8MJx1yyffGzi/q
13
- bJf/xAzRw3eTcBsPtwznIQJAHq5MOK7oaUuO+6cbsZYpOYOOkKIvDLiOtdSr7LTI
14
- DziH/fpzB0VhCmFhhEQwHhlB4t3m66A9TelHmhrCDsIaLA==
15
- -----END RSA PRIVATE KEY-----
1
+ -----BEGIN PRIVATE KEY-----
2
+ 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
51
+ iOi/KEjMxb+mQi4jBIKJq/nRXjglUg==
52
+ -----END PRIVATE KEY-----
@@ -1,14 +1,29 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIICHTCCAYagAwIBAgIJALT/G+ylQljIMA0GCSqGSIb3DQEBBQUAMBQxEjAQBgNV
3
- BAMTCWxvY2FsaG9zdDAgFw0xMDEwMjAxMzQ2MjNaGA80NzQ4MDkxNTEzNDYyM1ow
4
- FDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
5
- gQCvpvRkGtGtW8+Y9tC/fomePmO/TRmSGKZeuZu/1nUB0hlZKwGkx3xM/t7ETk5H
6
- n8NrEqaJmpWySBHJGQubnb8OS3s1yvOvkje6cecyqwC//bzl8aVihHGeQIYyx7/o
7
- 04WAJ6ZEXD9uCXE80AasVgpK1qZ4FFsKbR0KC2W9zDN1/wIDAQABo3UwczAdBgNV
8
- HQ4EFgQUddLPFtGmb0aFWbTl2kAoxD+fd6kwRAYDVR0jBD0wO4AUddLPFtGmb0aF
9
- WbTl2kAoxD+fd6mhGKQWMBQxEjAQBgNVBAMTCWxvY2FsaG9zdIIJALT/G+ylQljI
10
- MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAlOCBO54S88mD3VYviER6
11
- V+lkd7iWmdas2wUUDeMKA9CxnirWi7ne2U7wQH/5FJ1j3ImSfjb4h/98xiVJE84e
12
- Ld7mb61g/M4g4b62kt0HK8/cGUxfuz5zwIfi28qJq3ow6AFEq1fywbJvUAnnamwU
13
- cZF/qoVfJhus2mXjYc4hFWg=
2
+ MIIFCzCCAvOgAwIBAgIUI1eh28OnE/T/HBS9/6g9f4q3p/0wDQYJKoZIhvcNAQEL
3
+ BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MCAXDTE5MDMyMDIwMjkzN1oYDzQ3NTcw
4
+ MjEzMjAyOTM3WjAUMRIwEAYDVQQDDAlsb2NhbGhvc3QwggIiMA0GCSqGSIb3DQEB
5
+ AQUAA4ICDwAwggIKAoICAQC2r6mJFhnzwC0GhNt6beeTWP+8xnjOz0wO1LYZyDYy
6
+ 3V1PMBxEwCWAi5xPCFyz2VTVH0yItOWPNCHTSF4XStmaAvjgKnn1wsQP0AgUXKHB
7
+ ZEFSzdFKb/cdvHSP4ePf5l7YP/88X5A+W2zrksunZU47z3Z+gH4lYU6iIRrMwQyj
8
+ Diy+DS36vC0u1LI9CmYqbHFpY9tI+Um8FhSqs85MZvSq+ar1h98BZakseXuW87R/
9
+ ghJ/iXptQ97W67tltLkv7cufcUGSdxmvln6zykpqlJhI9Rr3mSGyI5JpZ6V0974G
10
+ +h1EjUYJZhkNUgzjo96i36EBvU+K7zEtZuA3KPGq2hBGSbDWaaqLrwPnUpbkY4KX
11
+ 8+wcLbH4Be83p2Araf0EjlPsFQSPK8DPSxOuTzFrXoS6NmlVG0WWeeYMJpXmzthg
12
+ egPmUJO5Ngb6d1PKG+DGc240/emmuLlZvC6GmBfY1eIMnymeAgexQv2mJDoc2V+n
13
+ ZFdmPfA34sSuXsJhKCrOOKuT0HUcEEqd6jCEj7vU2hP9spUY3AYthTtnbQ5x6pGP
14
+ veOA9cfTro3hRuampO7PgJVNmxkcKGI0aPXrOrxpSH8LNbbZCzrFPBxoszF5LbGS
15
+ g42vpUtb52H+/dDFEuJSNMWUi9yFbPoocAyeP++LH+p2RJnq3eUvJXmUOc8mjwaa
16
+ DQIDAQABo1MwUTAdBgNVHQ4EFgQUfkR9GE7Yc1tSGwFZEz4Xk7V2RhswHwYDVR0j
17
+ BBgwFoAUfkR9GE7Yc1tSGwFZEz4Xk7V2RhswDwYDVR0TAQH/BAUwAwEB/zANBgkq
18
+ hkiG9w0BAQsFAAOCAgEAKMO0HD503riWKRaikCFoA4n7LMUWaTdvZR/CZ/ZX0HJC
19
+ 1PwBwk67+jLfjDa82cPH2yoxrK4PG21hO/d2+mwgDUh4jzHuJyPAMO45Hhq9zr8K
20
+ SOQ+CmS7UwJZtLqVAwrxEUjRFpKeBEenNAtkrsTsv/JIp3iyu2FqVAq5mh1X/gDH
21
+ CsByht2QaDBpZuTXhD0S6miFg21VT2aG1G55pUljOb/LjqEqxqWDZonsOMj8buTo
22
+ NtAOCjxKIKKJfIz7hFDy+9Kecy/rmidQnRiNBm1dOjN9gk23FPu9EOBriL1jigYJ
23
+ 3ws6WlgCQhhsTE/mCPyfxHA+8+GdaCc/L4qSNnxzlqN9wuxCpKQvrT2kTXIcjqVB
24
+ QZz/Ii8Y2ZQR9paY/xCov/mri97uXrE4L2A1CodjcO7UCvswXNHrxgkOgmknb5WC
25
+ jwbPCSpiYqnjtPvXWj2wygDX3456zZ2J7H7aEUAmOJfaL/xZpxJmejHtYedYINPZ
26
+ /Zsk1bJTTuStXCvCgIiHIb9ILD7mq2LUDAh+RxANtqW2OAUzvqD/Xkg6zl6utQwJ
27
+ UbIN1h2o0hl3qHZztVTaHRaBLgaPObhe2kFV9TioAbnJ1t04s4Xjw6ZFT3xhaySi
28
+ mt5SBtT6qTkMohfYzZOe5+TPIMw87a0J3NwQNLl8kvRnyg00gBY4VU+l6MVTzYs=
14
29
  -----END CERTIFICATE-----
@@ -1,13 +1,30 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- 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
- 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
- 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
- SIb3DQEBAQUAA4GNADCBiQKBgQCvpvRkGtGtW8+Y9tC/fomePmO/TRmSGKZeuZu/
6
- 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
- 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
- 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
- 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
- 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
- 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
- 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
29
+ kIdU
13
30
  -----END CERTIFICATE-----
@@ -1,15 +1,52 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- MIICXQIBAAKBgQCvpvRkGtGtW8+Y9tC/fomePmO/TRmSGKZeuZu/1nUB0hlZKwGk
3
- x3xM/t7ETk5Hn8NrEqaJmpWySBHJGQubnb8OS3s1yvOvkje6cecyqwC//bzl8aVi
4
- hHGeQIYyx7/o04WAJ6ZEXD9uCXE80AasVgpK1qZ4FFsKbR0KC2W9zDN1/wIDAQAB
5
- AoGALIdgkTgTS6VovVhklwcXEBy04LxE7Tp+gqj/COTvCKUgc/BpHELOCh7ajl1j
6
- jti7i5tQyLV9mZKXn6lPvgWBd0w+p6VhM4NFA97CoodEJm2ckFC9zUABCh9dOpbm
7
- 8KzF7hdpYWgJJchwwZ60tbcP7K1DkiNX6Kk9qKQEWvitMBECQQDpOSzzLldcEU9l
8
- ze/nG2+rf6ecaPnKeafY8R2qVils8I7ZJAW3+0bNT5gQs7rT7aWo8vMvrXq++lWb
9
- JkNV6hK9AkEAwM5wsmg7REmAaDwgUBq5mNt963/uG2ihAODFS70lYT23UYl5Y3rD
10
- s3qU4ntG4DvWIQgPdwdstzDh9fMBVXa1awJBAID1WoOE5k1ETRDP1I2HwDGmPnng
11
- Ge75YfQ1LuAXEITqZzJuFrNqv/Waw0zI9M9moqlO3WVJmYusRFWrzKPe8EkCQEwC
12
- FlN+275z63csHOD3aCtmfCGW8VtEyBP8iErvagkHt3khZQVepD/hF0ihqLNFY4jq
13
- EI6wEp+1WZ8ICYKTpbkCQQDhl5QLdy5Xo3k3agCnB9nktSzs2iqFvsGvfOAW4628
14
- iThKTNua6bBvbdiG0Vh2Sv0XBYVJoHB3WnTVgFyPJaaF
15
- -----END RSA PRIVATE KEY-----
1
+ -----BEGIN PRIVATE KEY-----
2
+ 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
51
+ ISDbj3Gvk5Gx42y1LbTSnVg8SHm4Vw==
52
+ -----END PRIVATE KEY-----
@@ -131,6 +131,7 @@ RSpec.describe HTTParty::ConnectionAdapter do
131
131
  )
132
132
  expect(http).not_to receive(:open_timeout=)
133
133
  expect(http).not_to receive(:read_timeout=)
134
+ expect(http).not_to receive(:write_timeout=)
134
135
  allow(Net::HTTP).to receive_messages(new: http)
135
136
 
136
137
  adapter.connection
@@ -150,6 +151,13 @@ RSpec.describe HTTParty::ConnectionAdapter do
150
151
  subject { super().read_timeout }
151
152
  it { is_expected.to eq(5) }
152
153
  end
154
+
155
+ if RUBY_VERSION >= '2.6.0'
156
+ describe '#write_timeout' do
157
+ subject { super().write_timeout }
158
+ it { is_expected.to eq(5) }
159
+ end
160
+ end
153
161
  end
154
162
 
155
163
  context "and timeout is a string" do
@@ -164,6 +172,7 @@ RSpec.describe HTTParty::ConnectionAdapter do
164
172
  )
165
173
  expect(http).not_to receive(:open_timeout=)
166
174
  expect(http).not_to receive(:read_timeout=)
175
+ expect(http).not_to receive(:write_timeout=)
167
176
  allow(Net::HTTP).to receive_messages(new: http)
168
177
 
169
178
  adapter.connection
@@ -191,6 +200,19 @@ RSpec.describe HTTParty::ConnectionAdapter do
191
200
  allow(Net::HTTP).to receive_messages(new: http)
192
201
  adapter.connection
193
202
  end
203
+
204
+ it "should not set the write_timeout" do
205
+ http = double(
206
+ "http",
207
+ :null_object => true,
208
+ :use_ssl= => false,
209
+ :use_ssl? => false,
210
+ :read_timeout= => 0
211
+ )
212
+ expect(http).not_to receive(:write_timeout=)
213
+ allow(Net::HTTP).to receive_messages(new: http)
214
+ adapter.connection
215
+ end
194
216
  end
195
217
 
196
218
  context "when timeout is set and read_timeout is set to 6 seconds" do
@@ -201,6 +223,13 @@ RSpec.describe HTTParty::ConnectionAdapter do
201
223
  it { is_expected.to eq(5) }
202
224
  end
203
225
 
226
+ if RUBY_VERSION >= '2.6.0'
227
+ describe '#write_timeout' do
228
+ subject { super().write_timeout }
229
+ it { is_expected.to eq(5) }
230
+ end
231
+ end
232
+
204
233
  describe '#read_timeout' do
205
234
  subject { super().read_timeout }
206
235
  it { is_expected.to eq(6) }
@@ -213,10 +242,14 @@ RSpec.describe HTTParty::ConnectionAdapter do
213
242
  :use_ssl= => false,
214
243
  :use_ssl? => false,
215
244
  :read_timeout= => 0,
216
- :open_timeout= => 0
245
+ :open_timeout= => 0,
246
+ :write_timeout= => 0,
217
247
  )
218
248
  expect(http).to receive(:open_timeout=)
219
249
  expect(http).to receive(:read_timeout=).twice
250
+ if RUBY_VERSION >= '2.6.0'
251
+ expect(http).to receive(:write_timeout=)
252
+ end
220
253
  allow(Net::HTTP).to receive_messages(new: http)
221
254
  adapter.connection
222
255
  end
@@ -242,6 +275,19 @@ RSpec.describe HTTParty::ConnectionAdapter do
242
275
  allow(Net::HTTP).to receive_messages(new: http)
243
276
  adapter.connection
244
277
  end
278
+
279
+ it "should not set the write_timeout" do
280
+ http = double(
281
+ "http",
282
+ :null_object => true,
283
+ :use_ssl= => false,
284
+ :use_ssl? => false,
285
+ :open_timeout= => 0
286
+ )
287
+ expect(http).not_to receive(:write_timeout=)
288
+ allow(Net::HTTP).to receive_messages(new: http)
289
+ adapter.connection
290
+ end
245
291
  end
246
292
 
247
293
  context "when timeout is set and open_timeout is set to 7 seconds" do
@@ -252,6 +298,13 @@ RSpec.describe HTTParty::ConnectionAdapter do
252
298
  it { is_expected.to eq(7) }
253
299
  end
254
300
 
301
+ if RUBY_VERSION >= '2.6.0'
302
+ describe '#write_timeout' do
303
+ subject { super().write_timeout }
304
+ it { is_expected.to eq(5) }
305
+ end
306
+ end
307
+
255
308
  describe '#read_timeout' do
256
309
  subject { super().read_timeout }
257
310
  it { is_expected.to eq(5) }
@@ -264,15 +317,88 @@ RSpec.describe HTTParty::ConnectionAdapter do
264
317
  :use_ssl= => false,
265
318
  :use_ssl? => false,
266
319
  :read_timeout= => 0,
267
- :open_timeout= => 0
320
+ :open_timeout= => 0,
321
+ :write_timeout= => 0,
268
322
  )
269
323
  expect(http).to receive(:open_timeout=).twice
270
324
  expect(http).to receive(:read_timeout=)
325
+ if RUBY_VERSION >= '2.6.0'
326
+ expect(http).to receive(:write_timeout=)
327
+ end
271
328
  allow(Net::HTTP).to receive_messages(new: http)
272
329
  adapter.connection
273
330
  end
274
331
  end
275
332
 
333
+ if RUBY_VERSION >= '2.6.0'
334
+ context "when timeout is not set and write_timeout is set to 8 seconds" do
335
+ let(:options) { {write_timeout: 8} }
336
+
337
+ describe '#write_timeout' do
338
+ subject { super().write_timeout }
339
+ it { is_expected.to eq(8) }
340
+ end
341
+
342
+ it "should not set the open timeout" do
343
+ http = double(
344
+ "http",
345
+ :null_object => true,
346
+ :use_ssl= => false,
347
+ :use_ssl? => false,
348
+ :read_timeout= => 0,
349
+ :open_timeout= => 0,
350
+ :write_timeout= => 0,
351
+
352
+ )
353
+ expect(http).not_to receive(:open_timeout=)
354
+ allow(Net::HTTP).to receive_messages(new: http)
355
+ adapter.connection
356
+ end
357
+
358
+ it "should not set the read timeout" do
359
+ http = double(
360
+ "http",
361
+ :null_object => true,
362
+ :use_ssl= => false,
363
+ :use_ssl? => false,
364
+ :read_timeout= => 0,
365
+ :open_timeout= => 0,
366
+ :write_timeout= => 0,
367
+
368
+ )
369
+ expect(http).not_to receive(:read_timeout=)
370
+ allow(Net::HTTP).to receive_messages(new: http)
371
+ adapter.connection
372
+ end
373
+ end
374
+
375
+ context "when timeout is set and write_timeout is set to 8 seconds" do
376
+ let(:options) { {timeout: 2, write_timeout: 8} }
377
+
378
+ describe '#write_timeout' do
379
+ subject { super().write_timeout }
380
+ it { is_expected.to eq(8) }
381
+ end
382
+
383
+ it "should override the timeout option" do
384
+ http = double(
385
+ "http",
386
+ :null_object => true,
387
+ :use_ssl= => false,
388
+ :use_ssl? => false,
389
+ :read_timeout= => 0,
390
+ :open_timeout= => 0,
391
+ :write_timeout= => 0,
392
+ )
393
+ expect(http).to receive(:read_timeout=)
394
+ expect(http).to receive(:open_timeout=)
395
+ expect(http).to receive(:write_timeout=).twice
396
+ allow(Net::HTTP).to receive_messages(new: http)
397
+ adapter.connection
398
+ end
399
+ end
400
+ end
401
+
276
402
  context "when debug_output" do
277
403
  let(:http) { Net::HTTP.new(uri) }
278
404
  before do