# Path: heatclient/common/resource_formatter.py
# class ResourceDotInfo(object):
# class ResourceDotFormatter(base.ListFormatter):
# class ResourceDotWriter(object):
#     def __init__(self, res):
#     def dot_id(url, prefix=None):
#     def add_argument_group(self, parser):
#     def emit_list(self, column_names, data, stdout, parsed_args):
#     def __init__(self, data, stdout):
#     def write(self):
#     def write_root_nodes(self):
#     def write_subgraphs(self):
#     def write_nodes(self, resources, indent):
#     def write_subgraph(self, resources, nested_resource):
#     def write_required_by_edges(self):
#     def write_nested_stack_edges(self):
# 
# Path: heatclient/osc/v1/resource.py
# class ResourceShow(command.ShowOne):
# class ResourceList(command.Lister):
# class ResourceMetadata(format_utils.JsonFormat):
# class ResourceSignal(command.Command):
# class ResourceMarkUnhealthy(command.Command):
#     def get_parser(self, prog_name):
#     def take_action(self, parsed_args):
#     def formatter_namespace(self):
#     def get_parser(self, prog_name):
#     def take_action(self, parsed_args):
#     def get_parser(self, prog_name):
#     def take_action(self, parsed_args):
# def _resource_metadata(heat_client, args):
#     def get_parser(self, prog_name):
#     def take_action(self, parsed_args):
# def _resource_signal(heat_client, args):
#     def get_parser(self, prog_name):
#     def take_action(self, parsed_args):
# 
# Path: heatclient/tests/unit/osc/v1/fakes.py
# class TestOrchestrationv1(utils.TestCommand):
#     def setUp(self):
# 
# Path: heatclient/v1/resources.py
# DEFAULT_PAGE_SIZE = 20
# class Resource(base.Resource):
# class ResourceManager(stacks.StackChildManager):
#     def __repr__(self):
#     def update(self, **fields):
#     def delete(self):
#     def data(self, **kwargs):
#     def stack_name(self):
#     def list(self, stack_id, **kwargs):
#     def get(self, stack_id, resource_name, with_attr=None):
#     def metadata(self, stack_id, resource_name):
#     def signal(self, stack_id, resource_name, data=None):
#     def mark_unhealthy(self, stack_id, resource_name,
#                        mark_unhealthy, resource_status_reason):
#     def generate_template(self, resource_name):


import json
import os
import six
from heatclient.common import resource_formatter
from heatclient.osc.v1 import resource
from heatclient.tests.unit.osc.v1 import fakes as orchestration_fakes
from heatclient.v1 import resources as v1_resources
#        http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
#   WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
#   License for the specific language governing permissions and limitations
#   under the License.
#





TEST_VAR_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__),
                                            'var'))


class TestStackResourceListDotFormat(orchestration_fakes.TestOrchestrationv1):

    response_path = os.path.join(TEST_VAR_DIR, 'dot_test.json')

    data = '''digraph G {
  graph [
    fontsize=10 fontname="Verdana" compound=true rankdir=LR
  ]
  r_f34a35baf594b319a741 [label="rg1
OS::Heat::ResourceGroup" ];
  r_121e343b017a6d246f36 [label="random2
OS::Heat::RandomString" ];
  r_dbcae38ad41dc991751d [label="random1

# Path: heatclient/common/resource_formatter.py
# class ResourceDotInfo(object):
# class ResourceDotFormatter(base.ListFormatter):
# class ResourceDotWriter(object):
#     def __init__(self, res):
#     def dot_id(url, prefix=None):
#     def add_argument_group(self, parser):
#     def emit_list(self, column_names, data, stdout, parsed_args):
#     def __init__(self, data, stdout):
#     def write(self):
#     def write_root_nodes(self):
#     def write_subgraphs(self):
#     def write_nodes(self, resources, indent):
#     def write_subgraph(self, resources, nested_resource):
#     def write_required_by_edges(self):
#     def write_nested_stack_edges(self):
# 
# Path: heatclient/osc/v1/resource.py
# class ResourceShow(command.ShowOne):
# class ResourceList(command.Lister):
# class ResourceMetadata(format_utils.JsonFormat):
# class ResourceSignal(command.Command):
# class ResourceMarkUnhealthy(command.Command):
#     def get_parser(self, prog_name):
#     def take_action(self, parsed_args):
#     def formatter_namespace(self):
#     def get_parser(self, prog_name):
#     def take_action(self, parsed_args):
#     def get_parser(self, prog_name):
#     def take_action(self, parsed_args):
# def _resource_metadata(heat_client, args):
#     def get_parser(self, prog_name):
#     def take_action(self, parsed_args):
# def _resource_signal(heat_client, args):
#     def get_parser(self, prog_name):
#     def take_action(self, parsed_args):
# 
# Path: heatclient/tests/unit/osc/v1/fakes.py
# class TestOrchestrationv1(utils.TestCommand):
#     def setUp(self):
# 
# Path: heatclient/v1/resources.py
# DEFAULT_PAGE_SIZE = 20
# class Resource(base.Resource):
# class ResourceManager(stacks.StackChildManager):
#     def __repr__(self):
#     def update(self, **fields):
#     def delete(self):
#     def data(self, **kwargs):
#     def stack_name(self):
#     def list(self, stack_id, **kwargs):
#     def get(self, stack_id, resource_name, with_attr=None):
#     def metadata(self, stack_id, resource_name):
#     def signal(self, stack_id, resource_name, data=None):
#     def mark_unhealthy(self, stack_id, resource_name,
#                        mark_unhealthy, resource_status_reason):
#     def generate_template(self, resource_name):


# Path: heatclient/tests/unit/test_resource_formatter.py
import json
import os
import six
from heatclient.common import resource_formatter
from heatclient.osc.v1 import resource
from heatclient.tests.unit.osc.v1 import fakes as orchestration_fakes
from heatclient.v1 import resources as v1_resources

#        http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
#   WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
#   License for the specific language governing permissions and limitations
#   under the License.
#





TEST_VAR_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__),
                                            'var'))


class TestStackResourceListDotFormat(orchestration_fakes.TestOrchestrationv1):

    response_path = os.path.join(TEST_VAR_DIR, 'dot_test.json')

    data = '''digraph G {
  graph [
    fontsize=10 fontname="Verdana" compound=true rankdir=LR
  ]
  r_f34a35baf594b319a741 [label="rg1
OS::Heat::ResourceGroup" ];
  r_121e343b017a6d246f36 [label="random2
OS::Heat::RandomString" ];
  r_dbcae38ad41dc991751d [label="random1

OS::Heat::RandomString" style=filled color=red];