aboutsummaryrefslogtreecommitdiff
path: root/rdfloader/parser2v2/parse_relationship_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'rdfloader/parser2v2/parse_relationship_test.go')
-rw-r--r--rdfloader/parser2v2/parse_relationship_test.go28
1 files changed, 27 insertions, 1 deletions
diff --git a/rdfloader/parser2v2/parse_relationship_test.go b/rdfloader/parser2v2/parse_relationship_test.go
index c02f15b..14f4c12 100644
--- a/rdfloader/parser2v2/parse_relationship_test.go
+++ b/rdfloader/parser2v2/parse_relationship_test.go
@@ -320,7 +320,33 @@ func Test_rdfParser2_2_parseRelationship(t *testing.T) {
t.Errorf("should've raised an error due to unknown predicate in a relationship")
}
- // TestCase 6: completely valid example:
+ // TestCase 8: Recursive relationships mustn't raise any error:
+ parser, _ = parserFromBodyContent(`
+ <spdx:File rdf:about="http://spdx.org/spdxdocs/spdx-example-444504E0-4F89-41D3-9A0C-0305E82C3301#SPDXRef-File">
+ <spdx:relationship>
+ <spdx:Relationship rdf:about="#SPDXRef-reln">
+ <spdx:relationshipType rdf:resource="http://spdx.org/rdf/terms#relationshipType_describes"/>
+ <spdx:relatedSpdxElement>
+ <spdx:Package rdf:about="http://spdx.org/spdxdocs/spdx-example-444504E0-4F89-41D3-9A0C-0305E82C3301#SPDXRef-Saxon">
+ <spdx:relationship>
+ <spdx:Relationship rdf:about="#SPDXRef-reln">
+ <spdx:relationshipType rdf:resource="http://spdx.org/rdf/terms#relationshipType_describes"/>
+ <spdx:relatedSpdxElement rdf:resource="http://spdx.org/spdxdocs/spdx-example-444504E0-4F89-41D3-9A0C-0305E82C3301#SPDXRef-File"/>
+ </spdx:Relationship>
+ </spdx:relationship>
+ </spdx:Package>
+ </spdx:relatedSpdxElement>
+ </spdx:Relationship>
+ </spdx:relationship>
+ </spdx:File>
+ `)
+ triple = rdfwriter.FilterTriples(parser.gordfParserObj.Triples, nil, &SPDX_RELATIONSHIP, nil)[0]
+ err = parser.parseRelationship(triple)
+ if err != nil {
+ t.Errorf("error parsing a valid example")
+ }
+
+ // TestCase 7: completely valid example:
parser, _ = parserFromBodyContent(`
<spdx:File rdf:about="http://spdx.org/spdxdocs/spdx-example-444504E0-4F89-41D3-9A0C-0305E82C3301#SPDXRef-File">
<spdx:relationship>