Skip to content

Commit

Permalink
g3proxy: add more post/put testcase
Browse files Browse the repository at this point in the history
  • Loading branch information
zh-jq committed Nov 17, 2024
1 parent 35b344e commit adba590
Showing 1 changed file with 26 additions and 1 deletion.
27 changes: 26 additions & 1 deletion g3proxy/ci/python3+curl/test_httpbin.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import unittest
import base64
from io import BytesIO
from urllib.parse import urlencode

import pycurl

Expand Down Expand Up @@ -72,18 +73,42 @@ def test_base64_decode(self):
self.assertEqual(self.c.getinfo(pycurl.RESPONSE_CODE), 200)
self.assertEqual(self.buffer.getvalue(), b"HTTPBIN is awesome")

def test_post_continue(self):
def test_post_small(self):
data = "Content to post"

self.set_url_and_request_target('/post')
self.c.setopt(pycurl.POSTFIELDS, data)
self.c.perform()
self.assertEqual(self.c.getinfo(pycurl.RESPONSE_CODE), 200)

# add Expect and try again
self.c.setopt(pycurl.HTTPHEADER, ['Expect: 100-continue'])
self.c.perform()
self.assertEqual(self.c.getinfo(pycurl.RESPONSE_CODE), 200)

def test_post_large(self):
post_data = {'data': "Content to post" * 1024 * 100}
post_fields = urlencode(post_data)

self.set_url_and_request_target('/post')
self.c.setopt(pycurl.POSTFIELDS, post_fields)
self.c.perform()
self.assertEqual(self.c.getinfo(pycurl.RESPONSE_CODE), 200)

# disable Expect and try again
self.c.setopt(pycurl.HTTPHEADER, ['Expect:'])
self.c.perform()
self.assertEqual(self.c.getinfo(pycurl.RESPONSE_CODE), 200)

def test_put_file(self):
self.set_url_and_request_target('/put')
self.c.setopt(pycurl.UPLOAD, 1)
file = open(__file__)
self.c.setopt(pycurl.READDATA, file)
self.c.perform()
self.assertEqual(self.c.getinfo(pycurl.RESPONSE_CODE), 200)
file.close()


if __name__ == '__main__':
parser = argparse.ArgumentParser()
Expand Down

0 comments on commit adba590

Please sign in to comment.