@@ -44,14 +44,80 @@ def setUp(self):
4444 # Get the command object to test
4545 self .cmd = service .CreateService (self .app , None )
4646
47- def test_service_create_name_type (self ):
47+ def test_service_create_with_type_positional (self ):
48+ arglist = [
49+ identity_fakes .service_type ,
50+ ]
51+ verifylist = [
52+ ('type_or_name' , identity_fakes .service_type ),
53+ ('type' , None ),
54+ ('description' , None ),
55+ ('name' , None ),
56+ ]
57+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
58+
59+ # DisplayCommandBase.take_action() returns two tuples
60+ columns , data = self .cmd .take_action (parsed_args )
61+
62+ # ServiceManager.create(name, service_type, description)
63+ self .services_mock .create .assert_called_with (
64+ None ,
65+ identity_fakes .service_type ,
66+ None ,
67+ )
68+
69+ collist = ('description' , 'id' , 'name' , 'type' )
70+ self .assertEqual (columns , collist )
71+ datalist = (
72+ identity_fakes .service_description ,
73+ identity_fakes .service_id ,
74+ identity_fakes .service_name ,
75+ identity_fakes .service_type ,
76+ )
77+ self .assertEqual (data , datalist )
78+
79+ def test_service_create_with_type_option (self ):
4880 arglist = [
4981 '--type' , identity_fakes .service_type ,
5082 identity_fakes .service_name ,
5183 ]
5284 verifylist = [
85+ ('type_or_name' , identity_fakes .service_name ),
5386 ('type' , identity_fakes .service_type ),
5487 ('description' , None ),
88+ ('name' , None ),
89+ ]
90+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
91+
92+ # DisplayCommandBase.take_action() returns two tuples
93+ columns , data = self .cmd .take_action (parsed_args )
94+
95+ # ServiceManager.create(name, service_type, description)
96+ self .services_mock .create .assert_called_with (
97+ identity_fakes .service_name ,
98+ identity_fakes .service_type ,
99+ None ,
100+ )
101+
102+ collist = ('description' , 'id' , 'name' , 'type' )
103+ self .assertEqual (columns , collist )
104+ datalist = (
105+ identity_fakes .service_description ,
106+ identity_fakes .service_id ,
107+ identity_fakes .service_name ,
108+ identity_fakes .service_type ,
109+ )
110+ self .assertEqual (data , datalist )
111+
112+ def test_service_create_with_name_option (self ):
113+ arglist = [
114+ '--name' , identity_fakes .service_name ,
115+ identity_fakes .service_type ,
116+ ]
117+ verifylist = [
118+ ('type_or_name' , identity_fakes .service_type ),
119+ ('type' , None ),
120+ ('description' , None ),
55121 ('name' , identity_fakes .service_name ),
56122 ]
57123 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
@@ -78,12 +144,13 @@ def test_service_create_name_type(self):
78144
79145 def test_service_create_description (self ):
80146 arglist = [
81- '--type ' , identity_fakes .service_type ,
147+ '--name ' , identity_fakes .service_name ,
82148 '--description' , identity_fakes .service_description ,
83- identity_fakes .service_name ,
149+ identity_fakes .service_type ,
84150 ]
85151 verifylist = [
86- ('type' , identity_fakes .service_type ),
152+ ('type_or_name' , identity_fakes .service_type ),
153+ ('type' , None ),
87154 ('description' , identity_fakes .service_description ),
88155 ('name' , identity_fakes .service_name ),
89156 ]
0 commit comments