| 
20 | 20 | 
 
  | 
21 | 21 | import com.fasterxml.jackson.databind.JsonNode;  | 
22 | 22 | 
 
  | 
23 |  | -import java.io.FileReader;  | 
24 | 23 | import java.nio.charset.StandardCharsets;  | 
25 | 24 | import org.apache.commons.io.IOUtils;  | 
26 |  | -import org.cyclonedx.exception.GeneratorException;  | 
27 | 25 | import org.cyclonedx.generators.BomGeneratorFactory;  | 
28 | 26 | import org.cyclonedx.generators.json.BomJsonGenerator;  | 
29 | 27 | import org.cyclonedx.generators.xml.BomXmlGenerator;  | 
30 | 28 | import org.cyclonedx.model.Bom;  | 
31 | 29 | import org.cyclonedx.model.Component;  | 
 | 30 | +import org.cyclonedx.model.Dependency;  | 
32 | 31 | import org.cyclonedx.model.Component.Type;  | 
33 | 32 | import org.cyclonedx.model.License;  | 
34 | 33 | import org.cyclonedx.model.LicenseChoice;  | 
35 | 34 | import org.cyclonedx.model.Metadata;  | 
36 |  | -import org.cyclonedx.model.OrganizationalContact;  | 
37 | 35 | import org.cyclonedx.model.Service;  | 
38 | 36 | import org.cyclonedx.model.license.Expression;  | 
39 |  | -import org.cyclonedx.model.metadata.ToolInformation;  | 
40 | 37 | import org.cyclonedx.parsers.JsonParser;  | 
41 | 38 | import org.cyclonedx.parsers.XmlParser;  | 
42 | 39 | import org.junit.jupiter.api.AfterEach;  | 
 | 
52 | 49 | import java.nio.file.Files;  | 
53 | 50 | import java.nio.file.Path;  | 
54 | 51 | import java.util.ArrayList;  | 
55 |  | -import java.util.Arrays;  | 
56 |  | -import java.util.LinkedList;  | 
57 |  | -import java.util.List;  | 
58 |  | -import java.util.UUID;  | 
59 | 52 | import java.util.stream.Stream;  | 
60 | 53 | import java.util.Objects;  | 
61 | 54 | 
 
  | 
@@ -336,6 +329,72 @@ public void schema16_testAttestations_json() throws Exception {  | 
336 | 329 |         assertTrue(parser.isValid(loadedFile, version));  | 
337 | 330 |     }  | 
338 | 331 | 
 
  | 
 | 332 | +    @Test  | 
 | 333 | +    public void schema16_testDependencyProvides_json() throws Exception {  | 
 | 334 | +        Version version = Version.VERSION_16;  | 
 | 335 | +        Bom bom = createCommonJsonBom("/1.6/valid-dependency-provides-1.6.json");  | 
 | 336 | + | 
 | 337 | +        BomJsonGenerator generator = BomGeneratorFactory.createJson(version, bom);  | 
 | 338 | +        File loadedFile = writeToFile(generator.toJsonString());  | 
 | 339 | + | 
 | 340 | +        JsonParser parser = new JsonParser();  | 
 | 341 | +        assertTrue(parser.isValid(loadedFile, version));  | 
 | 342 | + | 
 | 343 | +        Bom parsedBom = parser.parse(loadedFile);  | 
 | 344 | +        assertNotNull(parsedBom.getDependencies());  | 
 | 345 | +        assertEquals(3, parsedBom.getDependencies().size());  | 
 | 346 | +        // Test dependency library-a  | 
 | 347 | +        Dependency libA = parsedBom.getDependencies().get(0);  | 
 | 348 | +        assertEquals("library-a", libA.getRef());  | 
 | 349 | +        assertNotNull(libA.getDependencies());  | 
 | 350 | +        assertEquals(0, libA.getDependencies().size());  | 
 | 351 | +        assertNull(libA.getProvides());  | 
 | 352 | +        // Test dependency library-b  | 
 | 353 | +        Dependency libB = parsedBom.getDependencies().get(1);  | 
 | 354 | +        assertEquals("library-b", libB.getRef());  | 
 | 355 | +        assertEquals(1, libB.getDependencies().size());  | 
 | 356 | +        assertEquals("library-c", libB.getDependencies().get(0).getRef());  | 
 | 357 | +        // Test dependency library-c  | 
 | 358 | +        Dependency libC = parsedBom.getDependencies().get(2);  | 
 | 359 | +        assertEquals("library-c", libC.getRef());  | 
 | 360 | +        assertNotNull(libC.getDependencies());  | 
 | 361 | +        assertNotNull(libC.getProvides());  | 
 | 362 | +        assertEquals("library-d", libC.getProvides().get(0).getRef());  | 
 | 363 | +    }  | 
 | 364 | + | 
 | 365 | +    @Test  | 
 | 366 | +    public void schema16_testDependencyProvides() throws Exception {  | 
 | 367 | +        Version version = Version.VERSION_16;  | 
 | 368 | +        Bom bom = createCommonXmlBom("/1.6/valid-dependency-provides-1.6.xml");  | 
 | 369 | + | 
 | 370 | +        BomJsonGenerator generator = BomGeneratorFactory.createJson(version, bom);  | 
 | 371 | +        File loadedFile = writeToFile(generator.toJsonString());  | 
 | 372 | + | 
 | 373 | +        JsonParser parser = new JsonParser();  | 
 | 374 | +        assertTrue(parser.isValid(loadedFile, version));  | 
 | 375 | + | 
 | 376 | +        Bom parsedBom = parser.parse(loadedFile);  | 
 | 377 | +        assertNotNull(parsedBom.getDependencies());  | 
 | 378 | +        assertEquals(3, parsedBom.getDependencies().size());  | 
 | 379 | +        // Test dependency library-a  | 
 | 380 | +        Dependency libA = parsedBom.getDependencies().get(0);  | 
 | 381 | +        assertEquals("library-a", libA.getRef());  | 
 | 382 | +        assertNotNull(libA.getDependencies());  | 
 | 383 | +        assertEquals(0, libA.getDependencies().size());  | 
 | 384 | +        assertNull(libA.getProvides());  | 
 | 385 | +        // Test dependency library-b  | 
 | 386 | +        Dependency libB = parsedBom.getDependencies().get(1);  | 
 | 387 | +        assertEquals("library-b", libB.getRef());  | 
 | 388 | +        assertEquals(1, libB.getDependencies().size());  | 
 | 389 | +        assertEquals("library-c", libB.getDependencies().get(0).getRef());  | 
 | 390 | +        // Test dependency library-c  | 
 | 391 | +        Dependency libC = parsedBom.getDependencies().get(2);  | 
 | 392 | +        assertEquals("library-c", libC.getRef());  | 
 | 393 | +        assertNotNull(libC.getDependencies());  | 
 | 394 | +        assertNotNull(libC.getProvides());  | 
 | 395 | +        assertEquals("library-d", libC.getProvides().get(0).getRef());  | 
 | 396 | +    }  | 
 | 397 | + | 
339 | 398 |     @Test  | 
340 | 399 |     public void schema16_testCompositions() throws Exception {  | 
341 | 400 |         Version version = Version.VERSION_16;  | 
 | 
0 commit comments