# Path: magnumclient/exceptions.py
# class AmbiguousAuthSystem(exceptions.ClientException):
# class InvalidAttribute(exceptions.ClientException):
# def from_response(response, message=None, traceback=None, method=None,
#                   url=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/nodegroups.py
# CREATION_ATTRIBUTES = ['docker_volume_size', 'labels', 'flavor_id', 'image_id',
#                        'project_id', 'node_count', 'name', 'role',
#                        'min_node_count', 'max_node_count', 'merge_labels']
# class NodeGroup(baseunit.BaseTemplate):
# class NodeGroupManager(baseunit.BaseTemplateManager):
#     def _path(cls, cluster_id, id=None):
#     def list(self, cluster_id, limit=None, marker=None, sort_key=None,
#              sort_dir=None, role=None, detail=False):
#     def get(self, cluster_id, id):
#     def create(self, cluster_id, **kwargs):
#     def delete(self, cluster_id, id):
#     def update(self, cluster_id, id, patch):


import copy
import testtools
from testtools import matchers
from magnumclient import exceptions
from magnumclient.tests import utils
from magnumclient.v1 import nodegroups
        self.assertEqual(expect, self.api.calls)
        self.assertTrue(nodegroup)

    def test_nodegroup_create_with_docker_volume_size(self):
        ng_with_volume_size = dict()
        ng_with_volume_size.update(CREATE_NODEGROUP)
        ng_with_volume_size['docker_volume_size'] = 20
        nodegroup = self.mgr.create(self.cluster_id, **ng_with_volume_size)
        expect = [
            ('POST', self.base_path, {}, ng_with_volume_size),
        ]
        self.assertEqual(expect, self.api.calls)
        self.assertTrue(nodegroup)

    def test_nodegroup_create_with_labels(self):
        ng_with_labels = dict()
        ng_with_labels.update(CREATE_NODEGROUP)
        ng_with_labels['labels'] = "key=val"
        nodegroup = self.mgr.create(self.cluster_id, **ng_with_labels)
        expect = [
            ('POST', self.base_path, {}, ng_with_labels),
        ]
        self.assertEqual(expect, self.api.calls)
        self.assertTrue(nodegroup)

    def test_nodegroup_create_fail(self):
        CREATE_NODEGROUP_FAIL = copy.deepcopy(CREATE_NODEGROUP)
        CREATE_NODEGROUP_FAIL["wrong_key"] = "wrong"
        self.assertRaisesRegex(exceptions.InvalidAttribute,
                               ("Key must be in %s" %

# Path: magnumclient/exceptions.py
# class AmbiguousAuthSystem(exceptions.ClientException):
# class InvalidAttribute(exceptions.ClientException):
# def from_response(response, message=None, traceback=None, method=None,
#                   url=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/nodegroups.py
# CREATION_ATTRIBUTES = ['docker_volume_size', 'labels', 'flavor_id', 'image_id',
#                        'project_id', 'node_count', 'name', 'role',
#                        'min_node_count', 'max_node_count', 'merge_labels']
# class NodeGroup(baseunit.BaseTemplate):
# class NodeGroupManager(baseunit.BaseTemplateManager):
#     def _path(cls, cluster_id, id=None):
#     def list(self, cluster_id, limit=None, marker=None, sort_key=None,
#              sort_dir=None, role=None, detail=False):
#     def get(self, cluster_id, id):
#     def create(self, cluster_id, **kwargs):
#     def delete(self, cluster_id, id):
#     def update(self, cluster_id, id, patch):


# Path: magnumclient/tests/v1/test_nodegroups.py
import copy
import testtools
from testtools import matchers
from magnumclient import exceptions
from magnumclient.tests import utils
from magnumclient.v1 import nodegroups

        self.assertEqual(expect, self.api.calls)
        self.assertTrue(nodegroup)

    def test_nodegroup_create_with_docker_volume_size(self):
        ng_with_volume_size = dict()
        ng_with_volume_size.update(CREATE_NODEGROUP)
        ng_with_volume_size['docker_volume_size'] = 20
        nodegroup = self.mgr.create(self.cluster_id, **ng_with_volume_size)
        expect = [
            ('POST', self.base_path, {}, ng_with_volume_size),
        ]
        self.assertEqual(expect, self.api.calls)
        self.assertTrue(nodegroup)

    def test_nodegroup_create_with_labels(self):
        ng_with_labels = dict()
        ng_with_labels.update(CREATE_NODEGROUP)
        ng_with_labels['labels'] = "key=val"
        nodegroup = self.mgr.create(self.cluster_id, **ng_with_labels)
        expect = [
            ('POST', self.base_path, {}, ng_with_labels),
        ]
        self.assertEqual(expect, self.api.calls)
        self.assertTrue(nodegroup)

    def test_nodegroup_create_fail(self):
        CREATE_NODEGROUP_FAIL = copy.deepcopy(CREATE_NODEGROUP)
        CREATE_NODEGROUP_FAIL["wrong_key"] = "wrong"
        self.assertRaisesRegex(exceptions.InvalidAttribute,
                               ("Key must be in %s" %

                                ','.join(nodegroups.CREATION_ATTRIBUTES)),