# Path: magnumclient/osc/v1/nodegroups.py
# NODEGROUP_ATTRIBUTES = [
#     'uuid',
#     'name',
#     'cluster_id',
#     'project_id',
#     'docker_volume_size',
#     'labels',
#     'labels_overridden',
#     'labels_skipped',
#     'labels_added',
#     'flavor_id',
#     'image_id',
#     'node_addresses',
#     'node_count',
#     'role',
#     'max_node_count',
#     'min_node_count',
#     'is_default',
#     'stack_id',
#     'status',
#     'status_reason',
# ]
# class CreateNodeGroup(command.Command):
# class DeleteNodeGroup(command.Command):
# class ListNodeGroup(command.Lister):
# class ShowNodeGroup(command.ShowOne):
# class UpdateNodeGroup(command.Command):
#     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 get_parser(self, prog_name):
#     def take_action(self, parsed_args):
#     def get_parser(self, prog_name):
#     def take_action(self, parsed_args):
#     def get_parser(self, prog_name):
#     def take_action(self, parsed_args):
# 
# Path: magnumclient/tests/osc/unit/v1/fakes.py
# class FakeBaseModel(object):
# class FakeBaseModelManager(object):
# class FakeStatsModelManager(object):
# class FakeQuotasModelManager(object):
# class FakeNodeGroupManager(object):
# class FakeCertificatesModelManager(FakeBaseModelManager):
# class MagnumFakeContainerInfra(object):
# class MagnumFakeClientManager(osc_fakes.FakeClientManager):
# class MagnumParseException(Exception):
# class TestMagnumClientOSCV1(osc_utils.TestCase):
# class FakeClusterTemplate(object):
# class FakeCluster(object):
# class FakeCert(object):
# class FakeQuota(object):
# class FakeNodeGroup(object):
#     def __repr__(self):
#     def list(self, limit=None, marker=None, sort_key=None,
#              sort_dir=None, detail=False):
#     def get(self, id):
#     def create(self, **kwargs):
#     def delete(self, id):
#     def update(self, id, patch):
#     def rotate_ca(self, **kwargs):
#     def list(self, **kwargs):
#     def get(self, id, resource):
#     def create(self, **kwargs):
#     def delete(self, id):
#     def list(self, cluster_id, limit=None, marker=None, sort_key=None,
#              sort_dir=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):
#     def get(self, cluster_uuid):
#     def __init__(self):
#     def __init__(self):
#     def __init__(self, message=None, details=None):
#     def __str__(self):
#     def setUp(self):
#     def check_parser(self, cmd, args, verify_args):
#     def create_one_cluster_template(attrs=None):
#     def create_cluster_templates(attrs=None, count=2):
#     def create_one_cluster(attrs=None):
#     def __init__(self, pem):
#     def create_one_quota(attrs=None):
#     def create_one_nodegroup(attrs=None):


import copy
from unittest import mock
from unittest.mock import call
from magnumclient.osc.v1 import nodegroups as osc_nodegroups
from magnumclient.tests.osc.unit.v1 import fakes as magnum_fakes
        expected_args['labels'] = {
            'arg1': 'value1', 'arg2': 'value2'
        }

        arglist = [
            '--labels', 'arg1=value1',
            '--labels', 'arg2=value2',
            self.nodegroup.cluster_id,
            self.nodegroup.name
        ]
        verifylist = [
            ('labels', ['arg1=value1', 'arg2=value2']),
            ('name', self.nodegroup.name),
            ('cluster', self.nodegroup.cluster_id)
        ]
        parsed_args = self.check_parser(self.cmd, arglist, verifylist)
        self.cmd.take_action(parsed_args)
        self.ng_mock.create.assert_called_with(self.nodegroup.cluster_id,
                                               **expected_args)


class TestNodeGroupDelete(TestNodeGroup):

    def setUp(self):
        super(TestNodeGroupDelete, self).setUp()

        self.ng_mock.delete = mock.Mock()
        self.ng_mock.delete.return_value = None

        # Get the command object to test

# Path: magnumclient/osc/v1/nodegroups.py
# NODEGROUP_ATTRIBUTES = [
#     'uuid',
#     'name',
#     'cluster_id',
#     'project_id',
#     'docker_volume_size',
#     'labels',
#     'labels_overridden',
#     'labels_skipped',
#     'labels_added',
#     'flavor_id',
#     'image_id',
#     'node_addresses',
#     'node_count',
#     'role',
#     'max_node_count',
#     'min_node_count',
#     'is_default',
#     'stack_id',
#     'status',
#     'status_reason',
# ]
# class CreateNodeGroup(command.Command):
# class DeleteNodeGroup(command.Command):
# class ListNodeGroup(command.Lister):
# class ShowNodeGroup(command.ShowOne):
# class UpdateNodeGroup(command.Command):
#     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 get_parser(self, prog_name):
#     def take_action(self, parsed_args):
#     def get_parser(self, prog_name):
#     def take_action(self, parsed_args):
#     def get_parser(self, prog_name):
#     def take_action(self, parsed_args):
# 
# Path: magnumclient/tests/osc/unit/v1/fakes.py
# class FakeBaseModel(object):
# class FakeBaseModelManager(object):
# class FakeStatsModelManager(object):
# class FakeQuotasModelManager(object):
# class FakeNodeGroupManager(object):
# class FakeCertificatesModelManager(FakeBaseModelManager):
# class MagnumFakeContainerInfra(object):
# class MagnumFakeClientManager(osc_fakes.FakeClientManager):
# class MagnumParseException(Exception):
# class TestMagnumClientOSCV1(osc_utils.TestCase):
# class FakeClusterTemplate(object):
# class FakeCluster(object):
# class FakeCert(object):
# class FakeQuota(object):
# class FakeNodeGroup(object):
#     def __repr__(self):
#     def list(self, limit=None, marker=None, sort_key=None,
#              sort_dir=None, detail=False):
#     def get(self, id):
#     def create(self, **kwargs):
#     def delete(self, id):
#     def update(self, id, patch):
#     def rotate_ca(self, **kwargs):
#     def list(self, **kwargs):
#     def get(self, id, resource):
#     def create(self, **kwargs):
#     def delete(self, id):
#     def list(self, cluster_id, limit=None, marker=None, sort_key=None,
#              sort_dir=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):
#     def get(self, cluster_uuid):
#     def __init__(self):
#     def __init__(self):
#     def __init__(self, message=None, details=None):
#     def __str__(self):
#     def setUp(self):
#     def check_parser(self, cmd, args, verify_args):
#     def create_one_cluster_template(attrs=None):
#     def create_cluster_templates(attrs=None, count=2):
#     def create_one_cluster(attrs=None):
#     def __init__(self, pem):
#     def create_one_quota(attrs=None):
#     def create_one_nodegroup(attrs=None):


# Path: magnumclient/tests/osc/unit/v1/test_nodegroups.py
import copy
from unittest import mock
from unittest.mock import call
from magnumclient.osc.v1 import nodegroups as osc_nodegroups
from magnumclient.tests.osc.unit.v1 import fakes as magnum_fakes

        expected_args['labels'] = {
            'arg1': 'value1', 'arg2': 'value2'
        }

        arglist = [
            '--labels', 'arg1=value1',
            '--labels', 'arg2=value2',
            self.nodegroup.cluster_id,
            self.nodegroup.name
        ]
        verifylist = [
            ('labels', ['arg1=value1', 'arg2=value2']),
            ('name', self.nodegroup.name),
            ('cluster', self.nodegroup.cluster_id)
        ]
        parsed_args = self.check_parser(self.cmd, arglist, verifylist)
        self.cmd.take_action(parsed_args)
        self.ng_mock.create.assert_called_with(self.nodegroup.cluster_id,
                                               **expected_args)


class TestNodeGroupDelete(TestNodeGroup):

    def setUp(self):
        super(TestNodeGroupDelete, self).setUp()

        self.ng_mock.delete = mock.Mock()
        self.ng_mock.delete.return_value = None

        # Get the command object to test

        self.cmd = osc_nodegroups.DeleteNodeGroup(self.app, None)