Skip to content

Commit

Permalink
Add test for when paasta validate returns 1
Browse files Browse the repository at this point in the history
  • Loading branch information
nhandler committed Dec 10, 2015
1 parent 9295062 commit b4889d6
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@
from jsonschema import Draft4Validator
from jsonschema import FormatChecker
from jsonschema import ValidationError
from paasta_tools.paasta_cli.utils import failure
from paasta_tools.paasta_cli.utils import get_file_contents
from paasta_tools.paasta_cli.utils import lazy_choices_completer
from paasta_tools.paasta_cli.utils import list_services
from paasta_tools.paasta_cli.utils import PaastaColors
from paasta_tools.paasta_cli.utils import success
from paasta_tools.cli.utils import failure
from paasta_tools.cli.utils import get_file_contents
from paasta_tools.cli.utils import lazy_choices_completer
from paasta_tools.cli.utils import list_services
from paasta_tools.cli.utils import PaastaColors
from paasta_tools.cli.utils import success


SCHEMA_VALID = success("Successfully validated schema")
Expand Down Expand Up @@ -57,7 +57,7 @@ def get_schema(file_type):
"""
schema_path = 'schemas/%s_schema.json' % file_type
try:
schema = pkgutil.get_data('paasta_tools.paasta_cli', schema_path)
schema = pkgutil.get_data('paasta_tools.cli', schema_path)
except IOError:
return None
return json.loads(schema)
Expand Down Expand Up @@ -137,7 +137,7 @@ def add_subparser(subparsers):
def get_service_path(service, soa_dir):
"""Determine the path of the directory containing the conf files
:param args: argparse.Namespace obj created from sys.args by paasta_cli
:param args: argparse.Namespace obj created from sys.args by cli
"""
if service:
return os.path.join(soa_dir, service)
Expand All @@ -152,7 +152,7 @@ def get_service_path(service, soa_dir):
def paasta_validate(args):
"""Analyze the service in the PWD to determine if conf files are all valid
:param args: argparse.Namespace obj created from sys.args by paasta_cli
:param args: argparse.Namespace obj created from sys.args by cli
"""

service = args.service
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,17 @@
from mock import patch
from StringIO import StringIO

from paasta_tools.paasta_cli.cmds.validate import get_schema
from paasta_tools.paasta_cli.cmds.validate import get_service_path
from paasta_tools.paasta_cli.cmds.validate import validate_schema
from paasta_tools.paasta_cli.cmds.validate import paasta_validate
from paasta_tools.paasta_cli.cmds.validate import SCHEMA_VALID
from paasta_tools.paasta_cli.cmds.validate import SCHEMA_INVALID
from paasta_tools.paasta_cli.cmds.validate import UNKNOWN_SERVICE
from paasta_tools.cli.cmds.validate import get_schema
from paasta_tools.cli.cmds.validate import get_service_path
from paasta_tools.cli.cmds.validate import validate_schema
from paasta_tools.cli.cmds.validate import paasta_validate
from paasta_tools.cli.cmds.validate import SCHEMA_VALID
from paasta_tools.cli.cmds.validate import SCHEMA_INVALID
from paasta_tools.cli.cmds.validate import UNKNOWN_SERVICE


@patch('paasta_tools.paasta_cli.cmds.validate.validate_all_schemas')
@patch('paasta_tools.paasta_cli.cmds.validate.get_service_path')
@patch('paasta_tools.cli.cmds.validate.validate_all_schemas')
@patch('paasta_tools.cli.cmds.validate.get_service_path')
def test_paasta_validate_calls_everything(
mock_get_service_path,
mock_validate_all_schemas
Expand Down Expand Up @@ -60,6 +60,14 @@ def test_get_service_path_unknown(
assert UNKNOWN_SERVICE in output


def test_validate_unknown_service():
args = mock.MagicMock()
args.service = None
args.yelpsoa_config_root = 'unused'

assert paasta_validate(args) == 1


def test_get_service_path_cwd():
service = None
soa_dir = os.getcwd()
Expand Down Expand Up @@ -98,7 +106,7 @@ def test_get_schema_missing():
assert get_schema('fake_schema') is None


@patch('paasta_tools.paasta_cli.cmds.validate.get_file_contents')
@patch('paasta_tools.cli.cmds.validate.get_file_contents')
@patch('sys.stdout', new_callable=StringIO)
def test_marathon_validate_schema_list_hashes_good(
mock_stdout,
Expand Down Expand Up @@ -126,7 +134,7 @@ def test_marathon_validate_schema_list_hashes_good(
assert SCHEMA_VALID in output


@patch('paasta_tools.paasta_cli.cmds.validate.get_file_contents')
@patch('paasta_tools.cli.cmds.validate.get_file_contents')
@patch('sys.stdout', new_callable=StringIO)
def test_marathon_validate_schema_keys_outside_instance_blocks_bad(
mock_stdout,
Expand All @@ -147,7 +155,7 @@ def test_marathon_validate_schema_keys_outside_instance_blocks_bad(
assert SCHEMA_INVALID in output


@patch('paasta_tools.paasta_cli.cmds.validate.get_file_contents')
@patch('paasta_tools.cli.cmds.validate.get_file_contents')
@patch('sys.stdout', new_callable=StringIO)
def test_chronos_validate_schema_list_hashes_good(
mock_stdout,
Expand All @@ -170,7 +178,7 @@ def test_chronos_validate_schema_list_hashes_good(
assert SCHEMA_VALID in output


@patch('paasta_tools.paasta_cli.cmds.validate.get_file_contents')
@patch('paasta_tools.cli.cmds.validate.get_file_contents')
@patch('sys.stdout', new_callable=StringIO)
def test_chronos_validate_schema_keys_outside_instance_blocks_bad(
mock_stdout,
Expand Down

0 comments on commit b4889d6

Please sign in to comment.