Changeset 24301
- Timestamp:
- Jun 2, 2009, 11:51:31 AM (17 years ago)
- File:
-
- 1 edited
-
trunk/Nebulous/t/66_client_xattr.t (modified) (15 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Nebulous/t/66_client_xattr.t
r17750 r24301 1 1 #!/usr/bin/perl 2 2 3 # Copryight (C) 2007-2008 Joshua Hoblitt 4 # 5 # $Id: 66_client_xattr.t,v 1.1 2008-05-20 00:54:30 jhoblitt Exp $ 3 # Copryight (C) 2007-2009 Joshua Hoblitt 6 4 7 5 use strict; … … 9 7 10 8 use Apache::Test qw( -withtestmore ); 11 plan tests => 32; 12 9 plan tests => 44; 13 10 14 11 use lib qw( ./t ./lib ); … … 20 17 my $hostport = Apache::Test->config->{ 'hostport' }; 21 18 19 my $neb = Nebulous::Client->new( 20 proxy => "http://$hostport/nebulous", 21 ); 22 22 23 # 1 key / xattr 23 24 … … 25 26 26 27 { 27 my $neb = Nebulous::Client->new(28 proxy => "http://$hostport/nebulous",29 );30 31 28 my $uri = $neb->create('foo'); 32 29 33 ok($neb->setxattr('foo', ' bar', 'baz', 'create'), 'set object xattr');30 ok($neb->setxattr('foo', 'user.bar', 'baz', 'create'), 'set object xattr'); 34 31 { 35 32 my $xattrs = $neb->listxattr('foo'); 36 33 is(scalar @$xattrs, 1, 'number of xattrs'); 37 is(@$xattrs[0], ' bar', 'xattr name');38 } 39 40 my $value = $neb->getxattr('foo', ' bar');34 is(@$xattrs[0], 'user.bar', 'xattr name'); 35 } 36 37 my $value = $neb->getxattr('foo', 'user.bar'); 41 38 is($value, 'baz', 'xattr value'); 42 39 43 ok($neb->removexattr('foo', ' bar'), "remove object xattr");40 ok($neb->removexattr('foo', 'user.bar'), "remove object xattr"); 44 41 { 45 42 my $xattrs = $neb->listxattr('foo'); … … 53 50 54 51 { 55 my $neb = Nebulous::Client->new(56 proxy => "http://$hostport/nebulous",57 );58 59 52 my $uri = $neb->create('foo'); 60 53 61 ok($neb->setxattr('foo', ' bar', 'baz', 'create'), 'set object xattr');62 ok($neb->setxattr('foo', ' bonk', 'quix', 'create'), 'set object xattr');54 ok($neb->setxattr('foo', 'user.bar', 'baz', 'create'), 'set object xattr'); 55 ok($neb->setxattr('foo', 'user.bonk', 'quix', 'create'), 'set object xattr'); 63 56 64 57 { 65 58 my $xattrs = $neb->listxattr('foo'); 66 59 is(scalar @$xattrs, 2, 'number of xattrs'); 67 is(@$xattrs[0], ' bar', 'xattr name');68 is(@$xattrs[1], ' bonk', 'xattr name');69 } 70 71 my $value = $neb->getxattr('foo', ' bar');60 is(@$xattrs[0], 'user.bar', 'xattr name'); 61 is(@$xattrs[1], 'user.bonk', 'xattr name'); 62 } 63 64 my $value = $neb->getxattr('foo', 'user.bar'); 72 65 is($value, 'baz', 'xattr value'); 73 $value = $neb->getxattr('foo', ' bonk');66 $value = $neb->getxattr('foo', 'user.bonk'); 74 67 is($value, 'quix', 'xattr value'); 75 68 76 ok($neb->removexattr('foo', ' bar'), "remove object xattr");77 ok($neb->removexattr('foo', ' bonk'), "remove object xattr");69 ok($neb->removexattr('foo', 'user.bar'), "remove object xattr"); 70 ok($neb->removexattr('foo', 'user.bonk'), "remove object xattr"); 78 71 { 79 72 my $xattrs = $neb->listxattr('foo'); … … 87 80 88 81 { 89 my $neb = Nebulous::Client->new(90 proxy => "http://$hostport/nebulous",91 );92 93 82 my $uri = $neb->create('foo'); 94 83 95 ok($neb->setxattr('foo', ' bar', 'baz', 'create'), 'set object xattr');96 ok($neb->setxattr('foo', ' bar', 'quix', 'replace'), 're-set object xattr');84 ok($neb->setxattr('foo', 'user.bar', 'baz', 'create'), 'set object xattr'); 85 ok($neb->setxattr('foo', 'user.bar', 'quix', 'replace'), 're-set object xattr'); 97 86 98 87 { 99 88 my $xattrs = $neb->listxattr('foo'); 100 89 is(scalar @$xattrs, 1, 'number of xattrs'); 101 is(@$xattrs[0], ' bar', 'xattr name');102 } 103 104 my $value = $neb->getxattr('foo', ' bar');90 is(@$xattrs[0], 'user.bar', 'xattr name'); 91 } 92 93 my $value = $neb->getxattr('foo', 'user.bar'); 105 94 is($value, 'quix', 'xattr value'); 106 95 107 ok($neb->removexattr('foo', ' bar'), "remove object xattr");96 ok($neb->removexattr('foo', 'user.bar'), "remove object xattr"); 108 97 { 109 98 my $xattrs = $neb->listxattr('foo'); … … 117 106 118 107 eval { 119 my $neb = Nebulous::Client->new( 120 proxy => "http://$hostport/nebulous", 121 ); 122 108 $neb->setxattr('foo', 'user.bar', 'baz', 'create'); 109 }; 110 like($@, qr/is valid object key/, "create xattr on non-existant key"); 111 112 Test::Nebulous->setup; 113 114 eval { 115 $neb->create('foo'); 116 117 $neb->setxattr('foo', 'luser.bar', 'baz', 'create'); 118 }; 119 like($@, qr/xattr is in user. namespace/, "user. namspace"); 120 121 Test::Nebulous->setup; 122 123 eval { 124 $neb->setxattr('foo', 'user.bar', 'baz', 'replace'); 125 }; 126 like($@, qr/is valid object key/, "replace xattr on non-existant key"); 127 128 Test::Nebulous->setup; 129 130 eval { 123 131 $neb->setxattr(); 124 132 }; … … 128 136 129 137 eval { 130 my $neb = Nebulous::Client->new( 131 proxy => "http://$hostport/nebulous", 132 ); 133 134 $neb->create('foo'); 135 136 $neb->setxattr('foo', 'bar'); 138 $neb->create('foo'); 139 140 $neb->setxattr('foo', 'user.bar'); 137 141 }; 138 142 like($@, qr/4 were expected/, "too few params"); … … 141 145 142 146 eval { 143 my $neb = Nebulous::Client->new( 144 proxy => "http://$hostport/nebulous", 145 ); 146 147 $neb->create('foo'); 148 149 $neb->setxattr('foo', 'bar', 'baz'); 147 $neb->create('foo'); 148 149 $neb->setxattr('foo', 'user.bar', 'baz'); 150 150 }; 151 151 like($@, qr/4 were expected/, "too few params"); … … 154 154 155 155 eval { 156 my $neb = Nebulous::Client->new( 157 proxy => "http://$hostport/nebulous", 158 ); 159 160 $neb->create('foo'); 161 162 $neb->setxattr('foo', 'bar', 'baz', 'create', 'quix'); 156 $neb->create('foo'); 157 158 $neb->setxattr('foo', 'user.bar', 'baz', 'create', 'quix'); 163 159 }; 164 160 like($@, qr/4 were expected/, "too many params"); 165 161 162 # getxattr 163 164 Test::Nebulous->setup; 165 166 eval { 167 $neb->getxattr('foo', 'bar'); 168 }; 169 like($@, qr/is valid object key/, "get xattr from non-existant nebulous key"); 170 171 Test::Nebulous->setup; 172 173 eval { 174 $neb->create('foo'); 175 176 $neb->getxattr('foo', 'luser.bar'); 177 }; 178 like($@, qr/xattr is in user. namespace/, "user. namespace"); 179 180 Test::Nebulous->setup; 181 182 eval { 183 $neb->create('foo'); 184 $neb->getxattr('foo', 'user.bar'); 185 }; 186 like($@, qr|xattr neb:///foo:user.bar does not exist|, 187 "get xattr from non-existant xattr key"); 188 189 Test::Nebulous->setup; 190 191 eval { 192 $neb->getxattr(); 193 }; 194 like($@, qr/2 were expected/, "no params"); 195 196 Test::Nebulous->setup; 197 198 eval { 199 $neb->create('foo'); 200 201 $neb->getxattr('foo'); 202 }; 203 like($@, qr/2 were expected/, "too few params"); 204 205 Test::Nebulous->setup; 206 207 eval { 208 $neb->create('foo'); 209 210 $neb->getxattr('foo', 'user.bar', 'baz'); 211 }; 212 like($@, qr/2 were expected/, "too many params"); 213 166 214 # listxattr 167 215 … … 169 217 170 218 eval { 171 my $neb = Nebulous::Client->new(172 proxy => "http://$hostport/nebulous",173 );174 175 219 $neb->create('foo'); 176 220 … … 182 226 183 227 eval { 184 my $neb = Nebulous::Client->new(185 proxy => "http://$hostport/nebulous",186 );187 188 228 $neb->create('foo'); 189 229 … … 192 232 like($@, qr/1 was expected/, "too many params"); 193 233 194 # getxattr 195 196 Test::Nebulous->setup; 197 198 eval { 199 my $neb = Nebulous::Client->new( 200 proxy => "http://$hostport/nebulous", 201 ); 202 203 $neb->getxattr(); 234 # removexattr 235 236 Test::Nebulous->setup; 237 238 eval { 239 $neb->removexattr('foo', 'user.bar'); 240 }; 241 like($@, qr/is valid object key/, "remove xattr from non-existant nebulous key"); 242 243 Test::Nebulous->setup; 244 245 eval { 246 $neb->create('foo'); 247 248 $neb->getxattr('foo', 'luser.bar'); 249 }; 250 like($@, qr/xattr is in user. namespace/, "user. namespace"); 251 252 Test::Nebulous->setup; 253 254 eval { 255 $neb->create('foo'); 256 $neb->removexattr('foo', 'user.bar'); 257 }; 258 like($@, qr|xattr neb:///foo:user.bar does not exist|, 259 "remove xattr from non-existant xattr key"); 260 261 Test::Nebulous->setup; 262 263 eval { 264 $neb->removexattr(); 204 265 }; 205 266 like($@, qr/2 were expected/, "no params"); … … 208 269 209 270 eval { 210 my $neb = Nebulous::Client->new( 211 proxy => "http://$hostport/nebulous", 212 ); 213 214 $neb->create('foo'); 215 216 $neb->getxattr('foo'); 271 $neb->create('foo'); 272 273 $neb->removexattr('foo'); 217 274 }; 218 275 like($@, qr/2 were expected/, "too few params"); … … 221 278 222 279 eval { 223 my $neb = Nebulous::Client->new( 224 proxy => "http://$hostport/nebulous", 225 ); 226 227 $neb->create('foo'); 228 229 $neb->getxattr('foo', 'bar', 'baz'); 280 $neb->create('foo'); 281 282 $neb->removexattr('foo', 'user.bar', 'baz'); 230 283 }; 231 284 like($@, qr/2 were expected/, "too many params");
Note:
See TracChangeset
for help on using the changeset viewer.
