| 109 | } |
| 110 | |
| 111 | func TestArtifactResolveElement(t *testing.T) { |
| 112 | issueInstant := time.Date(2020, 7, 21, 12, 30, 45, 0, time.UTC) |
| 113 | expected := ArtifactResolve{ |
| 114 | ID: "index", |
| 115 | Version: "version", |
| 116 | IssueInstant: issueInstant, |
| 117 | // Signature *etree.Element |
| 118 | } |
| 119 | |
| 120 | doc := etree.NewDocument() |
| 121 | doc.SetRoot(expected.Element()) |
| 122 | x, err := doc.WriteToBytes() |
| 123 | assert.Check(t, err) |
| 124 | assert.Check(t, is.Equal(`<samlp:ArtifactResolve xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:xs="http://www.w3.org/2001/XMLSchema" ID="index" Version="version" IssueInstant="2020-07-21T12:30:45Z"><samlp:Artifact/></samlp:ArtifactResolve>`, |
| 125 | string(x))) |
| 126 | |
| 127 | var actual ArtifactResolve |
| 128 | err = xml.Unmarshal(x, &actual) |
| 129 | assert.Check(t, err) |
| 130 | assert.Check(t, is.DeepEqual(expected, actual)) |
| 131 | |
| 132 | x, err = xml.Marshal(expected) |
| 133 | assert.Check(t, err) |
| 134 | assert.Check(t, is.Equal(`<ArtifactResolve xmlns="urn:oasis:names:tc:SAML:2.0:protocol" ID="index" Version="version" IssueInstant="2020-07-21T12:30:45Z"><Artifact xmlns="urn:oasis:names:tc:SAML:2.0:protocol"></Artifact></ArtifactResolve>`, |
| 135 | string(x))) |
| 136 | } |
| 137 | |
| 138 | func TestArtifactResolveSoapRequest(t *testing.T) { |
| 139 | issueInstant := time.Date(2020, 7, 21, 12, 30, 45, 0, time.UTC) |