treeherder/tests/etl/test_job_schema.py

32 строки
1.1 KiB
Python

import jsonschema
import pytest
from treeherder.etl.schema import get_json_schema
# The test data in this file are a representative sample-set from
# production Treeherder
@pytest.mark.parametrize("group_symbol", ["?", "A", "Aries", "Buri/Hamac", "L10n", "M-e10s"])
def test_group_symbols(sample_data, group_symbol):
"""
Validate jobs against the schema with different group_symbol values
"""
job = sample_data.pulse_jobs[0]
job["origin"]["project"] = "proj"
job["origin"]["revision"] = "1234567890123456789012345678901234567890"
job["display"]["groupSymbol"] = group_symbol
jsonschema.validate(job, get_json_schema("pulse-job.yml"))
@pytest.mark.parametrize("job_symbol", ["1.1g", "1g", "20", "A", "GBI10", "en-US-1"])
def test_job_symbols(sample_data, job_symbol):
"""
Validate jobs against the schema with different job_symbol values
"""
job = sample_data.pulse_jobs[0]
job["origin"]["project"] = "proj"
job["origin"]["revision"] = "1234567890123456789012345678901234567890"
job["display"]["jobSymbol"] = job_symbol
jsonschema.validate(job, get_json_schema("pulse-job.yml"))