summaryrefslogtreecommitdiff
path: root/buildscripts/resmokelib/testing/testcases/json_schema_test.py
blob: 8380b246bf6861d1aab347389b48c1a6c76075a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
"""
unittest.TestCase for JSON Schema tests.
"""

from __future__ import absolute_import

from buildscripts.resmokelib import config
from buildscripts.resmokelib import core
from buildscripts.resmokelib import utils
from buildscripts.resmokelib.testing.testcases import jsrunnerfile


class JSONSchemaTestCase(jsrunnerfile.JSRunnerFileTestCase):
    """A JSON Schema test to execute."""

    REGISTERED_NAME = "json_schema_test"

    def __init__(self, logger, json_filename, shell_executable=None, shell_options=None):
        """Initializes the JSONSchemaTestCase with the JSON test file."""

        jsrunnerfile.JSRunnerFileTestCase.__init__(
            self, logger, "JSON Schema test", json_filename,
            test_runner_file="jstests/libs/json_schema_test_runner.js",
            shell_executable=shell_executable, shell_options=shell_options)

    @property
    def json_filename(self):
        return self.test_name

    def _populate_test_data(self, test_data):
        test_data["jsonSchemaTestFile"] = self.json_filename