Skip to content

Commit

Permalink
Added task schema verification against a dummy schema
Browse files Browse the repository at this point in the history
  • Loading branch information
JohanLorenzo committed Jan 19, 2018
1 parent 4eeb9e9 commit 59d5a7b
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 0 deletions.
4 changes: 4 additions & 0 deletions shipitscript/script.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
from scriptworker.exceptions import ScriptWorkerTaskException

from shipitscript.ship_actions import mark_as_shipped
from shipitscript.task import validate_task_schema
from shipitscript.utils import load_json


Expand All @@ -21,6 +22,9 @@

async def async_main(context):
context.task = scriptworker.client.get_task(context.config)
log.info('Validating task definition...')
validate_task_schema(context)

ship_it_instance_config = context.config['ship_it_instance']
release_name = context.task['payload']['release_name']
mark_as_shipped(ship_it_instance_config, release_name)
Expand Down
13 changes: 13 additions & 0 deletions shipitscript/task.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import json
import logging

import scriptworker.client

log = logging.getLogger(__name__)


def validate_task_schema(context):
with open(context.config['schema_file']) as fh:
task_schema = json.load(fh)
log.debug(task_schema)
scriptworker.client.validate_json_schema(context.task, task_schema)
11 changes: 11 additions & 0 deletions shipitscript/test/test_task.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from scriptworker.context import Context

from shipitscript.script import get_default_config
from shipitscript.task import validate_task_schema


def test_validate_task():
context = Context()
context.config = get_default_config()
context.task = {}
validate_task_schema(context)

0 comments on commit 59d5a7b

Please sign in to comment.