1
# -*- coding: utf-8 -*-
3
# Licensed under the Apache License, Version 2.0 (the "License"); you may
4
# not use this file except in compliance with the License. You may obtain
5
# a copy of the License at
7
# http://www.apache.org/licenses/LICENSE-2.0
9
# Unless required by applicable law or agreed to in writing, software
10
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12
# License for the specific language governing permissions and limitations
15
from seamicroclient.tests import utils
16
from seamicroclient.tests.v2 import fakes
17
from seamicroclient.v2 import interfaces
20
cs = fakes.FakeClient()
23
class InterfacesTest(utils.TestCase):
25
def test_list_interfaces(self):
26
sl = cs.interfaces.list()
27
cs.assert_called('GET', '/interfaces')
28
[self.assertTrue(isinstance(s, interfaces.Interface)) for s in sl]
30
def test_interface_get(self):
32
cs.assert_called('GET', '/interfaces/1')
34
def test_interface_shutdown(self):
35
cs.interfaces.shutdown(1)
36
cs.assert_called('PUT', '/interfaces/1/shutdown')
38
def test_interface_no_shutdown(self):
39
cs.interfaces.no_shutdown(1)
40
cs.assert_called('PUT', '/interfaces/1/shutdown')
42
def test_interface_add_taggedvlan_list(self):
43
cs.interfaces.add_tagged_vlan(1, [1, 2, 3])
44
cs.assert_called('PUT', '/interfaces/1/vlans/taggedVlans')
46
def test_interface_add_taggedvlan_single(self):
47
cs.interfaces.add_tagged_vlan(1, '23-25')
48
cs.assert_called('PUT', '/interfaces/1/vlans/taggedVlans')
50
def test_interface_remove_taggedvlan(self):
51
cs.interfaces.remove_tagged_vlan(1, '23-25')
52
cs.assert_called('PUT', '/interfaces/1/vlans/taggedVlans')
54
def test_interface_add_untaggedvlan(self):
55
cs.interfaces.add_untagged_vlan(1, '23')
56
cs.assert_called('PUT', '/interfaces/1/vlans/untaggedVlans')
58
def test_interface_remove_untaggedvlan(self):
59
cs.interfaces.remove_untagged_vlan(1, '23')
60
cs.assert_called('PUT', '/interfaces/1/vlans/untaggedVlans')