mirror of
https://github.com/Orange-OpenSource/hurl.git
synced 2024-12-23 19:12:06 +03:00
Add Test SSL with self-signed certificates
This commit is contained in:
parent
e655d05c1f
commit
95b9887e55
18
.github/workflows/test.yml
vendored
18
.github/workflows/test.yml
vendored
@ -61,7 +61,10 @@ jobs:
|
|||||||
cargo build --verbose
|
cargo build --verbose
|
||||||
- name: Test Prequisites
|
- name: Test Prequisites
|
||||||
run: |
|
run: |
|
||||||
pip3 install Flask && cd integration && python3 server.py >server.log 2>&1 &
|
pip3 install Flask
|
||||||
|
cd integration
|
||||||
|
python3 server.py >server.log 2>&1 &
|
||||||
|
python3 ssl/server.py >server-ssl.log 2>&1 &
|
||||||
wget https://snapshots.mitmproxy.org/5.2/mitmproxy-5.2-linux.tar.gz -O - | tar -xz && ./mitmdump -p 8888 --modify-header "/From-Proxy/Hello" &
|
wget https://snapshots.mitmproxy.org/5.2/mitmproxy-5.2-linux.tar.gz -O - | tar -xz && ./mitmdump -p 8888 --modify-header "/From-Proxy/Hello" &
|
||||||
- name: Run Tests
|
- name: Run Tests
|
||||||
run: |
|
run: |
|
||||||
@ -76,7 +79,9 @@ jobs:
|
|||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
with:
|
with:
|
||||||
name: tests-ubuntu-${{ matrix.rust }}-artifacts
|
name: tests-ubuntu-${{ matrix.rust }}-artifacts
|
||||||
path: integration/server.log
|
path: |
|
||||||
|
integration/server.log
|
||||||
|
integration/server-ssl.log
|
||||||
|
|
||||||
test-osx:
|
test-osx:
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
@ -101,7 +106,10 @@ jobs:
|
|||||||
cargo build --verbose
|
cargo build --verbose
|
||||||
- name: Test Prequisites
|
- name: Test Prequisites
|
||||||
run: |
|
run: |
|
||||||
pip3 install Flask && cd integration && python3 server.py >server.log 2>&1 &
|
pip3 install Flask
|
||||||
|
cd integration
|
||||||
|
python3 server.py >server.log 2>&1 &
|
||||||
|
python3 ssl/server.py >server-ssl.log 2>&1 &
|
||||||
wget https://snapshots.mitmproxy.org/5.2/mitmproxy-5.2-osx.tar.gz -O - | tar -xz && ./mitmdump -p 8888 --modify-header "/From-Proxy/Hello" &
|
wget https://snapshots.mitmproxy.org/5.2/mitmproxy-5.2-osx.tar.gz -O - | tar -xz && ./mitmdump -p 8888 --modify-header "/From-Proxy/Hello" &
|
||||||
- name: Run Tests
|
- name: Run Tests
|
||||||
run: |
|
run: |
|
||||||
@ -116,4 +124,6 @@ jobs:
|
|||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
with:
|
with:
|
||||||
name: tests-osx-${{ matrix.rust }}-artifacts
|
name: tests-osx-${{ matrix.rust }}-artifacts
|
||||||
path: integration/server.log
|
path: |
|
||||||
|
integration/server.log
|
||||||
|
integration/server-ssl.log
|
||||||
|
@ -15,7 +15,7 @@ def main():
|
|||||||
[test_hurl.test(f) for f in sorted(glob.glob('tests_error_parser/*.hurl'))]
|
[test_hurl.test(f) for f in sorted(glob.glob('tests_error_parser/*.hurl'))]
|
||||||
|
|
||||||
# Dynamic run (with server)
|
# Dynamic run (with server)
|
||||||
[test_hurl.test(f) for f in sorted(glob.glob('tests/*.hurl'))]
|
[test_hurl.test(f) for f in sorted(glob.glob('tests/*.hurl')) + sorted(glob.glob('ssl/*.hurl'))]
|
||||||
|
|
||||||
print('test integration ok!')
|
print('test integration ok!')
|
||||||
|
|
||||||
|
32
integration/ssl/cert.pem
Normal file
32
integration/ssl/cert.pem
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
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
|
||||||
|
-----END CERTIFICATE-----
|
7
integration/ssl/error_self_signed_certificate.err
Normal file
7
integration/ssl/error_self_signed_certificate.err
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
error: Http Connection
|
||||||
|
--> ssl/error_self_signed_certificate.hurl:1:5
|
||||||
|
|
|
||||||
|
1 | GET https://localhost:8001/hello
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SSL certificate problem
|
||||||
|
|
|
||||||
|
|
2
integration/ssl/error_self_signed_certificate.exit
Normal file
2
integration/ssl/error_self_signed_certificate.exit
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
3
|
||||||
|
|
4
integration/ssl/error_self_signed_certificate.hurl
Normal file
4
integration/ssl/error_self_signed_certificate.hurl
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
GET https://localhost:8001/hello
|
||||||
|
|
||||||
|
HTTP/1.0 200
|
||||||
|
```Hello World!```
|
2
integration/ssl/insecure.exit
Normal file
2
integration/ssl/insecure.exit
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
0
|
||||||
|
|
4
integration/ssl/insecure.hurl
Normal file
4
integration/ssl/insecure.hurl
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
GET https://localhost:8001/hello
|
||||||
|
|
||||||
|
HTTP/1.0 200
|
||||||
|
```Hello World!```
|
1
integration/ssl/insecure.options
Normal file
1
integration/ssl/insecure.options
Normal file
@ -0,0 +1 @@
|
|||||||
|
--insecure
|
52
integration/ssl/key.pem
Normal file
52
integration/ssl/key.pem
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQC9URoA9dVk5oNU
|
||||||
|
ivNyulXsFqV2siqFTJ7j5frxof4MV7luYBb/Hb16/1G0A5DRPMgTT1BEoTftKvzC
|
||||||
|
jYpW0bq3G/GDMm0mFW9qxPKe1i4lDLKRMHJwd7GmX26jp3FgD4XVWPfs8rnWhQhI
|
||||||
|
pwD49TZWAvav8IfX/mgYoO0q/lXxz/speNCA8W/AKi5CjkOrmNaplnmyKOu39EkB
|
||||||
|
t3zMJOz91NIGzhZWPUvu1v/y2J5P0DyQWNpneFJBUEwhSdkvNZipWnD8gpVfRsnJ
|
||||||
|
iF4kiusSRK8VyefK/gFKW8+Df+ZEzj777wG2s3svYZPXs98EoAF5duc9gz1RD1cz
|
||||||
|
bW3S4Qe5Wkcsa2U3fjGBjFCLwXPnAKXF8rBGGlAEFdhTpmN7yuZvD4F6HDgiEnlf
|
||||||
|
JkVMwS1Aytz14c6blFdIYPD8EwcA7uqfgNnvgETQAvS+5VzR0JluYZDoKvqCfJtO
|
||||||
|
3gDeEinmJt21fvwiOV1sAqrxqyijZVxdkGQTD6LiQAcp7vwUB8mLJkfA56GEbYV4
|
||||||
|
BZEsZfj7ARB9Fzqd1pQaKDgTP+ZMOcsy+2tzzVEJRSTfnS2osBIHVGxtO9WTlwZ2
|
||||||
|
+QHACykRgOhKjL2CR9g9jypzPUPYNFcZAomDVEDeET+cA7uH3HUvq2E8Xc4RaWwC
|
||||||
|
zhT1niWXjV6YKGaG7n6djVg6nUowVQIDAQABAoICAE9g7Q1QBmyrNo/BPzhwpsw5
|
||||||
|
5qDxLWD88nZOHL0qFhJoyehcw+euOZ+T5FcdU6BX4vAtxlMwYfnAl4CfxkyG3cof
|
||||||
|
HlHLV/aq8C+NaslstqZ0P38fGCzOEx/WTdayw5fqikwdZL7mO0OWPhXwaDj64BCK
|
||||||
|
Z5L3wI2xL0Z8W1U2lSSx9va5oHsgQKILTaA8dGVDzWYIIPixrbxQ4jelDt+t7+yy
|
||||||
|
SmnuCXGZe/gmD+VsLFz8zBgeGV1fFuYp2/HtO/JOf7cqo8tMmYL8dGlbE1YxJUVg
|
||||||
|
pST2poj3neTmwAi8HPnmnIQX/9jyQoloWYwM8ErJKDUcxPKGz7PoQcDfdjgAgLLf
|
||||||
|
VWSkZFZC2euIbQEx13uV1ICZ6iMR84r9lRojk5zQWiFqN/2Gui6D6sdIb/QcSVm+
|
||||||
|
U6W+QWqczwAeBEOKwELQdOgYzmznK93dCfjQhBiDFQvsoBnmeZoPRHkY/f2Bde7B
|
||||||
|
IjB7K7OmP4vXW6wWAIdiwD1CHjs0LnpkUaXSTwpgX2X6DzQjmLH8ikeAg3jgUc1c
|
||||||
|
w2tWfBhQJw5XSqNp582OM9te6HaeOuPb+Vc4jo7gaUXuLzUz1d73ii+iD7S8cyzo
|
||||||
|
eJw9nsY8sHLfRtw1zmLi7+HQ2qAPgHmoPESvuPWDKtnc/I+4nxWiZEFXrAP1znjG
|
||||||
|
6iGFmCPs29NQuixj/rpVAoIBAQDioFoP5dL1KOz9rLFAgcIbzataU76dQIZRhh/b
|
||||||
|
6O5VCSYpt/dZcovcsmAIky55OvHuNQR158j3zRvf8Krs58BL/9DXg3n7KAHvTVy/
|
||||||
|
2WiwiPGwpB92spS4o2XpJgoo91+jOJXDSAJiiTr3/MyIlYU6v+sN8dJu7PwwReQ9
|
||||||
|
tEhpT9EskbUlESg9rpCTAZZZDzUFDsmAA2OJgD+EEdUHSxOij3waKqeDFxdQTbll
|
||||||
|
cVumFhGnH3Slrh48siwY0Jj6EBuBgH37N2oJCKE7CCg406V07LWCPqDC+Mew52zg
|
||||||
|
OtszdpYgmY9RlKqjJ3cHY8YdfskTBZB19im9TBDd4Icc2YSXAoIBAQDV2smod+MY
|
||||||
|
HC/1JCjrbH1nfmmqz1oD6oszHiyEmaV8ux/Y3wFx+Z/0MqS4Bpx1HdLih+nNPsTX
|
||||||
|
DJLOFHjYWiwWZOjcf1nAivDa5Ejnhi1jWaNKjIYpmsXWZBFWf0NzHEH5a8bovuoJ
|
||||||
|
3tuYKSIqjY1tYkR78sacDi7Z13sTI5+dYNbxzy3guNVl19ESaJgce8oKftE1Mib8
|
||||||
|
fStOluzgUu6tCeUxZIVQCPDqDObn3qoUib/HSENDzFakjzJ+MRIV0lc79LpfK2l/
|
||||||
|
OeTd/2Y5SJat/LO08Y/ij3w+D8BZt4kPzgZY+x0Lo5z2YK70bm3WxD2GAzSCsk8A
|
||||||
|
7FdMZP4+evPzAoIBAQCise2WJi8Zs6TXxMeHgOAiZ7eRZDee2vjSxBBRJtsbDzNn
|
||||||
|
ldusSnCgIyqQXWFqxOd0VHl8T8dWJtjRHw0GgKXrqZ57abcDmMgyzP49+M2Qlu+0
|
||||||
|
GU9BPplIKH38MEPw/w6YtgHGLQcRSGWeLM2FbJo2ABu2ahnhap7t5O8jYS7u888+
|
||||||
|
SOib0MJr7ct6zhPqoeE1XVVJYqVtzDVNEiQ2VS6mcI3ulxqlIMmq6/GiIwxhosxP
|
||||||
|
h2SNoP+yIVNJCVAZjcDBasaGuFSWYaymHYgKq97Hnzv7Ygy1jDaICMx/+aDuRD8o
|
||||||
|
7jUWoz0RXj60fmt3N1MRJdh85xk1/crKDuvQyVPHAoIBADCBlLX6o27njdUro4Bq
|
||||||
|
tjMQUEVnDMLQo0wv7ucQtqGJDBsz0e8ZMLfB+OyoyzohTqEFNPnR3/HrLy1BJXvl
|
||||||
|
UBSwRMUmuaPbn+/2Ubb6Dzd2sHwLTa8IJRGQ1wHokdL9ONWrJY3LJ+ifPO3Rfqdq
|
||||||
|
PgbugBwhH/1rliLhJlBcBys6OObWGFDde8HC5vAm+0GSrmwdAbTwMDma5oTH5Oio
|
||||||
|
xuxGz06Zv0c9D+/2hzVWovtPl0lLUb6CDbD7rfdDiBedAx5dTxyhCyfJaOkVsgkS
|
||||||
|
NuM160kCdaFs7EBjcDypTZRhJb1vD9KBBOw5V9WnapCJKG9KMNHoQdUyxkZUrfpc
|
||||||
|
BxMCggEBAKd2eKnevy7JHfwu3FXfpZLMb/d9mrKHUOBWl062AQqXSRA5NKC/NlhM
|
||||||
|
SOZ0fSgGKPFKlQBWosdzHWLhg60SRRsmVKPPxPSIWJjjzsdJzljThutmonHnVIxQ
|
||||||
|
oGRA0LUB4+2zvufKxAXKqpgsZF/QHZ5qTe5rFukSx42a0L8rjLhQUc7kg3N1x1N5
|
||||||
|
qxe2MrJASHcfkYlrh64G2W/tGIcq/0SDMxVs6+t3Hv3g40Q/Ue3AVwSZ3nuxG4DB
|
||||||
|
G92VjIYbwX7IuvU7qDVZRlH3f7wciQf08KDdrLyzjHfRWZ3sBXrnMmC5Fz/a1MDn
|
||||||
|
d7k8yuCVBMAC0K15osckSqHwcxyAKUQ=
|
||||||
|
-----END PRIVATE KEY-----
|
14
integration/ssl/server.py
Executable file
14
integration/ssl/server.py
Executable file
@ -0,0 +1,14 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
from flask import Flask
|
||||||
|
import os
|
||||||
|
|
||||||
|
app = Flask(__name__)
|
||||||
|
|
||||||
|
@app.route("/hello")
|
||||||
|
def hello():
|
||||||
|
return "Hello World!"
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
ssl_dir = os.path.dirname(os.path.realpath(__file__))
|
||||||
|
app.run(port=8001, ssl_context=(ssl_dir + '/cert.pem', ssl_dir + '/key.pem'))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user