Skip to content

Commit

Permalink
Merge 76635e5 into 02afb5f
Browse files Browse the repository at this point in the history
  • Loading branch information
gustavosbarreto committed Feb 7, 2019
2 parents 02afb5f + 76635e5 commit 06b1188
Show file tree
Hide file tree
Showing 14 changed files with 150 additions and 2 deletions.
2 changes: 1 addition & 1 deletion pkgschema/schemas/definitions.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"mode": {
"description": "Represents the install mode for the object data",
"type": "string",
"enum": ["copy", "flash", "imxkobs", "raw", "tarball", "ubifs", "mender"]
"enum": ["copy", "flash", "imxkobs", "raw", "tarball", "ubifs", "mender", "zephyr"]
},
"filename": {
"description": "file name used by client to rebuild the commit",
Expand Down
3 changes: 2 additions & 1 deletion pkgschema/schemas/metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@
{"$ref": "raw-object.json"},
{"$ref": "tarball-object.json"},
{"$ref": "ubifs-object.json"},
{"$ref": "mender-object.json"}
{"$ref": "mender-object.json"},
{"$ref": "zephyr-object.json"}
]
},
"minItems": 1
Expand Down
42 changes: 42 additions & 0 deletions pkgschema/schemas/zephyr-object.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",

"title": "Zephyr object",
"description": "Object specifications for Zephyr mode",

"type": "object",

"properties": {
"mode": {
"$ref": "definitions.json#/mode"
},
"filename": {
"$ref": "definitions.json#/filename"
},
"size": {
"$ref": "definitions.json#/size"
},
"sha256sum": {
"$ref": "definitions.json#/sha256sum"
}
},

"required": [
"mode",
"filename",
"size",
"sha256sum"
],

"additionalProperties": false,

"dependencies": {
"mode": {
"properties": {
"mode": {
"enum": ["zephyr"]
}
}
}
}
}
6 changes: 6 additions & 0 deletions tests/pkgschema/fixture-metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,12 @@
"filename": "artifact.mender",
"size": 1024,
"sha256sum": "cfe2be1c64b0387500853de0f48303e3de7b1c6f1508dc719eeafa0d41c36722"
},
{
"mode": "zephyr",
"filename": "artifact.bin",
"size": 1024,
"sha256sum": "cfe2be1c64b0387500853de0f48303e3de7b1c6f1508dc719eeafa0d41c36722"
}
]
]
Expand Down
6 changes: 6 additions & 0 deletions tests/schemas/fixtures/zephyr-object/expected-document.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"filename": "artifact.zephyr",
"mode": "zephyr",
"size": 1024,
"sha256sum": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"mode": "zephyr",
"filename": "artifact.zephyr",
"size": 1024,
"sha256sum": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"filename": 1,
"mode": "zephyr"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"mode": "tarball",
"filename": "artifact.zephyr",
"size": 1024,
"sha256sum": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"filename": "artifact.zephyr",
"mode": "zephyr",
"size": "1024",
"sha256sum": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"mode": "zephyr",
"size": 1024,
"sha256sum": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"filename": "artifact.zephyr",
"size": 1024,
"sha256sum": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"mode": "zephyr",
"filename": "artifact.zephyr",
"size": 1024
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"mode": "zephyr",
"filename": "artifact.zephyr",
"sha256sum": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}
51 changes: 51 additions & 0 deletions tests/schemas/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -984,6 +984,57 @@ runner "mender-object size property type must be an integer" \
"properties/size/type: '1024' is not of type 'integer'"


# SCHEMA: zephyr-object.json
runner "zephyr-object expected document is valid" \
zephyr-object.json \
zephyr-object/expected-document.json \
VALID

## PROPERTY: mode
runner "zephyr-object mode property is required" \
zephyr-object.json \
zephyr-object/without-mode-property.json \
INVALID \
"required: 'mode' is a required property"

runner "zephyr-object wrong mode property choice is invalid" \
zephyr-object.json \
zephyr-object/invalid-mode-property-choice.json \
INVALID \
"dependencies/mode/properties/mode/enum: 'tarball' is not one of ['zephyr']"

## PROPERTY: filename
runner "zephyr-object expected filename property is valid" \
zephyr-object.json \
zephyr-object/expected-filename-property.json \
VALID

runner "zephyr-object filename property is required" \
zephyr-object.json \
zephyr-object/without-filename-property.json \
INVALID \
"required: 'filename' is a required property"

runner "zephyr-object filename property type must be an integer" \
zephyr-object.json \
zephyr-object/invalid-filename-property-type.json \
INVALID \
"properties/filename/type: 1 is not of type 'string'"

## PROPERTY: size
runner "zephyr-object size property is required" \
zephyr-object.json \
zephyr-object/without-size-property.json \
INVALID \
"required: 'size' is a required property"

runner "zephyr-object size property type must be an integer" \
zephyr-object.json \
zephyr-object/invalid-size-property-type.json \
INVALID \
"properties/size/type: '1024' is not of type 'integer'"


# SCHEMA: install-if-different.json

## sha256sum
Expand Down

0 comments on commit 06b1188

Please sign in to comment.