summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorIvan Kanakarakis <ivan.kanak@gmail.com>2018-09-04 04:22:47 +0300
committerIvan Kanakarakis <ivan.kanak@gmail.com>2018-09-04 04:22:47 +0300
commita76cd33908fd01b23ee2aa139a3c9fc069bcf15a (patch)
tree64abce6d5f4b6fbc2e58203ed462ffba6f4aa940 /tests
parent92a1faa26848a0711bce54ada086e885745952c0 (diff)
downloadpysaml2-a76cd33908fd01b23ee2aa139a3c9fc069bcf15a.tar.gz
Update test cases for set_text method
Signed-off-by: Ivan Kanakarakis <ivan.kanak@gmail.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/test_02_saml.py53
1 files changed, 43 insertions, 10 deletions
diff --git a/tests/test_02_saml.py b/tests/test_02_saml.py
index 2e9c33ee..66306502 100644
--- a/tests/test_02_saml.py
+++ b/tests/test_02_saml.py
@@ -230,22 +230,55 @@ class TestSAMLBase:
assert "saml:AttributeValue" in nsstr
assert "saml:AttributeValue" not in txt
- def test_set_text(self):
+ def test_set_text_empty(self):
+ av = AttributeValue()
+ av.set_text(None)
+ assert av.get_type() == ''
+ assert av.text == ''
+
+ def test_set_text_value(self):
+ value = 123
+ av = AttributeValue(value)
+ assert av.get_type() == 'xs:integer'
+ assert av.text == str(value)
+
+ def test_set_text_update_same_type(self):
av = AttributeValue()
av.set_text(True)
- assert av.text == "true"
+ assert av.get_type() == 'xs:boolean'
+ assert av.text == 'true'
av.set_text(False)
- assert av.text == "false"
- # can't change value to another type
- raises(AssertionError, "av.set_text(491)")
+ assert av.get_type() == 'xs:boolean'
+ assert av.text == 'false'
+ def test_set_text_cannot_change_value_type(self):
av = AttributeValue()
- av.set_text(None)
- assert av.text == ""
-
+ av.set_text(True)
+ assert av.get_type() == 'xs:boolean'
+ assert av.text == 'true'
+ with raises(ValueError):
+ av.set_text(123)
+ assert av.get_type() == 'xs:boolean'
+ assert av.text == 'true'
+
+ def test_set_xs_type_anytype_unchanged_value(self):
+ av = AttributeValue()
+ av.set_type('xs:anyType')
+ for value in [
+ [1, 2, 3],
+ {'key': 'value'},
+ True,
+ 123,
+ ]:
+ av.set_text(value)
+ # the value is unchanged
+ assert av.text == value
+
+ def test_set_invalid_type_before_text(self):
av = AttributeValue()
- av.set_type('invalid')
- raises(ValueError, "av.set_text('free text')")
+ av.set_type('invalid-type')
+ with raises(ValueError):
+ av.set_text('foobar')
def test_make_vals_div(self):
foo = saml2.make_vals(666, AttributeValue, part=True)