From a9d7d9121f070c94fa5f34e349eafe95ecf047a5 Mon Sep 17 00:00:00 2001 From: Anders Abel Date: Mon, 16 Oct 2023 08:49:43 +0200 Subject: [PATCH] Another test --- .../Metadata/MetadataSerializer.EntityDescriptor.cs | 5 ----- .../Samlp/SamlpSerializer.AuthnRequest.cs | 2 +- src/Sustainsys.Saml2/Xml/SerializerBase.cs | 8 +++----- .../MetadataSerializerTests.EntityDescriptor.cs | 11 +++++++++++ ...dEntityDescriptor_WrongNamespaceRoleDescriptor.xml | 4 ++++ 5 files changed, 19 insertions(+), 11 deletions(-) create mode 100644 src/Tests/Sustainsys.Saml2.Tests/Metadata/MetadataSerializerTests/ReadEntityDescriptor_WrongNamespaceRoleDescriptor.xml diff --git a/src/Sustainsys.Saml2/Metadata/MetadataSerializer.EntityDescriptor.cs b/src/Sustainsys.Saml2/Metadata/MetadataSerializer.EntityDescriptor.cs index 281bbc7c1..53e18e31d 100644 --- a/src/Sustainsys.Saml2/Metadata/MetadataSerializer.EntityDescriptor.cs +++ b/src/Sustainsys.Saml2/Metadata/MetadataSerializer.EntityDescriptor.cs @@ -93,11 +93,6 @@ protected virtual void ReadElements(XmlTraverser source, EntityDescriptor entity break; } } - else - { - // TODO: Test case for this. - wasRoleDescriptor = false; - } } while (wasRoleDescriptor && source.MoveNext(true)); } } \ No newline at end of file diff --git a/src/Sustainsys.Saml2/Samlp/SamlpSerializer.AuthnRequest.cs b/src/Sustainsys.Saml2/Samlp/SamlpSerializer.AuthnRequest.cs index 955419736..7b327e86b 100644 --- a/src/Sustainsys.Saml2/Samlp/SamlpSerializer.AuthnRequest.cs +++ b/src/Sustainsys.Saml2/Samlp/SamlpSerializer.AuthnRequest.cs @@ -16,7 +16,7 @@ public AuthnRequest ReadAuthnRequest(XmlTraverser source) /// public virtual XmlDocument Write(AuthnRequest authnRequest) { - var xmlDoc = CreateXmlDocument(); + var xmlDoc = new XmlDocument(); Append(xmlDoc, authnRequest); diff --git a/src/Sustainsys.Saml2/Xml/SerializerBase.cs b/src/Sustainsys.Saml2/Xml/SerializerBase.cs index bd17b349f..ac7f2196b 100644 --- a/src/Sustainsys.Saml2/Xml/SerializerBase.cs +++ b/src/Sustainsys.Saml2/Xml/SerializerBase.cs @@ -6,6 +6,9 @@ namespace Sustainsys.Saml2.Xml; +// TODO: Separate and rename to SamlReaderBase/SamlWriterBase - SamlpReader/SamlpWriter +// Make XmlTraverser a property of the reader - enforces being transient + /// /// Shared interface for all serializers /// @@ -67,11 +70,6 @@ public abstract class SerializerBase protected virtual void ThrowOnErrors(XmlTraverser source) => source.ThrowOnErrors(); - /// - /// Creates an Xml document with good settings. - /// - protected virtual XmlDocument CreateXmlDocument() => new() { PreserveWhitespace = true }; - /// /// Append an element using the serializers default and . /// diff --git a/src/Tests/Sustainsys.Saml2.Tests/Metadata/MetadataSerializerTests.EntityDescriptor.cs b/src/Tests/Sustainsys.Saml2.Tests/Metadata/MetadataSerializerTests.EntityDescriptor.cs index 4ad647b1a..2771c5798 100644 --- a/src/Tests/Sustainsys.Saml2.Tests/Metadata/MetadataSerializerTests.EntityDescriptor.cs +++ b/src/Tests/Sustainsys.Saml2.Tests/Metadata/MetadataSerializerTests.EntityDescriptor.cs @@ -176,4 +176,15 @@ public void ReadEntityDescriptor_ADFS() .Invoking(s => s.ReadEntityDescriptor(xmlTraverser)) .Should().NotThrow(); } + + [Fact] + public void ReadEntityDescriptor_WrongNamespaceRoleDescriptor() + { + var xmlTraverser = GetXmlTraverser(); + + new MetadataSerializer() + .Invoking(s => s.ReadEntityDescriptor(xmlTraverser)) + .Should().Throw() + .WithErrors(ErrorReason.UnexpectedNamespace); + } } diff --git a/src/Tests/Sustainsys.Saml2.Tests/Metadata/MetadataSerializerTests/ReadEntityDescriptor_WrongNamespaceRoleDescriptor.xml b/src/Tests/Sustainsys.Saml2.Tests/Metadata/MetadataSerializerTests/ReadEntityDescriptor_WrongNamespaceRoleDescriptor.xml new file mode 100644 index 000000000..db6094b2a --- /dev/null +++ b/src/Tests/Sustainsys.Saml2.Tests/Metadata/MetadataSerializerTests/ReadEntityDescriptor_WrongNamespaceRoleDescriptor.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file