diff options
Diffstat (limited to 'qa/tasks/tests/test_radosgw_admin.py')
-rw-r--r-- | qa/tasks/tests/test_radosgw_admin.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/qa/tasks/tests/test_radosgw_admin.py b/qa/tasks/tests/test_radosgw_admin.py new file mode 100644 index 00000000..2ed0ebd5 --- /dev/null +++ b/qa/tasks/tests/test_radosgw_admin.py @@ -0,0 +1,35 @@ +import six +if six.PY3: + from unittest.mock import Mock +else: + from mock import Mock + +from tasks import radosgw_admin + +acl_with_version = """<?xml version="1.0" encoding="UTF-8"?><AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Owner><ID>foo</ID><DisplayName>Foo</DisplayName></Owner><AccessControlList><Grant><Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"><ID>foo</ID><DisplayName>Foo</DisplayName></Grantee><Permission>FULL_CONTROL</Permission></Grant></AccessControlList></AccessControlPolicy> +""" # noqa + + +acl_without_version = """<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Owner><ID>foo</ID><DisplayName>Foo</DisplayName></Owner><AccessControlList><Grant><Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"><ID>foo</ID><DisplayName>Foo</DisplayName></Grantee><Permission>FULL_CONTROL</Permission></Grant></AccessControlList></AccessControlPolicy> +""" # noqa + + +class TestGetAcl(object): + + def setup(self): + self.key = Mock() + + def test_removes_xml_version(self): + self.key.get_xml_acl = Mock(return_value=acl_with_version) + result = radosgw_admin.get_acl(self.key) + assert result.startswith('<AccessControlPolicy') + + def test_xml_version_is_already_removed(self): + self.key.get_xml_acl = Mock(return_value=acl_without_version) + result = radosgw_admin.get_acl(self.key) + assert result.startswith('<AccessControlPolicy') + + def test_newline_gets_trimmed(self): + self.key.get_xml_acl = Mock(return_value=acl_without_version) + result = radosgw_admin.get_acl(self.key) + assert result.endswith('\n') is False |