mirror of
https://github.com/anchore/syft.git
synced 2026-02-12 02:26:42 +01:00
update the json schema and tests with file contents section
Signed-off-by: Alex Goodman <alex.goodman@anchore.com>
This commit is contained in:
parent
c1551a03c5
commit
d451a5ad30
@ -125,6 +125,9 @@ func TestJSONPresenter(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
FileContents: map[source.Location]string{
|
||||||
|
source.NewLocation("/a/place/a"): "the-contents",
|
||||||
|
},
|
||||||
Distro: &distro.Distro{
|
Distro: &distro.Distro{
|
||||||
Type: distro.RedHat,
|
Type: distro.RedHat,
|
||||||
RawVersion: "7",
|
RawVersion: "7",
|
||||||
|
|||||||
@ -1,4 +1,12 @@
|
|||||||
{
|
{
|
||||||
|
"fileContents": [
|
||||||
|
{
|
||||||
|
"location": {
|
||||||
|
"path": "/a/place/a"
|
||||||
|
},
|
||||||
|
"contents": "the-contents"
|
||||||
|
}
|
||||||
|
],
|
||||||
"fileMetadata": [
|
"fileMetadata": [
|
||||||
{
|
{
|
||||||
"location": {
|
"location": {
|
||||||
@ -198,6 +206,14 @@
|
|||||||
"scope": ""
|
"scope": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"contents": {
|
||||||
|
"cataloger": {
|
||||||
|
"enabled": false,
|
||||||
|
"scope": ""
|
||||||
|
},
|
||||||
|
"skip-files-above-size": 0,
|
||||||
|
"globs": null
|
||||||
|
},
|
||||||
"secrets": {
|
"secrets": {
|
||||||
"cataloger": {
|
"cataloger": {
|
||||||
"enabled": false,
|
"enabled": false,
|
||||||
|
|||||||
@ -1,935 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/Document",
|
|
||||||
"definitions": {
|
|
||||||
"ApkFileRecord": {
|
|
||||||
"required": [
|
|
||||||
"path"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"path": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"ownerUid": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"ownerGid": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"permissions": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"checksum": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"ApkMetadata": {
|
|
||||||
"required": [
|
|
||||||
"package",
|
|
||||||
"originPackage",
|
|
||||||
"maintainer",
|
|
||||||
"version",
|
|
||||||
"license",
|
|
||||||
"architecture",
|
|
||||||
"url",
|
|
||||||
"description",
|
|
||||||
"size",
|
|
||||||
"installedSize",
|
|
||||||
"pullDependencies",
|
|
||||||
"pullChecksum",
|
|
||||||
"gitCommitOfApkPort",
|
|
||||||
"files"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"package": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"originPackage": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"maintainer": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"version": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"license": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"architecture": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"url": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"description": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"size": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"installedSize": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"pullDependencies": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"pullChecksum": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"gitCommitOfApkPort": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"files": {
|
|
||||||
"items": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/ApkFileRecord"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"CargoPackageMetadata": {
|
|
||||||
"required": [
|
|
||||||
"name",
|
|
||||||
"version",
|
|
||||||
"source",
|
|
||||||
"checksum",
|
|
||||||
"dependencies"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"name": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"version": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"source": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"checksum": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"Classification": {
|
|
||||||
"required": [
|
|
||||||
"class",
|
|
||||||
"metadata"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"class": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"patternProperties": {
|
|
||||||
".*": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"Descriptor": {
|
|
||||||
"required": [
|
|
||||||
"name",
|
|
||||||
"version"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"name": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"version": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"configuration": {
|
|
||||||
"additionalProperties": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"Digest": {
|
|
||||||
"required": [
|
|
||||||
"algorithm",
|
|
||||||
"value"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"algorithm": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"value": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"Distribution": {
|
|
||||||
"required": [
|
|
||||||
"name",
|
|
||||||
"version",
|
|
||||||
"idLike"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"name": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"version": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"idLike": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"Document": {
|
|
||||||
"required": [
|
|
||||||
"artifacts",
|
|
||||||
"artifactRelationships",
|
|
||||||
"source",
|
|
||||||
"distro",
|
|
||||||
"descriptor",
|
|
||||||
"schema"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"fileClassifications": {
|
|
||||||
"items": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/FileClassifications"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"fileMetadata": {
|
|
||||||
"items": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/FileMetadata"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"secrets": {
|
|
||||||
"items": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/Secrets"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"artifacts": {
|
|
||||||
"items": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/Package"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"artifactRelationships": {
|
|
||||||
"items": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/Relationship"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"source": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/Source"
|
|
||||||
},
|
|
||||||
"distro": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/Distribution"
|
|
||||||
},
|
|
||||||
"descriptor": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/Descriptor"
|
|
||||||
},
|
|
||||||
"schema": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/Schema"
|
|
||||||
},
|
|
||||||
"artifacts.metadata": {
|
|
||||||
"anyOf": [
|
|
||||||
{
|
|
||||||
"type": "null"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/ApkMetadata"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/CargoPackageMetadata"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/DpkgMetadata"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/GemMetadata"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/JavaMetadata"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/NpmPackageJSONMetadata"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/PythonPackageMetadata"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/RpmdbMetadata"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"DpkgFileRecord": {
|
|
||||||
"required": [
|
|
||||||
"path",
|
|
||||||
"md5"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"path": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"md5": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"DpkgMetadata": {
|
|
||||||
"required": [
|
|
||||||
"package",
|
|
||||||
"source",
|
|
||||||
"version",
|
|
||||||
"sourceVersion",
|
|
||||||
"architecture",
|
|
||||||
"maintainer",
|
|
||||||
"installedSize",
|
|
||||||
"files"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"package": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"source": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"version": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"sourceVersion": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"architecture": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"maintainer": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"installedSize": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"files": {
|
|
||||||
"items": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/DpkgFileRecord"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"FileClassifications": {
|
|
||||||
"required": [
|
|
||||||
"location",
|
|
||||||
"classification"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"location": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/Location"
|
|
||||||
},
|
|
||||||
"classification": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/Classification"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"FileMetadata": {
|
|
||||||
"required": [
|
|
||||||
"location",
|
|
||||||
"metadata"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"location": {
|
|
||||||
"$ref": "#/definitions/Location"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/FileMetadataEntry"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"FileMetadataEntry": {
|
|
||||||
"required": [
|
|
||||||
"mode",
|
|
||||||
"type",
|
|
||||||
"userID",
|
|
||||||
"groupID"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"mode": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"type": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"linkDestination": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"userID": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"groupID": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"digests": {
|
|
||||||
"items": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/Digest"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"GemMetadata": {
|
|
||||||
"required": [
|
|
||||||
"name",
|
|
||||||
"version"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"name": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"version": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"files": {
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"authors": {
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"licenses": {
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"homepage": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"JavaManifest": {
|
|
||||||
"properties": {
|
|
||||||
"main": {
|
|
||||||
"patternProperties": {
|
|
||||||
".*": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"namedSections": {
|
|
||||||
"patternProperties": {
|
|
||||||
".*": {
|
|
||||||
"patternProperties": {
|
|
||||||
".*": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"JavaMetadata": {
|
|
||||||
"required": [
|
|
||||||
"virtualPath"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"virtualPath": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"manifest": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/JavaManifest"
|
|
||||||
},
|
|
||||||
"pomProperties": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/PomProperties"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"Location": {
|
|
||||||
"required": [
|
|
||||||
"path"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"path": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"layerID": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"NpmPackageJSONMetadata": {
|
|
||||||
"required": [
|
|
||||||
"author",
|
|
||||||
"licenses",
|
|
||||||
"homepage",
|
|
||||||
"description",
|
|
||||||
"url"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"files": {
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"author": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"licenses": {
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"homepage": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"description": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"url": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"Package": {
|
|
||||||
"required": [
|
|
||||||
"id",
|
|
||||||
"name",
|
|
||||||
"version",
|
|
||||||
"type",
|
|
||||||
"foundBy",
|
|
||||||
"locations",
|
|
||||||
"licenses",
|
|
||||||
"language",
|
|
||||||
"cpes",
|
|
||||||
"purl",
|
|
||||||
"metadataType",
|
|
||||||
"metadata"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"id": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"name": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"version": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"type": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"foundBy": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"locations": {
|
|
||||||
"items": {
|
|
||||||
"$ref": "#/definitions/Location"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"licenses": {
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"language": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"cpes": {
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"purl": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"metadataType": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"additionalProperties": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"PomProperties": {
|
|
||||||
"required": [
|
|
||||||
"path",
|
|
||||||
"name",
|
|
||||||
"groupId",
|
|
||||||
"artifactId",
|
|
||||||
"version",
|
|
||||||
"extraFields"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"path": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"name": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"groupId": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"artifactId": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"version": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"extraFields": {
|
|
||||||
"patternProperties": {
|
|
||||||
".*": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"PythonFileDigest": {
|
|
||||||
"required": [
|
|
||||||
"algorithm",
|
|
||||||
"value"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"algorithm": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"value": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"PythonFileRecord": {
|
|
||||||
"required": [
|
|
||||||
"path"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"path": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"digest": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/PythonFileDigest"
|
|
||||||
},
|
|
||||||
"size": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"PythonPackageMetadata": {
|
|
||||||
"required": [
|
|
||||||
"name",
|
|
||||||
"version",
|
|
||||||
"license",
|
|
||||||
"author",
|
|
||||||
"authorEmail",
|
|
||||||
"platform",
|
|
||||||
"sitePackagesRootPath"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"name": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"version": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"license": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"author": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"authorEmail": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"platform": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"files": {
|
|
||||||
"items": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/PythonFileRecord"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"sitePackagesRootPath": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"topLevelPackages": {
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"Relationship": {
|
|
||||||
"required": [
|
|
||||||
"parent",
|
|
||||||
"child",
|
|
||||||
"type",
|
|
||||||
"metadata"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"parent": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"child": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"type": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"additionalProperties": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"RpmdbFileRecord": {
|
|
||||||
"required": [
|
|
||||||
"path",
|
|
||||||
"mode",
|
|
||||||
"size",
|
|
||||||
"sha256"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"path": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"mode": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"size": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"sha256": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"RpmdbMetadata": {
|
|
||||||
"required": [
|
|
||||||
"name",
|
|
||||||
"version",
|
|
||||||
"epoch",
|
|
||||||
"architecture",
|
|
||||||
"release",
|
|
||||||
"sourceRpm",
|
|
||||||
"size",
|
|
||||||
"license",
|
|
||||||
"vendor",
|
|
||||||
"files"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"name": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"version": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"epoch": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"architecture": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"release": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"sourceRpm": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"size": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"license": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"vendor": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"files": {
|
|
||||||
"items": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/RpmdbFileRecord"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"Schema": {
|
|
||||||
"required": [
|
|
||||||
"version",
|
|
||||||
"url"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"version": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"url": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"SearchResult": {
|
|
||||||
"required": [
|
|
||||||
"classification",
|
|
||||||
"lineNumber",
|
|
||||||
"lineOffset",
|
|
||||||
"seekPosition",
|
|
||||||
"length"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"classification": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"lineNumber": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"lineOffset": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"seekPosition": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"length": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"value": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"Secrets": {
|
|
||||||
"required": [
|
|
||||||
"location",
|
|
||||||
"secrets"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"location": {
|
|
||||||
"$ref": "#/definitions/Location"
|
|
||||||
},
|
|
||||||
"secrets": {
|
|
||||||
"items": {
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/SearchResult"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"Source": {
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"target"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"target": {
|
|
||||||
"additionalProperties": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": true,
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -125,6 +125,27 @@
|
|||||||
"additionalProperties": true,
|
"additionalProperties": true,
|
||||||
"type": "object"
|
"type": "object"
|
||||||
},
|
},
|
||||||
|
"Classification": {
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"metadata"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"class": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"patternProperties": {
|
||||||
|
".*": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": "object"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"additionalProperties": true,
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
"Descriptor": {
|
"Descriptor": {
|
||||||
"required": [
|
"required": [
|
||||||
"name",
|
"name",
|
||||||
@ -190,6 +211,20 @@
|
|||||||
"schema"
|
"schema"
|
||||||
],
|
],
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"fileClassifications": {
|
||||||
|
"items": {
|
||||||
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||||
|
"$ref": "#/definitions/FileClassifications"
|
||||||
|
},
|
||||||
|
"type": "array"
|
||||||
|
},
|
||||||
|
"fileContents": {
|
||||||
|
"items": {
|
||||||
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||||
|
"$ref": "#/definitions/FileContents"
|
||||||
|
},
|
||||||
|
"type": "array"
|
||||||
|
},
|
||||||
"fileMetadata": {
|
"fileMetadata": {
|
||||||
"items": {
|
"items": {
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||||
@ -302,6 +337,40 @@
|
|||||||
"additionalProperties": true,
|
"additionalProperties": true,
|
||||||
"type": "object"
|
"type": "object"
|
||||||
},
|
},
|
||||||
|
"FileClassifications": {
|
||||||
|
"required": [
|
||||||
|
"location",
|
||||||
|
"classification"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"location": {
|
||||||
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||||
|
"$ref": "#/definitions/Location"
|
||||||
|
},
|
||||||
|
"classification": {
|
||||||
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||||
|
"$ref": "#/definitions/Classification"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"additionalProperties": true,
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"FileContents": {
|
||||||
|
"required": [
|
||||||
|
"location",
|
||||||
|
"contents"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"location": {
|
||||||
|
"$ref": "#/definitions/Location"
|
||||||
|
},
|
||||||
|
"contents": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"additionalProperties": true,
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
"FileMetadata": {
|
"FileMetadata": {
|
||||||
"required": [
|
"required": [
|
||||||
"location",
|
"location",
|
||||||
@ -309,7 +378,6 @@
|
|||||||
],
|
],
|
||||||
"properties": {
|
"properties": {
|
||||||
"location": {
|
"location": {
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"$ref": "#/definitions/Location"
|
"$ref": "#/definitions/Location"
|
||||||
},
|
},
|
||||||
"metadata": {
|
"metadata": {
|
||||||
|
|||||||
@ -25,7 +25,7 @@ func parser(_ string, reader io.Reader) ([]pkg.Package, error) {
|
|||||||
func TestGenericCataloger(t *testing.T) {
|
func TestGenericCataloger(t *testing.T) {
|
||||||
|
|
||||||
globParsers := map[string]ParserFn{
|
globParsers := map[string]ParserFn{
|
||||||
"**a-path.txt": parser,
|
"**/a-path.txt": parser,
|
||||||
}
|
}
|
||||||
pathParsers := map[string]ParserFn{
|
pathParsers := map[string]ParserFn{
|
||||||
"test-fixtures/another-path.txt": parser,
|
"test-fixtures/another-path.txt": parser,
|
||||||
@ -51,7 +51,7 @@ func TestGenericCataloger(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if len(actualPkgs) != len(expectedPkgs) {
|
if len(actualPkgs) != len(expectedPkgs) {
|
||||||
t.Fatalf("unexpected packages len: %d", len(actualPkgs))
|
t.Fatalf("unexpected packages len: %d != %d", len(expectedPkgs), len(actualPkgs))
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, p := range actualPkgs {
|
for _, p := range actualPkgs {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user