# C Datadog, Inc. 2018
# All rights reserved
# Licensed under Simplified BSD License see LICENSE

import hashlib
import json
import logging
import os

from datadog_checks.cisco_aci.api import SessionWrapper

log = logging.getLogger('test_cisco_aci')

CHECK_NAME = 'cisco_aci'

CERTIFICATE_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'certificate')
FIXTURES_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'fixtures')
CAPACITY_FIXTURES_DIR = os.path.join(FIXTURES_DIR, 'capacity')
FABRIC_FIXTURES_DIR = os.path.join(FIXTURES_DIR, 'fabric')
TENANT_FIXTURES_DIR = os.path.join(FIXTURES_DIR, 'tenant')
ALL_FIXTURE_DIR = [FIXTURES_DIR, CAPACITY_FIXTURES_DIR, FABRIC_FIXTURES_DIR, TENANT_FIXTURES_DIR]

USERNAME = 'datadog'
PASSWORD = 'datadog'
ACI_URL = 'https://datadoghq.com'
ACI_URLS = [ACI_URL]
CONFIG = {'aci_urls': ACI_URLS, 'username': USERNAME, 'pwd': PASSWORD, 'tenant': ['DataDog']}

CONFIG_WITH_TAGS = {
    'aci_urls': ACI_URLS,
    'username': USERNAME,
    'pwd': PASSWORD,
    'tenant': ['DataDog'],
    "tags": ["project:cisco_aci"],
}

# list of fixture names
FIXTURE_LIST = [
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP2_Jeti_json_query_target_subtree_target_subtree_class_fvAEPg',
    # d98210e57060ed7285a4fa7434c53ff1 - Api.get_epgs
    '_api_mo_uni_tn_DataDog_ap_DtDg_test_AP_json_query_target_subtree_target_subtree_class_fvAEPg',
    # 4b07d389b109401afcc2c42bdca0f2b2 - Api.get_epgs
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP1_EcommerceApp_json_query_target_subtree_target_subtree_class_fvAEPg',
    # 43410607b378cfa340146247a8b422b9 - Api.get_epgs
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_25__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 29fd45826b0bb763e5c8b4e92fe53216 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_11__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # af35b36a7ed1c5d3e9e64370e779b819 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_40__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 9d63c3041a48dec9289e0e4555c49a87 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_12__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # f8af6ebf8a9008d3000693a7889edc55 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_10__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 0694b681e750f83314f4492ac6ebfa39 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_9__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 5f9c17b4985418dceb0375f3c8678663 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_11__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # a877f9e9879ecdaa74fc10fc98415c52 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_20__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 2d08f2b65ec42f632aa197568616c9df - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_39__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 368ad1f728c59d61403654959f02e7e5 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_10__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 8dc1ee02fce40ba8ae240d5e161a88f6 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_46__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # cf592a4e1c6399ebf0925f01a7b62651 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_21__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 6bd529f60a581c84be13249fe668c467 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_22__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # cc3ee98ed21b0e4cf6d3057123981358 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_30__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 7e603ac928ec642f45601a94420fb4db - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_10__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 47378882fc41888f6f23bddf78bf907f - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_52__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # abc6410c7411348968803d071541ee3a - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_21__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # e6d9d1020ebec6ede2399f9b379db3d9 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_7__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 059ee9bd3834a66b3c3f5861608fe368 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_26__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 3fea0478e9d12ef2bef175f14163d15f - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_45__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 7cff0d95697cf21e69d7137c29e65df9 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_11__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 79c41743346ba48ef5c40b7942dc59f2 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_53__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # b30e959f0d5f3cae611efc62b4430292 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_44__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 5030ace26a4225d8a53073b122114bb5 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_27__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 310012038948e6cd47afbb3cad45054d - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_26__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # c25e699c9f757dc6b7fdd574ce49ba47 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_2__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # eab07e7947c2a3a822aab248c6315f92 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_34__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 8a0f90b2c6bd500af62722a13d207a20 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_16__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 5d7a62e392e669583e450d28bebf32e3 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_50__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # c6fd7a7101806f9cb68b3baa9bd0f82b - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_27__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 6fef8e622903fe12fdd1c8849c095509 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_9__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # b85c3cc6bc8a0c9e6bb6c1d94e7882a1 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_29__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 8e8698fa185e69226b356a4cf2e77a7d - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_34__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 3173be2eaf1384d966894ffae62c74f0 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_35__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 12531f666a06ff80395f2d12a5379379 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_29__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 8c68bd2767e66b897a40100c52187e03 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_8__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 24292dd7f226aaa790ba72888c2f4100 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_17__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 1e60b21b3e8faf751aadfd9da2c75ff1 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_7__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 56456cb4cd430d58542eb6f91df0e34f - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_19__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 4a9de3748cf06fd105e574d497e55cb3 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_1__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 5abeef5dc54c73540c39d62a6e2a77bd - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_48__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # ed8eef187c28d9fcbd18ccecc91c91a3 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_8__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 8a68d7acd6469f199b61d9a59a600925 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_14__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # c1c5a4fec41324e0699f6351e849f8d1 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_44__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 12d5f5e65fbebc8b8d061d7bf06582be - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_3__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 5cda376bef1d4d0274b7d2c8007db70e - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_9__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 8ddb6e0c7dfc7ac3b743fabe158f76a2 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_24__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # d81771f6f4e30ed0e19fe858f1cfd66f - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_18__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 417c59253e3515daaa1c5c77274958ff - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_34__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # eb0a60abd06c6c6888a3a0694d896d5e - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_1__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 927fcd1e001316ede0756ff8269d36d8 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_19__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 897a879430edceab050ff62f99f990b6 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_35__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 3fef285c055ac257296e7b7e9d0d99ae - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_45__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 91823785f83a4dc1926f704cf120359b - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_6__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 82edf3105e5c60a2c778cb35aedb645d - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_2__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # e22fde3e3e5bf37e4ad41c0227f7acd3 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_36__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 971cd5b5cb96fee7663b2c32575d643e - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_14__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 55df6c4d6ccb8dca85f2de66381f7caf - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_28__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # f27cb9cabd2f1b5198c03ebbd8c08551 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_54__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 182c808e8ae2493e815889cb488088e9 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_43__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # bf67a8207fd44dc95be472148a1eb188 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_5__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # cdcd9cfeee1cdb83883311d87c344b37 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_32__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # d96de58612eb1a5189c57fddf11c3cbe - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_21__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 4bb497ebffc529c7b2dc82013341bbae - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_30__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # a07b97ec1600dcf7290e14c1c4bef9b0 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_29__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # f1f6b387eccc300e566d32c3ef9ddec4 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_20__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 3b7673a08dfcb78977b89f664eadefe2 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_28__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # dfe2c1c8228116f9ab57f679177882a7 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_32__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # f6c27908c7e6dcd33e25d632dca2b731 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_18__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 05eea58694d8f2a731b9e4a1dc762eb8 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_3__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 50d46a8273bad8ccb3ffa0733c3511c9 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_51__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # b646eabab7c416db0d772469d9950511 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_22__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 836acd4e8abef3aa3677369d6c45f103 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_7__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # d34ca8b96c40563f86078331b5f4934c - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_5__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 98feaf7bf21c889758b0e63c440fe5aa - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_13__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 37976cf8da42381453005e341ed57edc - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_23__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # cd43fd4acdc63b1e3b80ca448f37d16d - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_19__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 91c6c30710d8766a1b18c7970bfe07c3 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_14__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 9c623607d19cd8ba1df07157580bbe7d - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_36__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # f23ec48bbe02711ef10ccc8a2addecdc - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_22__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 05df362203f2d079d6c975bd34e0ced0 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_15__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # b4e10262ba44c169d8ccf61afa3d383f - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_24__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 6a927bbf1765276b4bdfb1d9de31990f - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_5__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # d4a55e02d7d0c4fcd81652d877df0644 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_10__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 768c379447d3fb82d769e31807216858 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_1__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 9c3b5f41a01c23450b07c06d52243ec1 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_21__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 0420ca4146dc833562e815353871c910 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_28__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 1592af41e69b692cb9ea41c2082c6324 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_25__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 09307f3bd50af43e2a42115352a9667f - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_1__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 9663cbb28348a8cbaf0cd22fd1f37664 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_14__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 3cbee8654509c3cd43e50967079d636d - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_37__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 73477fd8a36f24ffc7b0a5ff58a0151c - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_40__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 512160d3762b1fc5ea0e7d7d652e4c91 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_24__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 7f313c9de9389bb7b50d1536bac11ec9 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_11__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 5a04c996228a0802911e1b5e2dc381d8 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_49__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 92df89955d9aa53c852817af77427e35 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_15__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # cb1574172f451af88fc657b5b8326744 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_33__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 1a2b5d3742c9866abf4c3b6d248ab331 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_29__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 774df6b01df155b4a7e9ead5b3bb6f95 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_6__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # ec245c6b5e68d4066b18b62d075de4d4 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_3__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 1862d3b380a8f2220ac096d7aef9310a - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_27__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 41c11ba1a96d0c0d0f4b3089f26cf948 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_17__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # cb6b65dc75a49a5c7d504cded066672c - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_42__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # f5c67861c26f888b77a114eb384fd7ed - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_26__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # d1211059472f6ff3efb9087a3bf21008 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_25__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # a963fd19c5b939826f17e98795384741 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_12__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 6b723f4c78e4e9153d56b0d8410da810 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_40__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 0d7f07939572bc73ae4282605ca20ebd - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_28__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 47ad133793f96281cee2db5286d6d27e - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_41__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # c223c78977aa96d4049f4a8263e315d6 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_16__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 01dbe25246a232e83b480b325d039964 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_30__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 74736ad3c53d4da2da6225f020d0ea07 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_39__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # db0a80e48f616964614a911f537e20b3 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_46__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 20666ac76c056ba221c188dd849ea5ab - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_23__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 7f75758e50ae1da1b1a5088b3d70600f - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_43__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 966e2012b2a26cae367719cf4c289418 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_34__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 42ba9bb51601fc0dcd87779a4229c533 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_18__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 981c85ee885251c23fe84ac8c280813f - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_16__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # fef4649d4fae961a0a5761ee30ab73f6 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_1__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # fcda3e0d023bd6f48ace2d1007323cbd - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_12__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 08ce11dd471b76a5d9716815baec1ae2 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_16__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 0c9c8a1bc19a01cd2989dc3c969a07b0 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_16__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 4e6bd13fe648763684a1e52c2b5b6fb9 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_48__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # b890ec9099cd6dc146f1859adb8d0586 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_49__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 8178783b3e17693049f299f040015fef - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_14__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # ee314e906f1b6a03c74f674941b6cec3 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_31__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 3b1021776ba1702e051084739dfd0dcd - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_6__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # b8be72b08d60e236c85e568af0b0dfd2 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_13__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 0ac69558dcde5281f3875cc714251816 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_39__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 391b0334845ed94bd2f7f0f52c792dcf - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_5__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # bdfb722fc02748dce7176d0ce8ea07de - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_47__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # a464d8d39e53fb950f807296b415ef05 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_48__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 0f4f1dfb81ec9f835b63955609f35653 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_38__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 5bcf96443c5b5ca0726de909932e6cd0 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_31__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 8ee3aa172b88abaeb72a8d92cfd8e1f8 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_30__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 808bdd8ce9c8a62e3a1c9432b9cd2a2d - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_33__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 29e52d4c70bccac74f1a4e4f7b29c32e - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_38__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 26f89388cc0e2de103e26d6d4ea3d678 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_2__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 843f58e15736191a5e58e1afc2eb5e84 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_52__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # d9f5892ce5f43fd4d40f87e8afbfc4e4 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_7__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 24c2652ea402d34c526a5725b879837a - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_32__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # a6f4860ce476b17a4d18014384e8df79 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_8__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 26bfabd76a3c7b74961718e820150181 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_42__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # db346582f606b821ac63d7c1de29de16 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_32__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 468af47d68f6c454058003b213546a3d - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_37__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # e0c56f55dc3f88a472d08a66fca8a60c - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_5__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # f89a2797577aa3b1e142529ca6c5046e - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_4__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # b9d166b082550a60bbf80eb3e32eb31f - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_35__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # aba44ad31223120a0872b33766d856ce - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_20__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 6c18595e43b00d3e591faaefb05e518d - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_23__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # d78862295dbba62424e4a45115e75601 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_30__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # c5a11daf28c01cba3689a316fffc7d62 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_15__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # d5a35efb3ba5f75ecebe87583ae42b02 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_15__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 84fa5ef1c7cb288cc7d8b3d216a2a359 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_22__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 54631f3678634a95055946441706e235 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_7__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 589f829bb465d344c485960ea9910519 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_4__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # e2b6ef195ca3ceb6a7985868b44b2cef - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_29__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 25fb8de7707d45adb5547c93647b096a - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_27__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 7dbe5688443c0124438db66cc4ae8413 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_35__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 472bfc1a0ff05706b83ef45497d62ff3 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_20__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 191f10ceb875b1b8f592deff3e71326b - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_26__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # e46224a7b610c68baa0798548c3a3f5c - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_31__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 3c0a81313d92e361c55ae1d5bc82b024 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_11__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 9647dd5867a5e8000c13a813ea3765a5 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_45__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 61123225373140dd4bd581621e9b854d - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_26__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 876dd4352811765c90169517e290e8c6 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_6__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 0826c49f46687d4931b61b718f928ef0 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_3__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 66a518765a86e7f2ae488abc45d95d70 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_32__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # c6e8ea2770d307b7ca729a3ae5f5f632 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_12__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # c3f7c0e63cf5f80a48ab795595be3ab6 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_27__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # e34c735548d6b28c0252cf2f0d4c620e - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_23__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # d24061eff4081cff59ca1a0ed7c5211f - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_17__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # f270e3e2b3ef7e0d23289842e7c5d845 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_47__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 8ec2fb1e670274ffc7c80a4e8c0b579a - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_13__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # d1bfe6c0c336fa036de9d03b95eb7ea0 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_9__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # df7bc44413d19409a2dcca4b60b57eed - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_25__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 9006e6d35c66d13426fa04ce73e1ec8b - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_35__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 1aaf6555b1102852ff7de4b370cc0d0f - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_46__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # a53d71ffbd0982d015e8395e2f5e4e48 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_18__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 97c9b38cfda14c9218b0d97ac45e2635 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_4__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 784ecd089e2b648809a8e00fd5a11e82 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_2__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # c74287938370abba1fbb7deb6f1afcdc - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_33__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # ea3bdd6b0a08e2e5227bfc5e9bed1077 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_43__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 325ebbb6ef97627d5b9b6cda91f8e1db - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_17__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # f4481ba97383eecd355d3a0f330ec602 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_33__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 062669633a82d933bda471003dd9e186 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_44__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # e12936b89bb76191abac20937042babc - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_20__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 84c022cd474b28fb0c93ca6497fbc465 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_23__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # fd44e33bc853f309b9103d5d4ede35bb - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_47__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # f0ffa4dde0fe109c09872e7d49aeaae4 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_36__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 29323d3635c14c2110036b6f46ff4e3c - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_33__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # c38b59ed1668a70ac7769f1d05b27a60 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_22__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 236cd3ffe852d58ad38dfbe0e8526386 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_19__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 595020242506421d68ada87ac012256e - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_31__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 7ffce65d2a991de9faa9d3976bf07e1c - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_2__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 5b8ffb24387021e123e166ee7a388bde - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_28__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 7a5859de7a50c006b2c293a537891ab9 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_41__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 0265f64e971b212efa4211dffb9ca963 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_13__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 51d1697864fc60fbf06e0838a29d3311 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_37__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 87f77f6251a2517a4f65e94b7f79aaee - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_50__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 923a62a1814d5c8d9d53e04b88a8638a - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_12__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # f72ea212e66461d60982a0fac7c99ab0 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_38__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # e35556d42f69f3c3d421893e9e0c4977 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_10__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 28becf8a90f91ffea40df5c48656743b - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_34__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 97dbf9f15408eecaa3fd4d45ba7dbaab - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_31__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # f71145d337d6c9a9b241c1c976ced0d1 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_3__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # c73e82f5cdc241fc509a0bbf6d4a7d51 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_53__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # b7ca7e3bf57d9bd268742155051c4b81 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_24__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 0fe0cd1d847716f3586e58ba3d46a87c - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_54__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # f8c5a7073ed0c40fe75c00bc5330863a - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_42__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # cc2f4768ee3a0e093c39baab2b83c2fb - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_13__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 489238c6f8d6bde0ba86c5388669b2f5 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_6__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # ea1adfb208ff0d3fbf46872302471c52 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_8__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # e6d339c0b302f35694131b26366b563d - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_36__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 64c95055e2de554c02ef651cdd480e02 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_24__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # a7f558099bdebc44a11f691c18a7b64c - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_41__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # cd70f0e8083993b02aa97bfc482be3b3 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_9__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # e49d0a6a4fdc04e0f72f244f7ffc2042 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth1_17__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 9f09a35dce91e6170f7b31e02884a578 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_15__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 7bb3c44837f66c6a254def67002c459c - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_19__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 737c7e36163881e5e54450fd49b43fd0 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_21__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 58dca04cc9e1e3d492ac260aac0d1506 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_25__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 05d1db1e4a5e62b4056b0aa5958611da - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_4__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # fc340063f900f0d3e3b4f5517514d684 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_18__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 131494bb85b639cfb048bc27621d1eda - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_phys__eth1_8__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # cde31232e5ba774088e9615ce786f15a - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_101_sys_phys__eth101_1_4__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # f8396435d19e4f76835532db423436f3 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_202_sys_phys__eth1_36__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 0d65a35670e5e6911748ffad58aefe97 - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_102_sys_phys__eth1_51__json_rsp_subtree_include_stats_no_scoped_page_size_50',
    # 39eadf19ae6f6506492894d5b7eb451d - Api.get_eth_stats
    '_api_mo_topology_pod_1_node_201_sys_json_rsp_subtree_include_stats_no_scoped_page_size_20',
    # bd2db6fd496f3b1ee12ac533e3224c21 - Api.get_node_stats
    '_api_mo_topology_pod_1_node_102_sys_json_rsp_subtree_include_stats_no_scoped_page_size_20',
    # 38eea560b59819b60a356010e9b3c191 - Api.get_node_stats
    '_api_mo_topology_pod_1_node_202_sys_json_rsp_subtree_include_stats_no_scoped_page_size_20',
    # 7660dffc9226f865526ffe82fe4694fa - Api.get_node_stats
    '_api_mo_topology_pod_1_node_101_sys_json_rsp_subtree_include_stats_no_scoped_page_size_20',
    # d121d04c8171c3095561ca593dc2de5d - Api.get_node_stats
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP2_Jeti_epg_DtDg_Jeti1_json_rsp_subtree_include_stats_no_scoped',
    # f44f8e9a9afe5d47c8b27d06b6458200 - Api.get_epg_stats
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP2_Jeti_epg_DtDg_Jeti2_json_rsp_subtree_include_stats_no_scoped',
    # d4efb7c9b80929991dd91850d9ddceef - Api.get_epg_stats
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP1_EcommerceApp_epg_DtDg_MiscAppVMs_json_rsp_subtree_include_stats_no_scoped',
    # 288a353bc9fed8f571d78076cb1585ae - Api.get_epg_stats
    '_api_mo_uni_tn_DataDog_ap_DtDg_test_AP_epg_Test_EPG_json_rsp_subtree_include_stats_no_scoped',
    # 3f8f3374048d7b5b3a38566765f35cc2 - Api.get_epg_stats
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP1_EcommerceApp_epg_DtDg_Inv_json_rsp_subtree_include_stats_no_scoped',
    # eb4804e1e68e00353c89b13b56b9d7b9 - Api.get_epg_stats
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP1_EcommerceApp_epg_DtDg_Ord_json_rsp_subtree_include_stats_no_scoped',
    # af6ca37b21581b58b9901e23dd02cae9 - Api.get_epg_stats
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP1_EcommerceApp_epg_DtDg_Ecomm_json_rsp_subtree_include_stats_no_scoped',
    # f929ec691d62a0d70a12e51fc18b4321 - Api.get_epg_stats
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP2_Jeti_epg_DtDg_Jetty_Controller_json_rsp_subtree_include_stats_no_scoped',
    # 7034a3d481f3cd6b47f86783c7ec4c63 - Api.get_epg_stats
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP1_EcommerceApp_epg_DtDg_Pay_json_rsp_subtree_include_stats_no_scoped',
    # b05ed9fa4f7f2f6e52e78976da725716 - Api.get_epg_stats
    '_api_class_fvBD_json_rsp_subtree_include_count',
    # 2b77c071f172dc404574adca6de263d1 - Api.get_apic_capacity_metrics
    '_api_class_fvTenant_json_rsp_subtree_include_count',
    # 3d8273b2eccc0e7b8ddf73c0bcc0dbc9 - Api.get_apic_capacity_metrics
    '_api_class_fvCEp_json_rsp_subtree_include_count',
    # 955e116c3ee8a1101c00ce000baf05f0 - Api.get_apic_capacity_metrics
    '_api_class_fvAEPg_json_rsp_subtree_include_count',
    # 1ee00ee7448fe5900c1a18d70741a6ab - Api.get_apic_capacity_metrics
    '_api_class_fabricNode_json_query_target_filter_eq_fabricNode_role__leaf__',
    # c0526b62f52c9e8956990035baa96382 - Api.get_apic_capacity_metrics
    '_api_class_fvCtx_json_rsp_subtree_include_count',
    # d8ea046fd4b1831561393f0b0e7055ab - Api.get_apic_capacity_metrics
    '_api_mo_uni_fabric_compcat_default_fvsw_default_capabilities_json_query_target_children_target_subtree_class_fvcapRule',  # noqa: E501
    # d9a173b8bee4de1024bdf1671cb09aa2 - Api.get_apic_capacity_limits
    '_api_node_class_ctxClassCnt_json_rsp_subtree_class_l2BD',
    # 16c2a93c855b8b0039fa41f7d1fd87c7 - Api.get_capacity_contexts
    '_api_node_class_ctxClassCnt_json_rsp_subtree_class_l3Dom',
    # caf41b4bc51dc6f145c5379828a9762e - Api.get_capacity_contexts
    '_api_node_class_ctxClassCnt_json_rsp_subtree_class_fvEpP',
    # 3a3b3fccaf27c95600f33e9c238916d6 - Api.get_capacity_contexts
    '_api_node_mo_topology_pod_1_node_1_sys_proc_json_rsp_subtree_include_stats_no_scoped_rsp_subtree_class_procMemHist5min_procCPUHist5min',  # noqa: E501
    # da3cc25775b42c6e85bf8e389cde346c - Api.get_controller_proc_metrics
    '_api_node_mo_topology_pod_1_node_2_sys_proc_json_rsp_subtree_include_stats_no_scoped_rsp_subtree_class_procMemHist5min_procCPUHist5min',  # noqa: E501
    # 363740b68eff24d19f99f62266029e66 - Api.get_controller_proc_metrics
    '_api_node_mo_topology_pod_1_node_3_sys_proc_json_rsp_subtree_include_stats_no_scoped_rsp_subtree_class_procMemHist5min_procCPUHist5min',  # noqa: E501
    # ee5cd35d0ce16d8d0b7c8057d9d53f37 - Api.get_controller_proc_metrics
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP2_Jeti_epg_DtDg_Jetty_Controller_json_query_target_subtree_target_subtree_class_fvCEp',  # noqa: E501
    # 28431f4c95e37bbfce84c0d5b82c08e6 - Api.get_epg_meta
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP1_EcommerceApp_epg_DtDg_MiscAppVMs_json_query_target_subtree_target_subtree_class_fvCEp',  # noqa: E501
    # f81112b93297d7112561cde49cd0c927 - Api.get_epg_meta
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP1_EcommerceApp_epg_DtDg_Inv_json_query_target_subtree_target_subtree_class_fvCEp',
    # e5192f427b93b4c3948b53eb060db652 - Api.get_epg_meta
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP1_EcommerceApp_epg_DtDg_Ecomm_json_query_target_subtree_target_subtree_class_fvCEp',  # noqa: E501
    # e3ab944329625480809e8350724d6f7a - Api.get_epg_meta
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP2_Jeti_epg_DtDg_Jeti1_json_query_target_subtree_target_subtree_class_fvCEp',
    # 6ea50eec45df7090c11060ae0642fdf1 - Api.get_epg_meta
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP2_Jeti_epg_DtDg_Jeti2_json_query_target_subtree_target_subtree_class_fvCEp',
    # 4507ab28dfda9c6ad0c6adc79465856d - Api.get_epg_meta
    '_api_mo_uni_tn_DataDog_ap_DtDg_test_AP_epg_Test_EPG_json_query_target_subtree_target_subtree_class_fvCEp',
    # 2a60e74b54870113b67e6ed7f8994d53 - Api.get_epg_meta
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP1_EcommerceApp_epg_DtDg_Pay_json_query_target_subtree_target_subtree_class_fvCEp',
    # 603cc1278c410b07905c2c35b49afbe6 - Api.get_epg_meta
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP1_EcommerceApp_epg_DtDg_Ord_json_query_target_subtree_target_subtree_class_fvCEp',
    # b9ec4494d631d05122fd7fb4baf0877d - Api.get_epg_meta
    '_api_mo_topology_pod_1_node_102_sys_json_query_target_subtree_target_subtree_class_l1PhysIf',
    # 79af98fe9c1069b329af3b4828712ddd - Api.get_eth_list
    '_api_mo_topology_pod_1_node_202_sys_json_query_target_subtree_target_subtree_class_l1PhysIf',
    # 7b06db4060591652e39b305410a03a2a - Api.get_eth_list
    '_api_mo_topology_pod_1_node_201_sys_json_query_target_subtree_target_subtree_class_l1PhysIf',
    # ded65ac48170a7a3d8914950607e4e18 - Api.get_eth_list
    '_api_mo_topology_pod_1_node_101_sys_json_query_target_subtree_target_subtree_class_l1PhysIf',
    # dace1ecad6f3d9a50eb8d4a15631ba88 - Api.get_eth_list
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP2_Jeti_epg_DtDg_Jeti1_json_query_target_subtree_target_subtree_class_fvRsCEpToPathEp',  # noqa: E501
    # e2b226f554c9f77aafd9b66b4cf59383 - Api.get_eth_list_for_epg
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP1_EcommerceApp_epg_DtDg_Ecomm_json_query_target_subtree_target_subtree_class_fvRsCEpToPathEp',  # noqa: E501
    # bac89bea75dbf42e5108b31ee5f2e4c6 - Api.get_eth_list_for_epg
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP1_EcommerceApp_epg_DtDg_Ord_json_query_target_subtree_target_subtree_class_fvRsCEpToPathEp',  # noqa: E501
    # e1d65d50c73beddb317b0ca66f97ce4b - Api.get_eth_list_for_epg
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP2_Jeti_epg_DtDg_Jetty_Controller_json_query_target_subtree_target_subtree_class_fvRsCEpToPathEp',  # noqa: E501
    # 55444ab1c3112431390bb132ef8ea799 - Api.get_eth_list_for_epg
    '_api_mo_uni_tn_DataDog_ap_DtDg_test_AP_epg_Test_EPG_json_query_target_subtree_target_subtree_class_fvRsCEpToPathEp',  # noqa: E501
    # 7704343d94932b9020928c6b75edde7a - Api.get_eth_list_for_epg
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP2_Jeti_epg_DtDg_Jeti2_json_query_target_subtree_target_subtree_class_fvRsCEpToPathEp',  # noqa: E501
    # c6b444a3748e83d5d5173802e2cc8766 - Api.get_eth_list_for_epg
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP1_EcommerceApp_epg_DtDg_Inv_json_query_target_subtree_target_subtree_class_fvRsCEpToPathEp',  # noqa: E501
    # 761de56d98771ada5db2c5d402347831 - Api.get_eth_list_for_epg
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP1_EcommerceApp_epg_DtDg_MiscAppVMs_json_query_target_subtree_target_subtree_class_fvRsCEpToPathEp',  # noqa: E501
    # 192e2d8a58b2117282557295dc503b0a - Api.get_eth_list_for_epg
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP1_EcommerceApp_epg_DtDg_Pay_json_query_target_subtree_target_subtree_class_fvRsCEpToPathEp',  # noqa: E501
    # e001f001b7ac8da3335f8ef8bad17129 - Api.get_eth_list_for_epg
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP1_EcommerceApp_json_rsp_subtree_include_stats_no_scoped',
    # 363e27e35a42bb987c121709284b529f - Api.get_app_stats
    '_api_mo_uni_tn_DataDog_ap_DtDg_test_AP_json_rsp_subtree_include_stats_no_scoped',
    # 1c7d7ebf0b75333689662feb19f63ede - Api.get_app_stats
    '_api_mo_uni_tn_DataDog_ap_DtDg_AP2_Jeti_json_rsp_subtree_include_stats_no_scoped',
    # 10b987e92abaab8d843e6bee5ab6aef0 - Api.get_app_stats
    '_api_mo_topology_json_query_target_subtree_target_subtree_class_fabricNode',
    # 2e82232a722241e59f27ac3742934e7e - Api.get_fabric_nodes
    '_api_node_mo_topology_pod_1_node_102_sys_procsys_json_rsp_subtree_include_stats_no_scoped_rsp_subtree_class_procSysMemHist5min_procSysCPUHist5min',  # noqa: E501
    # 39d31c3f91411cd6018abd79e222d0cf - Api.get_spine_proc_metrics
    '_api_node_mo_topology_pod_1_node_202_sys_procsys_json_rsp_subtree_include_stats_no_scoped_rsp_subtree_class_procSysMemHist5min_procSysCPUHist5min',  # noqa: E501
    # 37ed36e29dc28fecf6ebc21cd2714477 - Api.get_spine_proc_metrics
    '_api_node_mo_topology_pod_1_node_201_sys_procsys_json_rsp_subtree_include_stats_no_scoped_rsp_subtree_class_procSysMemHist5min_procSysCPUHist5min',  # noqa: E501
    # b0c46630b68d344089f7209c814e216e - Api.get_spine_proc_metrics
    '_api_node_mo_topology_pod_1_node_101_sys_procsys_json_rsp_subtree_include_stats_no_scoped_rsp_subtree_class_procSysMemHist5min_procSysCPUHist5min',  # noqa: E501
    # 1df5692a384c4dd76bb6aaeec9e5f922 - Api.get_spine_proc_metrics
    '_api_mo_topology_pod_1_json_rsp_subtree_include_stats_no_scoped_page_size_20',
    # 0d11d458b6d31906696642f74bf016cc - Api.get_pod_stats
    '_api_class_eqptcapacityEntity_json_query_target_self_rsp_subtree_include_stats_rsp_subtree_class_eqptcapacityL3TotalUsage5min',  # noqa: E501
    # cb5f39f666fdef06a4438813d0814611 - Api.get_eqpt_capacity
    '_api_class_eqptcapacityEntity_json_query_target_self_rsp_subtree_include_stats_rsp_subtree_class_eqptcapacityVlanUsage5min',  # noqa: E501
    # 642f9c4d4bffe9e9bad4ad01a34c924e - Api.get_eqpt_capacity
    '_api_class_eqptcapacityEntity_json_query_target_self_rsp_subtree_include_stats_rsp_subtree_class_eqptcapacityPolUsage5min',  # noqa: E501
    # a32256a38e5ae47ec67a4fe42a487df7 - Api.get_eqpt_capacity
    '_api_class_eqptcapacityEntity_json_query_target_self_rsp_subtree_include_stats_rsp_subtree_class_eqptcapacityMcastUsage5min',  # noqa: E501
    # 1e4f33f96dd87955dc6e04b62fdb10f1 - Api.get_eqpt_capacity
    '_api_class_eqptcapacityEntity_json_query_target_self_rsp_subtree_include_stats_rsp_subtree_class_eqptcapacityL3TotalUsageCap5min',  # noqa: E501
    # 0d6ca781810665156211b355129ba2f1 - Api.get_eqpt_capacity
    '_api_mo_topology_json_query_target_subtree_target_subtree_class_fabricPod',
    # 643d217904f09445fbc9f7b43cd131f0 - Api.get_fabric_pods
    '_api_node_mo_uni_tn_DataDog_json_rsp_subtree_include_event_logs_no_scoped_subtree_order_by_eventRecord_created_desc_page_0_page_size_15',  # noqa: E501
    # d0260e4832537b43b1acb38bcfa58063 - Api.get_tenant_events
    '_api_mo_uni_tn_DataDog_json_query_target_subtree_target_subtree_class_fvAp',
    # 4efe80304d50330f5ed0f79252ef0a84 - Api.get_apps
    '_api_mo_uni_tn_DataDog_json_rsp_subtree_include_stats_no_scoped',
    # c8e9a0dbceac67fb1149684f7fc7772c - Api.get_tenant_stats
]

# The map will contain the md5 hash to the fixture
# name. The file on disk should be named with the
# {MD5 hash}.txt of the mock_path used.
FIXTURE_LIST_FILE_MAP = {}
for fixture in FIXTURE_LIST:
    FIXTURE_LIST_FILE_MAP[fixture] = hashlib.md5(fixture.encode('utf-8')).hexdigest()


class FakeSessionWrapper(SessionWrapper):
    """This mock:
    1. Takes the requested path and replace all special characters to underscore
    2. Fetch the corresponding hash from common.FIXTURE_LIST_FILE_MAP
    3. Returns the corresponding file content
    """

    fixture_dirs = ALL_FIXTURE_DIR

    def login(self, password):
        self.apic_cookie = 'cookie'

    def make_request(self, path):
        mock_path = path.replace('/', '_')
        mock_path = mock_path.replace('?', '_')
        mock_path = mock_path.replace('&', '_')
        mock_path = mock_path.replace('=', '_')
        mock_path = mock_path.replace(',', '_')
        mock_path = mock_path.replace('-', '_')
        mock_path = mock_path.replace('.', '_')
        mock_path = mock_path.replace('"', '_')
        mock_path = mock_path.replace('(', '_')
        mock_path = mock_path.replace(')', '_')
        mock_path = mock_path.replace('[', '_')
        mock_path = mock_path.replace(']', '_')
        mock_path = mock_path.replace('|', '_')
        mock_path = FIXTURE_LIST_FILE_MAP[mock_path]
        for p in self.fixture_dirs:
            path = os.path.join(p, mock_path)
            path += '.txt'

            try:
                log.info(os.listdir(p))
                with open(path, 'r') as f:
                    return json.loads(f.read())
            except Exception:
                continue
        return {"imdata": []}


class FakeCapacitySessionWrapper(FakeSessionWrapper):
    fixture_dirs = [CAPACITY_FIXTURES_DIR]


class FakeTenantSessionWrapper(FakeSessionWrapper):
    fixture_dirs = [TENANT_FIXTURES_DIR]


class FakeFabricSessionWrapper(FakeSessionWrapper):
    fixture_dirs = [FABRIC_FIXTURES_DIR]
