CycloneDX / CycloneDX/cyclonedx-core-java

Parsing ISO 8601 compliant metadata.timestamp returns null in bom

Offen Anfängerfreundlich
#681 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
120
Forks
90
Ø Merge
12 Std. 43 Min.
Gemergte PRs (30 T.)
18

Beschreibung

Parsing a bom with ISO 8601 compliant available metadata.timestamp using a version > 9.1.0 returns a bom object with value null
for metadata.timestamp.

Code to reproduce the behaviour (or run the test in BomParserTest in attached TestSbomImport):

```
import org.cyclonedx.model.Bom;
import org.cyclonedx.parsers.JsonParser;
import org.junit.jupiter.api.Test;

import java.io.File;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;

import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;

public class BomParserTest {
@Test
void manTest() {
try {
String bomContent = new String(Files.readAllBytes(new File("src/test/resources/bom.json").toPath()));
Bom b = new JsonParser().parse(bomContent.getBytes(StandardCharsets.UTF_8));
// works with 9.1.0 but not with later versions
assertNotNull(b.getMetadata().getTimestamp());
}
catch (Exception e) {
assertNull(e);
}
}
}
```
[TestSbomImport.zip](https://github.com/user-attachments/files/21527027/TestSbomImport.zip)

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit org.cyclonedx.parsers.JsonParser und der Reproduktion BomParserTest unter Verwendung von src/test/resources/bom.json aus dem angehängten TestSbomImport. Vergleiche das Parsing-Verhalten nach 9.1.0 und verifiziere, dass ein ISO-8601-metadata.timestamp einen nicht-null Bom-Metadatenzeitstempel erzeugt; lasse den Regressionstest weiterhin erfolgreich durchlaufen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
data
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
72/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.