1717
1818from openstackclient .network .v2 import network_qos_rule_type as _qos_rule_type
1919from openstackclient .tests .unit .network .v2 import fakes as network_fakes
20+ from openstackclient .tests .unit import utils as tests_utils
2021
2122
2223class TestNetworkQosRuleType (network_fakes .TestNetworkV2 ):
@@ -27,6 +28,60 @@ def setUp(self):
2728 self .network = self .app .client_manager .network
2829
2930
31+ class TestShowNetworkQosRuleType (TestNetworkQosRuleType ):
32+
33+ attrs = {
34+ 'drivers' : [{
35+ 'name' : 'driver 1' ,
36+ 'supported_parameters' : []
37+ }]
38+ }
39+ # The QoS policies to show.
40+ qos_rule_type = (
41+ network_fakes .FakeNetworkQosRuleType .create_one_qos_rule_type (attrs ))
42+ columns = (
43+ 'drivers' ,
44+ 'rule_type_name'
45+ )
46+ data = [
47+ qos_rule_type .drivers ,
48+ qos_rule_type .type
49+ ]
50+
51+ def setUp (self ):
52+ super (TestShowNetworkQosRuleType , self ).setUp ()
53+ self .network .get_qos_rule_type = mock .Mock (
54+ return_value = self .qos_rule_type )
55+
56+ # Get the command object to test
57+ self .cmd = _qos_rule_type .ShowNetworkQosRuleType (self .app ,
58+ self .namespace )
59+
60+ def test_show_no_options (self ):
61+ arglist = []
62+ verifylist = []
63+
64+ # Missing required args should bail here
65+ self .assertRaises (tests_utils .ParserException , self .check_parser ,
66+ self .cmd , arglist , verifylist )
67+
68+ def test_show_all_options (self ):
69+ arglist = [
70+ self .qos_rule_type .type ,
71+ ]
72+ verifylist = [
73+ ('rule_type' , self .qos_rule_type .type ),
74+ ]
75+
76+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
77+ columns , data = self .cmd .take_action (parsed_args )
78+
79+ self .network .get_qos_rule_type .assert_called_once_with (
80+ self .qos_rule_type .type )
81+ self .assertEqual (self .columns , columns )
82+ self .assertEqual (list (self .data ), list (data ))
83+
84+
3085class TestListNetworkQosRuleType (TestNetworkQosRuleType ):
3186
3287 # The QoS policies to list up.
0 commit comments