# Path: magnumclient/tests/utils.py
# FAKE_ENV = {'OS_USERNAME': 'username',
#             'OS_PASSWORD': 'password',
#             'OS_PROJECT_NAME': 'project_name',
#             'OS_AUTH_URL': 'http://no.where/v2.0'}
#     TEST_REQUEST_BASE = {
#         'verify': True,
#     }
# class BaseTestCase(testtools.TestCase):
# class FakeAPI(object):
# class FakeConnection(object):
# class FakeResponse(object):
# class FakeServiceCatalog(object):
# class FakeKeystone(object):
# class TestCase(testtools.TestCase):
# class FakeSessionResponse(object):
# class FakeSession(object):
#     def setUp(self):
#     def __init__(self, responses):
#     def _request(self, method, url, headers=None, body=None):
#     def raw_request(self, *args, **kwargs):
#     def json_request(self, *args, **kwargs):
#     def __init__(self, response=None, **kwargs):
#     def request(self, method, conn_url, **kwargs):
#     def setresponse(self, response):
#     def getresponse(self):
#     def __init__(self, headers, body=None, version=None, status=None,
#                  reason=None):
#     def __getitem__(self, key):
#     def getheaders(self):
#     def getheader(self, key, default):
#     def read(self, amt):
#     def url_for(self, endpoint_type, service_type, attr=None,
#                 filter_value=None):
#     def __init__(self, auth_token):
#     def setUp(self):
#     def make_env(self, exclude=None, fake_env=FAKE_ENV):
#     def shell(self, argstr, exitcodes=(0,)):
#     def __init__(self, headers, content=None, status_code=None):
#     def json(self):
#     def __init__(self, headers, content=None, status_code=None):
#     def request(self, url, method, **kwargs):
# 
# Path: magnumclient/v1/stats.py
# class Stats(base.Resource):
# class StatsManager(base.Manager):
#     def __repr__(self):
#     def _path(id=None):
#     def list(self, project_id=None):


import testtools
from magnumclient.tests import utils
from magnumclient.v1 import stats
        'GET': (
            {},
            {'clusters': 1, 'nodes': C2[nc] + C2[mc]},
        )
    },
}


class StatsManagerTest(testtools.TestCase):

    def setUp(self):
        super(StatsManagerTest, self).setUp()
        self.api = utils.FakeAPI(fake_responses)
        self.mgr = stats.StatsManager(self.api)

    def test_stats(self):
        stats = self.mgr.list()
        expect = [
            ('GET', '/v1/stats', {}, None),
        ]
        self.assertEqual(expect, self.api.calls)
        expected_stats = {'clusters': 2,
                          'nodes': C1[nc] + C1[mc] + C2[nc] + C2[mc]}
        self.assertEqual(expected_stats, stats._info)

    def test_stats_with_project_id(self):
        expect = [
            ('GET', '/v1/stats?project_id=%s' % CLUSTER2['project_id'], {},
             None),
        ]

# Path: magnumclient/tests/utils.py
# FAKE_ENV = {'OS_USERNAME': 'username',
#             'OS_PASSWORD': 'password',
#             'OS_PROJECT_NAME': 'project_name',
#             'OS_AUTH_URL': 'http://no.where/v2.0'}
#     TEST_REQUEST_BASE = {
#         'verify': True,
#     }
# class BaseTestCase(testtools.TestCase):
# class FakeAPI(object):
# class FakeConnection(object):
# class FakeResponse(object):
# class FakeServiceCatalog(object):
# class FakeKeystone(object):
# class TestCase(testtools.TestCase):
# class FakeSessionResponse(object):
# class FakeSession(object):
#     def setUp(self):
#     def __init__(self, responses):
#     def _request(self, method, url, headers=None, body=None):
#     def raw_request(self, *args, **kwargs):
#     def json_request(self, *args, **kwargs):
#     def __init__(self, response=None, **kwargs):
#     def request(self, method, conn_url, **kwargs):
#     def setresponse(self, response):
#     def getresponse(self):
#     def __init__(self, headers, body=None, version=None, status=None,
#                  reason=None):
#     def __getitem__(self, key):
#     def getheaders(self):
#     def getheader(self, key, default):
#     def read(self, amt):
#     def url_for(self, endpoint_type, service_type, attr=None,
#                 filter_value=None):
#     def __init__(self, auth_token):
#     def setUp(self):
#     def make_env(self, exclude=None, fake_env=FAKE_ENV):
#     def shell(self, argstr, exitcodes=(0,)):
#     def __init__(self, headers, content=None, status_code=None):
#     def json(self):
#     def __init__(self, headers, content=None, status_code=None):
#     def request(self, url, method, **kwargs):
# 
# Path: magnumclient/v1/stats.py
# class Stats(base.Resource):
# class StatsManager(base.Manager):
#     def __repr__(self):
#     def _path(id=None):
#     def list(self, project_id=None):


# Path: magnumclient/tests/v1/test_stats.py
import testtools
from magnumclient.tests import utils
from magnumclient.v1 import stats

        'GET': (
            {},
            {'clusters': 1, 'nodes': C2[nc] + C2[mc]},
        )
    },
}


class StatsManagerTest(testtools.TestCase):

    def setUp(self):
        super(StatsManagerTest, self).setUp()
        self.api = utils.FakeAPI(fake_responses)
        self.mgr = stats.StatsManager(self.api)

    def test_stats(self):
        stats = self.mgr.list()
        expect = [
            ('GET', '/v1/stats', {}, None),
        ]
        self.assertEqual(expect, self.api.calls)
        expected_stats = {'clusters': 2,
                          'nodes': C1[nc] + C1[mc] + C2[nc] + C2[mc]}
        self.assertEqual(expected_stats, stats._info)

    def test_stats_with_project_id(self):
        expect = [
            ('GET', '/v1/stats?project_id=%s' % CLUSTER2['project_id'], {},
             None),
        ]

        stats = self.mgr.list(project_id=CLUSTER2['project_id'])