示例#1
0
 def test_copy_source_supports_optional_version_id(self):
     params = {"CopySource": {"Bucket": "foo", "Key": "keyname+", "VersionId": "asdf+"}}
     handlers.handle_copy_source_param(params)
     self.assertEqual(
         params["CopySource"],
         # Note, versionId is not url encoded.
         "foo/keyname%2B?versionId=asdf+",
     )
示例#2
0
 def test_copy_source_supports_optional_version_id(self):
     params = {
         'CopySource': {'Bucket': 'foo',
                        'Key': 'keyname+',
                        'VersionId': 'asdf+'}
     }
     handlers.handle_copy_source_param(params)
     self.assertEqual(params['CopySource'],
                      # Note, versionId is not url encoded.
                      'foo/keyname%2B?versionId=asdf+')
示例#3
0
 def test_copy_source_ignored_if_not_dict(self):
     params = {
         'CopySource': 'stringvalue'
     }
     handlers.handle_copy_source_param(params)
     self.assertEqual(params['CopySource'], 'stringvalue')
示例#4
0
 def test_copy_source_supports_dict(self):
     params = {
         'CopySource': {'Bucket': 'foo', 'Key': 'keyname+'}
     }
     handlers.handle_copy_source_param(params)
     self.assertEqual(params['CopySource'], 'foo/keyname%2B')
示例#5
0
 def test_copy_source_with_multiple_questions(self):
     params = {'CopySource': '/foo/bar+baz?a=baz+?versionId=a+'}
     handlers.handle_copy_source_param(params)
     self.assertEqual(params['CopySource'],
                      '/foo/bar%2Bbaz%3Fa%3Dbaz%2B?versionId=a+')
示例#6
0
 def test_only_quote_url_path_not_version_id(self):
     params = {"CopySource": "/foo/bar++baz?versionId=123"}
     handlers.handle_copy_source_param(params)
     self.assertEqual(params["CopySource"], "/foo/bar%2B%2Bbaz?versionId=123")
示例#7
0
 def test_copy_source_supports_dict(self):
     params = {'CopySource': {'Bucket': 'foo', 'Key': 'keyname+'}}
     handlers.handle_copy_source_param(params)
     self.assertEqual(params['CopySource'], 'foo/keyname%2B')
示例#8
0
 def test_only_version_id_is_special_cased(self):
     params = {'CopySource': '/foo/bar++baz?notVersion=foo+'}
     handlers.handle_copy_source_param(params)
     self.assertEqual(params['CopySource'],
                      '/foo/bar%2B%2Bbaz%3FnotVersion%3Dfoo%2B')
示例#9
0
 def test_quote_source_header_needs_no_changes(self):
     params = {'CopySource': '/foo/bar?versionId=123'}
     handlers.handle_copy_source_param(params)
     self.assertEqual(params['CopySource'], '/foo/bar?versionId=123')
示例#10
0
 def test_copy_source_has_validation_failure(self):
     with self.assertRaisesRegexp(ParamValidationError, "Key"):
         handlers.handle_copy_source_param({"CopySource": {"Bucket": "foo"}})
示例#11
0
 def test_copy_source_ignored_if_not_dict(self):
     params = {"CopySource": "stringvalue"}
     handlers.handle_copy_source_param(params)
     self.assertEqual(params["CopySource"], "stringvalue")
示例#12
0
 def test_copy_source_supports_dict(self):
     params = {"CopySource": {"Bucket": "foo", "Key": "keyname+"}}
     handlers.handle_copy_source_param(params)
     self.assertEqual(params["CopySource"], "foo/keyname%2B")
示例#13
0
 def test_copy_source_with_multiple_questions(self):
     params = {"CopySource": "/foo/bar+baz?a=baz+?versionId=a+"}
     handlers.handle_copy_source_param(params)
     self.assertEqual(params["CopySource"], "/foo/bar%2Bbaz%3Fa%3Dbaz%2B?versionId=a+")
示例#14
0
 def test_only_version_id_is_special_cased(self):
     params = {"CopySource": "/foo/bar++baz?notVersion=foo+"}
     handlers.handle_copy_source_param(params)
     self.assertEqual(params["CopySource"], "/foo/bar%2B%2Bbaz%3FnotVersion%3Dfoo%2B")
示例#15
0
 def test_copy_source_has_validation_failure(self):
     with self.assertRaisesRegexp(ParamValidationError, 'Key'):
         handlers.handle_copy_source_param(
             {'CopySource': {'Bucket': 'foo'}})
示例#16
0
 def test_copy_source_has_validation_failure(self):
     with self.assertRaisesRegexp(ParamValidationError, 'Key'):
         handlers.handle_copy_source_param(
             {'CopySource': {
                 'Bucket': 'foo'
             }})
示例#17
0
 def test_quote_source_header_needs_no_changes(self):
     params = {'CopySource': '/foo/bar?versionId=123'}
     handlers.handle_copy_source_param(params)
     self.assertEqual(params['CopySource'],
                      '/foo/bar?versionId=123')
示例#18
0
 def test_only_quote_url_path_not_version_id(self):
     params = {'CopySource': '/foo/bar++baz?versionId=123'}
     handlers.handle_copy_source_param(params)
     self.assertEqual(params['CopySource'],
                      '/foo/bar%2B%2Bbaz?versionId=123')
示例#19
0
 def test_only_quote_url_path_not_version_id(self):
     params = {'CopySource': '/foo/bar++baz?versionId=123'}
     handlers.handle_copy_source_param(params)
     self.assertEqual(params['CopySource'],
                      '/foo/bar%2B%2Bbaz?versionId=123')
示例#20
0
 def test_copy_source_with_multiple_questions(self):
     params = {'CopySource': '/foo/bar+baz?a=baz+?versionId=a+'}
     handlers.handle_copy_source_param(params)
     self.assertEqual(params['CopySource'],
                      '/foo/bar%2Bbaz%3Fa%3Dbaz%2B?versionId=a+')
示例#21
0
 def test_only_version_id_is_special_cased(self):
     params = {'CopySource': '/foo/bar++baz?notVersion=foo+'}
     handlers.handle_copy_source_param(params)
     self.assertEqual(params['CopySource'],
                      '/foo/bar%2B%2Bbaz%3FnotVersion%3Dfoo%2B')
示例#22
0
 def test_copy_source_ignored_if_not_dict(self):
     params = {'CopySource': 'stringvalue'}
     handlers.handle_copy_source_param(params)
     self.assertEqual(params['CopySource'], 'stringvalue')
示例#23
0
 def test_quote_source_header_needs_no_changes(self):
     params = {"CopySource": "/foo/bar?versionId=123"}
     handlers.handle_copy_source_param(params)
     self.assertEqual(params["CopySource"], "/foo/bar?versionId=123")