<commit_before># Copyright (c) 2015 Canonical Ltd
#
#    Licensed under the Apache License, Version 2.0 (the "License"); you may
#    not use this file except in compliance with the License. You may obtain
#    a copy of the License at
#
#         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.

from ddt import ddt
import mock
import unittest

from pylxd import api
from pylxd import connection

from pylxd.tests import annotated_data
from pylxd.tests import fake_api


@ddt
class LXDUnitTestNetwork(unittest.TestCase):

    def setUp(self):
        super(LXDUnitTestNetwork, self).setUp()
        self.lxd = api.API()

    def test_list_networks(self):
        with mock.patch.object(connection.LXDConnection, 'get_object') as ms:
            ms.return_value = ('200', fake_api.fake_network_list())
            self.assertEqual(
                ['lxcbr0'],
                self.lxd.network_list())
            ms.assert_called_with('GET',
                                  '/1.0/networks')

    def test_network_show(self):
        with mock.patch.object(connection.LXDConnection, 'get_object') as ms:
            ms.return_value = ('200', fake_api.fake_network())
            self.assertEqual({
                'network_name': 'lxcbr0',
                'network_type': 'bridge',
                'network_members': ['/1.0/containers/trusty-1'],
            }, self.lxd.network_show('lxcbr0'))
            ms.assert_called_with('GET',
                                  '/1.0/networks/lxcbr0')

    @annotated_data(
        ('name', 'lxcbr0'),
        ('type', 'bridge'),
        ('members', ['/1.0/containers/trusty-1']),
    )
    def test_network_data(self, method, expected):
        with mock.patch.object(connection.LXDConnection, 'get_object') as ms:
            ms.return_value = ('200', fake_api.fake_network())
            self.assertEqual(
                expected, getattr(self.lxd,
                                  'network_show_' + method)('lxcbr0'))
            ms.assert_called_with('GET',
                                  '/1.0/networks/lxcbr0')<commit_msg>Refactor network tests to reduce copypasta<commit_after># Copyright (c) 2015 Canonical Ltd
#
#    Licensed under the Apache License, Version 2.0 (the "License"); you may
#    not use this file except in compliance with the License. You may obtain
#    a copy of the License at
#
#         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.

from ddt import ddt
import mock

from pylxd import connection

from pylxd.tests import annotated_data
from pylxd.tests import fake_api
from pylxd.tests import LXDAPITestBase


@ddt
@mock.patch.object(connection.LXDConnection, 'get_object',
                   return_value=(200, fake_api.fake_network()))
class LXDAPINetworkTest(LXDAPITestBase):

    def test_list_networks(self, ms):
        ms.return_value = ('200', fake_api.fake_network_list())
        self.assertEqual(
            ['lxcbr0'],
            self.lxd.network_list())
        ms.assert_called_with('GET',
                              '/1.0/networks')

    def test_network_show(self, ms):
        self.assertEqual({
            'network_name': 'lxcbr0',
            'network_type': 'bridge',
            'network_members': ['/1.0/containers/trusty-1'],
        }, self.lxd.network_show('lxcbr0'))
        ms.assert_called_with('GET',
                              '/1.0/networks/lxcbr0')

    @annotated_data(
        ('name', 'lxcbr0'),
        ('type', 'bridge'),
        ('members', ['/1.0/containers/trusty-1']),
    )
    def test_network_data(self, method, expected, ms):
        self.assertEqual(
            expected, getattr(self.lxd,
                              'network_show_' + method)('lxcbr0'))
        ms.assert_called_with('GET',
                              '/1.0/networks/lxcbr0')
{'fraction_non_alphanumeric': 0.10968468468468469, 'fraction_numerical': 0.015540540540540541, 'mean_word_length': 2.336589030803907, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6690047', 'n_tokens_mistral': 1338, 'n_tokens_neox': 1290, 'n_words': 338}