1# -*- coding: utf-8 -*- 2# Copyright (c) 2015 Spotify AB 3from __future__ import absolute_import, division, print_function 4 5import os 6 7import pytest 8 9from ramlfications import tree, parser 10from ramlfications.config import setup_config 11from ramlfications._helpers import load_file 12 13from .base import EXAMPLES 14from .data.fixtures import tree_fixtures 15 16 17@pytest.fixture(scope="session") 18def api(): 19 raml_str = os.path.join(EXAMPLES, "simple-tree.raml") 20 loaded_raml = load_file(raml_str) 21 config_file = os.path.join(EXAMPLES + "test-config.ini") 22 config = setup_config(config_file) 23 return parser.parse_raml(loaded_raml, config) 24 25 26def print_tree(root, color, verbosity): 27 resources = tree._get_tree(root) 28 return tree._print_tree(root, resources, color, verbosity) 29 30 31def test_print_tree_no_color(api, capsys): 32 expected_result = tree_fixtures.tree_no_color 33 print_tree(api, None, 0) 34 35 out, err = capsys.readouterr() 36 37 assert out == expected_result 38 39 40def test_print_tree_light(api, capsys): 41 expected_result = tree_fixtures.tree_light 42 print_tree(api, "light", 0) 43 44 out, err = capsys.readouterr() 45 46 assert out == expected_result 47 48 49def test_print_tree_dark(api, capsys): 50 expected_result = tree_fixtures.tree_dark 51 print_tree(api, "dark", 0) 52 53 out, err = capsys.readouterr() 54 55 assert out == expected_result 56 57 58@pytest.mark.skipif(1 == 1, reason="HALP! I AM COLORBLIND") 59def test_print_tree_light_v(api, capsys): 60 expected_result = tree_fixtures.tree_light_v 61 print_tree(api, "light", 1) 62 63 out, err = capsys.readouterr() 64 print(out) 65 print(expected_result) 66 assert out == expected_result 67 68 69@pytest.mark.skipif(1 == 1, reason="HALP! I AM COLORBLIND") 70def test_print_tree_light_vv(api, capsys): 71 expected_result = tree_fixtures.tree_light_vv 72 print_tree(api, "light", 2) 73 74 out, err = capsys.readouterr() 75 76 assert out == expected_result 77 78 79@pytest.mark.skipif(1 == 1, reason="HALP! I AM COLORBLIND") 80def test_print_tree_light_vvv(api, capsys): 81 expected_result = tree_fixtures.tree_light_vvv 82 print_tree(api, "light", 3) 83 84 out, err = capsys.readouterr() 85 86 assert out == expected_result 87