1 #
   2 # CDDL HEADER START
   3 #
   4 # The contents of this file are subject to the terms of the
   5 # Common Development and Distribution License (the "License").
   6 # You may not use this file except in compliance with the License.
   7 #
   8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9 # or http://www.opensolaris.org/os/licensing.
  10 # See the License for the specific language governing permissions
  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 
  22 #
  23 # Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  24 # Use is subject to license terms.
  25 #
  26 
  27 #
  28 # Test integer property type
  29 #
  30 001:common_name:template:DEFAULT:C,Default template name
  31 001:pg_pattern:template:DEFAULT:name=foo,type=framework,target=this,required=true
  32 001:prop_pattern:pg_pattern:foo:name=foo_prop,type=integer,required=true
  33 001:property_group:service:DEFAULT:name=foo,type=framework
  34 001:create_default_instance:service:DEFAULT:false
  35 001:valid:propval:property_group:foo:name=foo_prop,type=integer,value=10
  36 001:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=astring,value=fooval
  37 001:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=ustring,value=foo val
  38 001:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=host,value=hostfoo
  39 001:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=hostname,value=hostfoo
  40 001:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=net_address_v4,value=10.0.0.1
  41 001:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=net_address_v6,value=fe80::203:baff:fe41:605b
  42 001:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=boolean,value=true
  43 001:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=fmri,value=svc:/system/console-login:default
  44 
  45 #
  46 # Test astring property type
  47 #
  48 002:common_name:template:DEFAULT:C,Default template name
  49 002:pg_pattern:template:DEFAULT:name=foo,type=framework,target=this,required=true
  50 002:prop_pattern:pg_pattern:foo:name=foo_prop,type=astring,required=true
  51 002:property_group:service:DEFAULT:name=foo,type=framework
  52 002:create_default_instance:service:DEFAULT:false
  53 002:valid:propval:property_group:foo:name=foo_prop,type=astring,value=fooval
  54 002:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=integer,value=10
  55 002:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=ustring,value=foo val
  56 002:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=host,value=hostfoo
  57 002:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=hostname,value=hostfoo
  58 002:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=net_address_v4,value=10.0.0.1
  59 002:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=net_address_v6,value=fe80::203:baff:fe41:605b
  60 002:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=boolean,value=true
  61 002:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=fmri,value=svc:/system/console-login:default
  62 
  63 #
  64 # Test ustring property type
  65 #
  66 003:common_name:template:DEFAULT:C,Default template name
  67 003:pg_pattern:template:DEFAULT:name=foo,type=framework,target=this,required=true
  68 003:prop_pattern:pg_pattern:foo:name=foo_prop,type=ustring,required=true
  69 003:property_group:service:DEFAULT:name=foo,type=framework
  70 003:create_default_instance:service:DEFAULT:false
  71 003:valid:propval:property_group:foo:name=foo_prop,type=ustring,value=foo val
  72 003:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=astring,value=fooval
  73 003:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=integer,value=10
  74 003:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=host,value=hostfoo
  75 003:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=hostname,value=hostfoo
  76 003:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=net_address_v4,value=10.0.0.1
  77 003:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=net_address_v6,value=fe80::203:baff:fe41:605b
  78 003:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=boolean,value=true
  79 003:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=fmri,value=svc:/system/console-login:default
  80 
  81 #
  82 # Test host property type
  83 #
  84 004:common_name:template:DEFAULT:C,Default template name
  85 004:pg_pattern:template:DEFAULT:name=foo,type=framework,target=this,required=true
  86 004:prop_pattern:pg_pattern:foo:name=foo_prop,type=host,required=true
  87 004:property_group:service:DEFAULT:name=foo,type=framework
  88 004:create_default_instance:service:DEFAULT:false
  89 004:valid:propval:property_group:foo:name=foo_prop,type=host,value=hostfoo
  90 004:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=astring,value=fooval
  91 004:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=integer,value=10
  92 004:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=ustring,value=foo val
  93 004:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=hostname,value=hostfoo
  94 004:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=net_address_v4,value=10.0.0.1
  95 004:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=net_address_v6,value=fe80::203:baff:fe41:605b
  96 004:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=boolean,value=true
  97 004:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=fmri,value=svc:/system/console-login:default
  98 
  99 #
 100 # Test hostname property type
 101 #
 102 005:common_name:template:DEFAULT:C,Default template name
 103 005:pg_pattern:template:DEFAULT:name=foo,type=framework,target=this,required=true
 104 005:prop_pattern:pg_pattern:foo:name=foo_prop,type=hostname,required=true
 105 005:property_group:service:DEFAULT:name=foo,type=framework
 106 005:create_default_instance:service:DEFAULT:false
 107 005:valid:propval:property_group:foo:name=foo_prop,type=hostname,value=hostfoo
 108 005:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=astring,value=fooval
 109 005:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=integer,value=10
 110 005:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=ustring,value=foo val
 111 005:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=host,value=hostfoo
 112 005:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=net_address_v4,value=10.0.0.1
 113 005:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=net_address_v6,value=fe80::203:baff:fe41:605b
 114 005:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=boolean,value=true
 115 005:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=fmri,value=svc:/system/console-login:default
 116 
 117 #
 118 # Test net_address_v4 property type
 119 #
 120 006:common_name:template:DEFAULT:C,Default template name
 121 006:pg_pattern:template:DEFAULT:name=foo,type=framework,target=this,required=true
 122 006:prop_pattern:pg_pattern:foo:name=foo_prop,type=net_address_v4,required=true
 123 006:property_group:service:DEFAULT:name=foo,type=framework
 124 006:create_default_instance:service:DEFAULT:false
 125 006:valid:propval:property_group:foo:name=foo_prop,type=net_address_v4,value=10.0.0.1
 126 006:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=astring,value=fooval
 127 006:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=integer,value=10
 128 006:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=ustring,value=foo val
 129 006:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=host,value=hostfoo
 130 006:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=hostname,value=hostfoo
 131 006:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=net_address_v6,value=fe80::203:baff:fe41:605b
 132 006:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=boolean,value=true
 133 006:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=fmri,value=svc:/system/console-login:default
 134 
 135 #
 136 # Test net_address_v6 property type
 137 #
 138 007:common_name:template:DEFAULT:C,Default template name
 139 007:pg_pattern:template:DEFAULT:name=foo,type=framework,target=this,required=true
 140 007:prop_pattern:pg_pattern:foo:name=foo_prop,type=net_address_v6,required=true
 141 007:property_group:service:DEFAULT:name=foo,type=framework
 142 007:create_default_instance:service:DEFAULT:false
 143 007:valid:propval:property_group:foo:name=foo_prop,type=net_address_v6,value=fe80::203:baff:fe41:605b
 144 007:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=astring,value=fooval
 145 007:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=integer,value=10
 146 007:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=ustring,value=foo val
 147 007:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=host,value=hostfoo
 148 007:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=hostname,value=hostfoo
 149 007:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=net_address_v4,value=10.0.0.1
 150 007:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=boolean,value=true
 151 007:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=fmri,value=svc:/system/console-login:default
 152 
 153 #
 154 # Test boolean property type
 155 #
 156 008:common_name:template:DEFAULT:C,Default template name
 157 008:pg_pattern:template:DEFAULT:name=foo,type=framework,target=this,required=true
 158 008:prop_pattern:pg_pattern:foo:name=foo_prop,type=boolean,required=true
 159 008:property_group:service:DEFAULT:name=foo,type=framework
 160 008:create_default_instance:service:DEFAULT:false
 161 008:valid:propval:property_group:foo:name=foo_prop,type=boolean,value=true
 162 008:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=astring,value=fooval
 163 008:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=integer,value=10
 164 008:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=ustring,value=foo val
 165 008:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=host,value=hostfoo
 166 008:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=hostname,value=hostfoo
 167 008:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=net_address_v4,value=10.0.0.1
 168 008:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=net_address_v6,value=fe80::203:baff:fe41:605b
 169 008:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=fmri,value=svc:/system/console-login:default
 170 
 171 #
 172 # Test fmri property type
 173 #
 174 009:common_name:template:DEFAULT:C,Default template name
 175 009:pg_pattern:template:DEFAULT:name=foo,type=framework,target=this,required=true
 176 009:prop_pattern:pg_pattern:foo:name=foo_prop,type=fmri,required=true
 177 009:property_group:service:DEFAULT:name=foo,type=framework
 178 009:create_default_instance:service:DEFAULT:false
 179 009:valid:propval:property_group:foo:name=foo_prop,type=fmri,value=svc:/system/console-login:default
 180 009:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=astring,value=fooval
 181 009:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=integer,value=10
 182 009:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=ustring,value=foo val
 183 009:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=host,value=hostfoo
 184 009:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=hostname,value=hostfoo
 185 009:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=net_address_v4,value=10.0.0.1
 186 009:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=net_address_v6,value=fe80::203:baff:fe41:605b
 187 009:invalid:SCF_TERR_WRONG_PROP_TYPE:propval:property_group:foo:name=foo_prop,type=boolean,value=true
 188 
 189 #
 190 # Test pg_pattern thats required but doesn't exist
 191 #
 192 010:common_name:template:DEFAULT:C,Default template name
 193 010:pg_pattern:template:DEFAULT:name=foo,type=framework,target=this,required=true
 194 010:valid:property_group:service:DEFAULT:name=foo,type=framework
 195 010:create_default_instance:service:DEFAULT:false
 196 010:invalid:SCF_TERR_MISSING_PG:property_group:service:DEFAULT:name=bar,type=framework
 197 
 198 #
 199 # Test prop_pattern that is required but doesn't exist
 200 #
 201 011:common_name:template:DEFAULT:C,Default template name
 202 011:pg_pattern:template:DEFAULT:name=foo,type=framework,target=this,required=true
 203 011:prop_pattern:pg_pattern:foo:name=foo_prop,type=astring,required=true
 204 011:property_group:service:DEFAULT:name=foo,type=framework
 205 011:create_default_instance:service:DEFAULT:false
 206 011:valid:propval:property_group:foo:name=foo_prop,type=astring,value=fooval
 207 011:invalid:SCF_TERR_MISSING_PROP:propval:property_group:foo:name=bar_prop,type=astring,value=fooval
 208 
 209 #
 210 # Test pg_pattern type match and mismatch
 211 #
 212 012:common_name:template:DEFAULT:C,Default template name
 213 012:pg_pattern:template:DEFAULT:name=foo,type=framework,target=this,required=false
 214 012:valid:property_group:service:DEFAULT:name=foo,type=framework
 215 012:create_default_instance:service:DEFAULT:false
 216 012:invalid:SCF_TERR_WRONG_PG_TYPE:property_group:service:DEFAULT:name=foo,type=application
 217 
 218 #
 219 # Test cardinality validity
 220 #
 221 013:common_name:template:DEFAULT:C,Default template name
 222 013:pg_pattern:template:DEFAULT:name=foo,type=framework,target=this,required=true
 223 013:prop_pattern:pg_pattern:foo:name=foo_prop,type=astring,required=true
 224 013:cardinality:prop_pattern:foo_prop:min=2,max=4
 225 013:property_group:service:DEFAULT:name=foo,type=framework
 226 013:create_default_instance:service:DEFAULT:false
 227 013:property:property_group:foo:name=foo_prop,type=astring
 228 013:valid:astring_list:property:foo_prop:foo1,foo2
 229 013:valid:astring_list:property:foo_prop:foo1,foo2,foo3
 230 013:valid:astring_list:property:foo_prop:foo1,foo2,foo3,foo4
 231 013:invalid:SCF_TERR_CARDINALITY_VIOLATION:astring_list:property:foo_prop:foo1
 232 013:invalid:SCF_TERR_CARDINALITY_VIOLATION:astring_list:property:foo_prop:foo1,foo2,foo3,foo4,foo5
 233 
 234 #
 235 # Test constraints ranges
 236 #
 237 014:common_name:template:DEFAULT:C,Default template name
 238 014:pg_pattern:template:DEFAULT:name=foo,type=framework,target=this,required=true
 239 014:prop_pattern:pg_pattern:foo:name=foo_prop,type=integer,required=true
 240 014:constraints:prop_pattern:foo_prop:ident=foo_prop_constraints
 241 014:range:constraints:foo_prop_constraints:min=5,max=200
 242 014:property_group:service:DEFAULT:name=foo,type=framework
 243 014:create_default_instance:service:DEFAULT:false
 244 014:valid:propval:property_group:foo:name=foo_prop,type=integer,value=10
 245 014:invalid:SCF_TERR_RANGE_VIOLATION:propval:property_group:foo:name=foo_prop,type=integer,value=3
 246 014:invalid:SCF_TERR_RANGE_VIOLATION:propval:property_group:foo:name=foo_prop,type=integer,value=250
 247 
 248 #
 249 # Test constraints values
 250 #
 251 015:common_name:template:DEFAULT:C,Default template name
 252 015:pg_pattern:template:DEFAULT:name=foo,type=framework,target=this,required=true
 253 015:prop_pattern:pg_pattern:foo:name=foo_prop,type=astring,required=true
 254 015:constraints:prop_pattern:foo_prop:ident=foo_prop_constraints
 255 015:value:constraints:foo_prop_constraints:name=constraint_1
 256 015:value:constraints:foo_prop_constraints:name=constraint_2
 257 015:value:constraints:foo_prop_constraints:name=constraint_3
 258 015:property_group:service:DEFAULT:name=foo,type=framework
 259 015:create_default_instance:service:DEFAULT:false
 260 015:valid:propval:property_group:foo:name=foo_prop,type=astring,value=constraint_1
 261 015:valid:propval:property_group:foo:name=foo_prop,type=astring,value=constraint_2
 262 015:valid:propval:property_group:foo:name=foo_prop,type=astring,value=constraint_3
 263 015:invalid:SCF_TERR_VALUE_CONSTRAINT_VIOLATED:propval:property_group:foo:name=foo_prop,type=astring,value=constraint_4
 264 015:invalid:SCF_TERR_VALUE_CONSTRAINT_VIOLATED:propval:property_group:foo:name=foo_prop,type=astring,value=constraint
 265 015:invalid:SCF_TERR_VALUE_CONSTRAINT_VIOLATED:propval:property_group:foo:name=foo_prop,type=astring,value=bogus
 266 
 267 #
 268 # Unique values
 269 #
 270 016:common_name:template:DEFAULT:C,Default template name
 271 016:pg_pattern:template:DEFAULT:name=foo,type=framework,target=this,required=true
 272 016:prop_pattern:pg_pattern:foo:name=foo_prop,type=integer,required=true
 273 016:pg_pattern:template:DEFAULT:name=foonotype,target=this,required=false
 274 016:pg_pattern:template:DEFAULT:type=foononame,target=this,required=false
 275 016:property_group:service:DEFAULT:name=foo,type=framework
 276 016:create_default_instance:service:DEFAULT:false
 277 016:invalid:ERR_UNIQUE_NAME_TYPE:pg_pattern:template:DEFAULT:name=foo,type=framework,target=this,required=false
 278 016:invalid:ERR_UNIQUE_NAME:pg_pattern:template:DEFAULT:name=foonotype,target=this,required=false
 279 016:invalid:ERR_UNIQUE_TYPE:pg_pattern:template:DEFAULT:type=foononame,target=this,required=false