Merge "Make swift-form-signature output a sample form"
This commit is contained in:
commit
1f63e7ef61
@ -46,6 +46,19 @@ def main(argv):
|
|||||||
print 'Example output:'
|
print 'Example output:'
|
||||||
print ' Expires: 1323842228'
|
print ' Expires: 1323842228'
|
||||||
print ' Signature: 18de97e47345a82c4dbfb3b06a640dbb'
|
print ' Signature: 18de97e47345a82c4dbfb3b06a640dbb'
|
||||||
|
print
|
||||||
|
print 'Sample form:'
|
||||||
|
print
|
||||||
|
print('NOTE: the <form> tag\'s "action" attribute does not contain '
|
||||||
|
'the Swift cluster\'s hostname.')
|
||||||
|
print 'You should manually add it before using the form.'
|
||||||
|
print
|
||||||
|
print('<form action="/v1/a/c/o" method="POST" '
|
||||||
|
'enctype="multipart/form-data">')
|
||||||
|
print ' <input type="hidden" name="max_file_size" value="123" />'
|
||||||
|
print ' ... more HTML ...'
|
||||||
|
print ' <input type="submit" />'
|
||||||
|
print '</form>'
|
||||||
return 1
|
return 1
|
||||||
path, redirect, max_file_size, max_file_count, seconds, key = argv[1:]
|
path, redirect, max_file_size, max_file_count, seconds, key = argv[1:]
|
||||||
try:
|
try:
|
||||||
@ -83,4 +96,32 @@ def main(argv):
|
|||||||
sha1).hexdigest()
|
sha1).hexdigest()
|
||||||
print ' Expires:', expires
|
print ' Expires:', expires
|
||||||
print 'Signature:', sig
|
print 'Signature:', sig
|
||||||
|
print ''
|
||||||
|
|
||||||
|
print('Sample form:\n')
|
||||||
|
|
||||||
|
print('NOTE: the <form> tag\'s "action" attribute does not '
|
||||||
|
'contain the Swift cluster\'s hostname.')
|
||||||
|
print('You should manually add it before using the form.\n')
|
||||||
|
|
||||||
|
print('<form action="%s" method="POST" enctype="multipart/form-data">'
|
||||||
|
% path)
|
||||||
|
if redirect:
|
||||||
|
print(' <input type="hidden" name="redirect" value="%s" />'
|
||||||
|
% redirect)
|
||||||
|
print(' <input type="hidden" name="max_file_size" value="%d" />'
|
||||||
|
% max_file_size)
|
||||||
|
print(' <input type="hidden" name="max_file_count" value="%d" />'
|
||||||
|
% max_file_count)
|
||||||
|
print(' <input type="hidden" name="expires" value="%d" />' % expires)
|
||||||
|
print(' <input type="hidden" name="signature" value="%s" />' % sig)
|
||||||
|
print(' <!-- This signature allows for at most %d files, -->'
|
||||||
|
% max_file_count)
|
||||||
|
print(' <!-- but it may also have any smaller number. -->')
|
||||||
|
print(' <!-- Remove file inputs as needed. -->')
|
||||||
|
for i in range(max_file_count):
|
||||||
|
print(' <input type="file" name="file%d" />' % i)
|
||||||
|
print(' <br />')
|
||||||
|
print(' <input type="submit" />')
|
||||||
|
print('</form>')
|
||||||
return 0
|
return 0
|
||||||
|
@ -54,6 +54,10 @@ class TestFormSignature(unittest.TestCase):
|
|||||||
self.assertTrue("Expires: %d" % (the_time + expires,)
|
self.assertTrue("Expires: %d" % (the_time + expires,)
|
||||||
in out.getvalue())
|
in out.getvalue())
|
||||||
|
|
||||||
|
sig_input = ('<input type="hidden" name="signature" value="%s" />'
|
||||||
|
% expected_signature)
|
||||||
|
self.assertTrue(sig_input in out.getvalue())
|
||||||
|
|
||||||
def test_too_few_args(self):
|
def test_too_few_args(self):
|
||||||
out = StringIO()
|
out = StringIO()
|
||||||
with mock.patch('sys.stdout', out):
|
with mock.patch('sys.stdout', out):
|
||||||
|
Loading…
Reference in New Issue
Block a user