Changeset 23932 for trunk/Nebulous-Server/t
- Timestamp:
- Apr 20, 2009, 11:15:20 AM (17 years ago)
- Location:
- trunk/Nebulous-Server
- Files:
-
- 10 edited
- 1 copied
-
. (modified) (1 prop)
-
t/01_load.t (modified) (1 diff)
-
t/02_config.t (copied) (copied from trunk/Nebulous-Server/t/02_config.t ) (1 diff)
-
t/02_server_setup.t (modified) (2 diffs)
-
t/03_server_create_object.t (modified) (3 diffs)
-
t/08_server_delete_instance.t (modified) (5 diffs)
-
t/10_server_is_valid_volume_name.t (modified) (1 diff)
-
t/12_server_find_objects.t (modified) (5 diffs)
-
t/13_server_rename_object.t (modified) (3 diffs)
-
t/16_server_swap_objects.t (modified) (2 diffs)
-
t/75_parse_neb_key.t (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Nebulous-Server
-
Property svn:mergeinfo
set to
/branches/neb_distrib_20081210/Nebulous-Server merged eligible /trunk/Nebulous-Server merged eligible
-
Property svn:mergeinfo
set to
-
trunk/Nebulous-Server/t/01_load.t
r17076 r23932 12 12 use Test::More tests => 5; 13 13 14 BEGIN { use_ok( 'Nebulous::Key s' ); }14 BEGIN { use_ok( 'Nebulous::Key' ); } 15 15 BEGIN { use_ok( 'Nebulous::Server' ); } 16 16 BEGIN { use_ok( 'Nebulous::Server::Log' ); } -
trunk/Nebulous-Server/t/02_config.t
r23931 r23932 3 3 # Copryight (C) 2004-2005 Joshua Hoblitt 4 4 # 5 # $Id: 02_config.t,v 1.1 2008-12-12 21:13:41 jhoblittExp $5 # $Id: 02_config.t,v 1.1.2.2 2008-12-14 22:52:37 eugene Exp $ 6 6 7 7 use strict; -
trunk/Nebulous-Server/t/02_server_setup.t
r20990 r23932 8 8 use warnings; 9 9 10 use Test::More tests => 2;10 use Test::More tests => 6; 11 11 12 12 use lib qw( ./t ./lib ); … … 17 17 Test::Nebulous->setup; 18 18 19 isa_ok( 20 Nebulous::Server->new( 21 dsn => $NEB_DB, 22 dbuser => $NEB_USER, 23 dbpasswd => $NEB_PASS, 24 ), 25 "Nebulous::Server" 26 ); 19 isa_ok(Nebulous::Server->new(), "Nebulous::Server"); 27 20 28 21 Test::Nebulous->setup; 29 22 30 eval { 31 Nebulous::Server->new( 23 # ->new() 24 { 25 my $neb = Nebulous::Server->new( trace => 'off' ); 26 27 ok($neb, "set log level"); 28 } 29 30 Test::Nebulous->setup; 31 32 { 33 my $neb = Nebulous::Server->new( 32 34 dsn => "DBI:mysql:database=foobar:host=localhost", 33 35 dbuser => "baz", 34 36 dbpasswd =>"boo", 35 37 ); 36 }; 37 like( $@, qr/DBI connect.*? failed/, "bad dsn/user/pass" ); 38 39 ok($neb, "set database"); 40 } 41 42 Test::Nebulous->setup; 43 44 # add dbs after ->new() 45 { 46 my $neb = Nebulous::Server->new; 47 48 ok($neb->config->add_db( 49 dbindex => 0, 50 dsn => "DBI:mysql:database=foobar:host=localhost", 51 dbuser => "baz", 52 dbpasswd =>"boo", 53 ), "add db"); 54 55 ok($neb->config->add_db( 56 dbindex => 1, 57 dsn => "DBI:mysql:database=foobar:host=localhost", 58 dbuser => "baz", 59 dbpasswd =>"boo", 60 ), "add dbs"); 61 62 is($neb->config->n_db, 2, "n dbs") 63 } 38 64 39 65 Test::Nebulous->cleanup; -
trunk/Nebulous-Server/t/03_server_create_object.t
r19493 r23932 8 8 use warnings FATAL => qw( all ); 9 9 10 use Test::More tests => 89;10 use Test::More tests => 99; 11 11 12 12 use lib qw( ./t ./lib ); 13 13 14 use File::Basename qw( basename ); 14 15 use File::ExtAttr qw( getfattr ); 15 16 use Nebulous::Server; … … 26 27 ); 27 28 29 use Test::DBUnit dsn => $NEB_DB, username => $NEB_USER, password => $NEB_PASS; 30 28 31 Test::Nebulous->setup; 29 32 … … 334 337 } 335 338 339 # test for properly row creation in the directories table 340 341 Test::Nebulous->setup; 342 343 { 344 my $key = "foo"; 345 $neb->create_object($key); 346 347 expected_dataset_ok( 348 directory => [dir_id => 1, dirname => '/', parent_id => 1], 349 storage_object => [so_id => 1, ext_id => $key, dir_id => 1], 350 ); 351 } 352 353 Test::Nebulous->setup; 354 355 { 356 my $key = "a/foo"; 357 $neb->create_object($key); 358 359 expected_dataset_ok( 360 directory => [dir_id => 1, dirname => '/', parent_id => 1], 361 directory => [dir_id => 2, dirname => 'a', parent_id => 1], 362 storage_object => [so_id => 1, ext_id => $key, ext_id_basename => basename($key), dir_id => 2], 363 ); 364 365 } 366 367 Test::Nebulous->setup; 368 369 { 370 my $key = "a/b/foo"; 371 $neb->create_object($key); 372 373 expected_dataset_ok( 374 directory => [dir_id => 1, dirname => '/', parent_id => 1], 375 directory => [dir_id => 2, dirname => 'a', parent_id => 1], 376 directory => [dir_id => 3, dirname => 'b', parent_id => 2], 377 storage_object => [so_id => 1, ext_id => $key, ext_id_basename => basename($key), dir_id => 3], 378 ); 379 } 380 381 Test::Nebulous->setup; 382 383 { 384 my $key = "a/b/c/foo"; 385 $neb->create_object($key); 386 387 expected_dataset_ok( 388 directory => [dir_id => 1, dirname => '/', parent_id => 1], 389 directory => [dir_id => 2, dirname => 'a', parent_id => 1], 390 directory => [dir_id => 3, dirname => 'b', parent_id => 2], 391 directory => [dir_id => 4, dirname => 'c', parent_id => 3], 392 storage_object => [so_id => 1, ext_id => $key, ext_id_basename => basename($key), dir_id => 4], 393 ); 394 } 395 396 Test::Nebulous->setup; 397 398 { 399 my $key1 = "a/b/c/foo"; 400 my $key2 = "foo"; 401 $neb->create_object($key1); 402 $neb->create_object($key2); 403 404 expected_dataset_ok( 405 directory => [dir_id => 1, dirname => '/', parent_id => 1], 406 storage_object => [so_id => 2, ext_id => $key2, ext_id_basename => basename($key2), dir_id => 1], 407 directory => [dir_id => 2, dirname => 'a', parent_id => 1], 408 directory => [dir_id => 3, dirname => 'b', parent_id => 2], 409 directory => [dir_id => 4, dirname => 'c', parent_id => 3], 410 storage_object => [so_id => 1, ext_id => $key1, ext_id_basename => basename($key1), dir_id => 4], 411 ); 412 } 413 414 Test::Nebulous->setup; 415 416 { 417 my $key1 = "a/b/c/foo"; 418 my $key2 = "a/foo"; 419 $neb->create_object($key1); 420 $neb->create_object($key2); 421 422 expected_dataset_ok( 423 directory => [dir_id => 1, dirname => '/', parent_id => 1], 424 directory => [dir_id => 2, dirname => 'a', parent_id => 1], 425 storage_object => [so_id => 2, ext_id => $key2, ext_id_basename => basename($key2), dir_id => 2], 426 directory => [dir_id => 3, dirname => 'b', parent_id => 2], 427 directory => [dir_id => 4, dirname => 'c', parent_id => 3], 428 storage_object => [so_id => 1, ext_id => $key1, ext_id_basename => basename($key1), dir_id => 4], 429 ); 430 } 431 432 Test::Nebulous->setup; 433 434 { 435 my $key1 = "a/b/c/foo"; 436 my $key2 = "d/foo"; 437 $neb->create_object($key1); 438 $neb->create_object($key2); 439 440 expected_dataset_ok( 441 directory => [dir_id => 1, dirname => '/', parent_id => 1], 442 directory => [dir_id => 2, dirname => 'a', parent_id => 1], 443 directory => [dir_id => 3, dirname => 'b', parent_id => 2], 444 directory => [dir_id => 4, dirname => 'c', parent_id => 3], 445 storage_object => [so_id => 1, ext_id => $key1, ext_id_basename => basename($key1), dir_id => 4], 446 directory => [dir_id => 5, dirname => 'd', parent_id => 1], 447 storage_object => [so_id => 2, ext_id => $key2, ext_id_basename => basename($key2), dir_id => 5], 448 ); 449 } 450 451 Test::Nebulous->setup; 452 453 { 454 my $key1 = "a/b/c/foo"; 455 my $key2 = "a/d/foo"; 456 $neb->create_object($key1); 457 $neb->create_object($key2); 458 459 expected_dataset_ok( 460 directory => [dir_id => 1, dirname => '/', parent_id => 1], 461 directory => [dir_id => 2, dirname => 'a', parent_id => 1], 462 directory => [dir_id => 3, dirname => 'b', parent_id => 2], 463 directory => [dir_id => 4, dirname => 'c', parent_id => 3], 464 storage_object => [so_id => 1, ext_id => $key1, ext_id_basename => basename($key1), dir_id => 4], 465 directory => [dir_id => 5, dirname => 'd', parent_id => 2], 466 storage_object => [so_id => 2, ext_id => $key2, ext_id_basename => basename($key2), dir_id => 5], 467 ); 468 } 469 470 Test::Nebulous->setup; 471 472 { 473 my $key1 = "a/b/c/foo"; 474 my $key2 = "d/a/foo"; 475 $neb->create_object($key1); 476 $neb->create_object($key2); 477 478 expected_dataset_ok( 479 directory => [dir_id => 1, dirname => '/', parent_id => 1], 480 directory => [dir_id => 2, dirname => 'a', parent_id => 1], 481 directory => [dir_id => 3, dirname => 'b', parent_id => 2], 482 directory => [dir_id => 4, dirname => 'c', parent_id => 3], 483 storage_object => [so_id => 1, ext_id => $key1, ext_id_basename => basename($key1), dir_id => 4], 484 directory => [dir_id => 5, dirname => 'd', parent_id => 1], 485 directory => [dir_id => 6, dirname => 'a', parent_id => 5], 486 storage_object => [so_id => 2, ext_id => $key2, ext_id_basename => basename($key2), dir_id => 6], 487 ); 488 } 489 490 Test::Nebulous->setup; 491 492 { 493 my $key1 = "a/b/c/foo"; 494 my $key2 = "a/b/c/d/foo"; 495 $neb->create_object($key1); 496 $neb->create_object($key2); 497 498 expected_dataset_ok( 499 directory => [dir_id => 1, dirname => '/', parent_id => 1], 500 directory => [dir_id => 2, dirname => 'a', parent_id => 1], 501 directory => [dir_id => 3, dirname => 'b', parent_id => 2], 502 directory => [dir_id => 4, dirname => 'c', parent_id => 3], 503 storage_object => [so_id => 1, ext_id => $key1, ext_id_basename => basename($key1), dir_id => 4], 504 directory => [dir_id => 5, dirname => 'd', parent_id => 4], 505 storage_object => [so_id => 2, ext_id => $key2, ext_id_basename => basename($key2), dir_id => 5], 506 ); 507 } 508 336 509 Test::Nebulous->setup; 337 510 -
trunk/Nebulous-Server/t/08_server_delete_instance.t
r20990 r23932 3 3 # Copryight (C) 2004-2005 Joshua Hoblitt 4 4 # 5 # $Id: 08_server_delete_instance.t,v 1.1 2 2008-12-14 22:54:25eugene Exp $5 # $Id: 08_server_delete_instance.t,v 1.10.22.1 2008-12-14 22:52:37 eugene Exp $ 6 6 7 7 use strict; … … 24 24 25 25 { 26 my $uri = $neb->create_object("foo"); 26 my $key = "foo"; 27 my $uri = $neb->create_object($key); 27 28 28 ok($neb->delete_instance($ uri), "delete instance");29 ok($neb->delete_instance($key, $uri), "delete instance"); 29 30 } 30 31 … … 32 33 33 34 { 34 my $uri1 = $neb->create_object("foo"); 35 my $uri2 = $neb->replicate_object("foo"); 35 my $key = "foo"; 36 my $uri1 = $neb->create_object($key); 37 my $uri2 = $neb->replicate_object($key); 36 38 37 ok($neb->delete_instance($ uri1), "delete instance");39 ok($neb->delete_instance($key, $uri1), "delete instance"); 38 40 39 my $locations = $neb->find_instances( "foo");41 my $locations = $neb->find_instances($key); 40 42 41 43 is($locations->[0], $uri2, "instance remains"); 42 44 43 ok($neb->delete_instance( $uri2), "delete instance");45 ok($neb->delete_instance($key, $uri2), "delete instance"); 44 46 45 47 eval { 46 $neb->find_instances( "foo");48 $neb->find_instances($key); 47 49 }; 48 50 like($@, qr/is valid object key/, "storage object was deleted"); … … 52 54 53 55 eval { 54 $neb->delete_instance("file:/foo"); 56 my $key = "foo"; 57 my $uri1 = $neb->create_object($key); 58 59 $neb->delete_instance($key, "file:/foo"); 55 60 }; 56 61 like($@, qr/no instance is associated with uri/, "uri does not exist"); … … 61 66 $neb->delete_instance(); 62 67 }; 63 like($@, qr/ 1 wasexpected/, "no params");68 like($@, qr/2 were expected/, "no params"); 64 69 65 70 Test::Nebulous->setup; 66 71 67 72 eval { 68 $neb->delete_instance("foo", 2); 73 my $key = "foo"; 74 my $uri1 = $neb->create_object($key); 75 76 $neb->delete_instance("foo", 2, 3); 69 77 }; 70 like($@, qr/ 1 wasexpected/, "too many params");78 like($@, qr/2 were expected/, "too many params"); 71 79 72 80 Test::Nebulous->cleanup; -
trunk/Nebulous-Server/t/10_server_is_valid_volume_name.t
r20990 r23932 23 23 Test::Nebulous->setup; 24 24 25 ok($neb->_is_valid_volume_name(' node01'), "valid volume name");25 ok($neb->_is_valid_volume_name('foo', 'node01'), "valid volume name"); 26 26 27 27 Test::Nebulous->setup; 28 28 29 ok($neb->_is_valid_volume_name(' node02'), "valid volume name");29 ok($neb->_is_valid_volume_name('foo', 'node02'), "valid volume name"); 30 30 31 31 Test::Nebulous->setup; 32 32 33 is($neb->_is_valid_volume_name(' node99'), undef, "invalid volume name");33 is($neb->_is_valid_volume_name('foo', 'node99'), undef, "invalid volume name"); 34 34 35 35 Test::Nebulous->cleanup; -
trunk/Nebulous-Server/t/12_server_find_objects.t
r17717 r23932 8 8 use warnings FATAL => qw( all ); 9 9 10 use Test::More tests => 6;10 use Test::More tests => 28; 11 11 12 12 use lib qw( ./t ./lib ); … … 25 25 # search for a regex of '' should match nothing 26 26 eval { 27 # key 28 my $uri = $neb->create_object("foo"); 27 $neb->create_object("foo"); 29 28 30 29 my $keys = $neb->find_objects(); … … 35 34 36 35 { 37 # key 38 my $uri = $neb->create_object("foo"); 36 $neb->create_object("foo"); 39 37 40 38 my $keys = $neb->find_objects("foo"); … … 48 46 { 49 47 # key 50 my $uri1 =$neb->create_object("foo");51 my $uri2 =$neb->replicate_object("foo");48 $neb->create_object("foo"); 49 $neb->replicate_object("foo"); 52 50 53 51 my $keys = $neb->find_objects("foo"); … … 55 53 is(scalar @$keys, 1, 'number of keys found'); 56 54 is($keys->[0], "foo", "key name"); 55 } 56 57 Test::Nebulous->setup; 58 59 { 60 # key 61 $neb->create_object("foo"); 62 $neb->create_object("bar"); 63 64 my $keys = $neb->find_objects("foo"); 65 66 is(scalar @$keys, 1, 'number of keys found'); 67 is($keys->[0], "foo", "key name"); 68 } 69 70 # test recursive dir searching 71 Test::Nebulous->setup; 72 73 { 74 $neb->create_object("a/foo"); 75 76 my $keys = $neb->find_objects("a"); 77 78 is(scalar @$keys, 1, 'number of keys found'); 79 is($keys->[0], "a/foo", "key name"); 80 } 81 82 Test::Nebulous->setup; 83 84 { 85 $neb->create_object("a/foo"); 86 $neb->create_object("b/foo"); 87 88 my $keys = $neb->find_objects("a"); 89 90 is(scalar @$keys, 1, 'number of keys found'); 91 is($keys->[0], "a/foo", "key name"); 92 } 93 94 Test::Nebulous->setup; 95 96 { 97 $neb->create_object("a/foo"); 98 $neb->create_object("a/b/foo"); 99 100 my $keys = $neb->find_objects("a"); 101 102 is(scalar @$keys, 1, 'number of keys found'); 103 is($keys->[0], "a/foo", "key name"); 104 } 105 106 Test::Nebulous->setup; 107 108 { 109 $neb->create_object("a/foo"); 110 $neb->create_object("a/bar"); 111 112 my $keys = $neb->find_objects("a"); 113 114 is(scalar @$keys, 2, 'number of keys found'); 115 is($keys->[0], "a/foo", "key name"); 116 is($keys->[1], "a/bar", "key name"); 117 } 118 119 Test::Nebulous->setup; 120 121 { 122 $neb->create_object("a/foo"); 123 $neb->create_object("bar"); 124 125 my $keys = $neb->find_objects("a"); 126 127 is(scalar @$keys, 1, 'number of keys found'); 128 is($keys->[0], "a/foo", "key name"); 129 } 130 131 Test::Nebulous->setup; 132 133 { 134 $neb->create_object("a/foo"); 135 $neb->create_object("foo"); 136 $neb->create_object("bar"); 137 138 my $keys = $neb->find_objects("/"); 139 140 is(scalar @$keys, 2, 'number of keys found'); 141 is($keys->[0], "foo", "key name"); 142 is($keys->[1], "bar", "key name"); 143 } 144 145 Test::Nebulous->setup; 146 147 { 148 $neb->create_object("a/foo"); 149 $neb->create_object("foo"); 150 $neb->create_object("bar"); 151 152 my $keys = $neb->find_objects("."); 153 154 is(scalar @$keys, 2, 'number of keys found'); 155 is($keys->[0], "foo", "key name"); 156 is($keys->[1], "bar", "key name"); 157 } 158 159 Test::Nebulous->setup; 160 161 { 162 $neb->create_object("a/foo"); 163 $neb->create_object("foo"); 164 $neb->create_object("bar"); 165 166 my $keys = $neb->find_objects(".."); 167 168 is(scalar @$keys, 2, 'number of keys found'); 169 is($keys->[0], "foo", "key name"); 170 is($keys->[1], "bar", "key name"); 57 171 } 58 172 -
trunk/Nebulous-Server/t/13_server_rename_object.t
r17717 r23932 8 8 use warnings FATAL => qw( all ); 9 9 10 use Test::More tests => 6;10 use Test::More tests => 8; 11 11 12 12 use lib qw( ./t ./lib ); 13 13 14 use File::Basename qw( basename ); 14 15 use Nebulous::Server; 15 16 use Test::Nebulous; … … 21 22 ); 22 23 24 use Test::DBUnit dsn => $NEB_DB, username => $NEB_USER, password => $NEB_PASS; 25 23 26 Test::Nebulous->setup; 24 27 25 28 { 29 my $key = "bar"; 26 30 my $uri = $neb->create_object("foo"); 27 31 28 $neb->rename_object("foo", "bar");32 $neb->rename_object("foo", $key); 29 33 30 eval { 31 $neb->find_objects('^foo$'); 32 }; 33 like($@, qr/no keys found/, "old key name"); 34 expected_dataset_ok( 35 directory => [dir_id => 1, dirname => '/', parent_id => 1], 36 storage_object => [so_id => 1, ext_id => $key, ext_id_basename => basename($key), dir_id => 1], 37 ); 38 } 34 39 35 my $keys = $neb->find_objects('^bar$'); 36 is(scalar @$keys, 1, 'number of keys found'); 40 Test::Nebulous->setup; 41 42 { 43 my $key = "a/bar"; 44 my $uri = $neb->create_object("foo"); 45 46 $neb->rename_object("foo", $key); 47 48 expected_dataset_ok( 49 directory => [dir_id => 1, dirname => '/', parent_id => 1], 50 directory => [dir_id => 2, dirname => 'a', parent_id => 1], 51 storage_object => [so_id => 1, ext_id => $key, ext_id_basename => basename($key), dir_id => 2], 52 ); 53 } 54 55 Test::Nebulous->setup; 56 57 { 58 my $key = "bar"; 59 my $uri = $neb->create_object("a/foo"); 60 61 $neb->rename_object("a/foo", $key); 62 63 expected_dataset_ok( 64 directory => [dir_id => 1, dirname => '/', parent_id => 1], 65 directory => [dir_id => 2, dirname => 'a', parent_id => 1], 66 storage_object => [so_id => 1, ext_id => $key, ext_id_basename => basename($key), dir_id => 1], 67 ); 37 68 } 38 69 … … 73 104 like($@, qr/2 were expected/, "too many params"); 74 105 106 # test attempting to rename a key in such a way to cause the distributed 107 # storage db to change 108 # this must be the last test as we're messing with the $neb object 109 eval { 110 $neb->config->add_db( 111 dbindex => 1, 112 dsn => $NEB_DB, 113 dbuser => $NEB_USER, 114 dbpasswd => $NEB_PASS, 115 ); 116 117 $neb->create_object("a/foo"); 118 $neb->rename_object("a/foo", "g/bar"); 119 }; 120 like($@, qr/rename objects across distributed database boundaries/, "rename between databases"); 121 75 122 Test::Nebulous->cleanup; -
trunk/Nebulous-Server/t/16_server_swap_objects.t
r20091 r23932 8 8 use warnings FATAL => qw( all ); 9 9 10 use Test::More tests => 8;10 use Test::More tests => 13; 11 11 12 12 use lib qw( ./t ./lib ); 13 13 14 use File::Basename qw( basename ); 14 15 use Nebulous::Server; 15 16 use Test::Nebulous; … … 21 22 ); 22 23 24 use Test::DBUnit dsn => $NEB_DB, username => $NEB_USER, password => $NEB_PASS; 25 23 26 Test::Nebulous->setup; 24 27 25 28 { 26 my $uri1 = $neb->create_object("foo1"); 27 my $uri2 = $neb->create_object("foo2"); 29 my $key1 = "foo1"; 30 my $key2 = "foo2"; 31 my $uri1 = $neb->create_object($key1); 32 my $uri2 = $neb->create_object($key2); 28 33 29 ok($neb->swap_objects( "foo1", "foo2"), "swap succeeded");34 ok($neb->swap_objects($key1, $key2), "swap succeeded"); 30 35 31 my $new_uri1 = ($neb->find_instances("foo1"))->[0]; 32 my $new_uri2 = ($neb->find_instances("foo2"))->[0]; 36 my $new_uri1 = ($neb->find_instances($key1))->[0]; 37 my $new_uri2 = ($neb->find_instances($key2))->[0]; 38 39 expected_dataset_ok( 40 directory => [dir_id => 1, dirname => '/', parent_id => 1], 41 storage_object => [so_id => 1, ext_id => $key2, ext_id_basename => basename($key2), dir_id => 1], 42 storage_object => [so_id => 2, ext_id => $key1, ext_id_basename => basename($key1), dir_id => 1], 43 ); 44 45 is($uri1, $new_uri2, "key1 -> key2"); 46 is($uri2, $new_uri1, "key2 -> key1"); 47 } 48 49 Test::Nebulous->setup; 50 51 { 52 my $key1 = "foo1"; 53 my $key2 = "a/foo2"; 54 my $uri1 = $neb->create_object($key1); 55 my $uri2 = $neb->create_object($key2); 56 57 ok($neb->swap_objects($key1, $key2), "swap succeeded"); 58 59 my $new_uri1 = ($neb->find_instances($key1))->[0]; 60 my $new_uri2 = ($neb->find_instances($key2))->[0]; 61 62 expected_dataset_ok( 63 directory => [dir_id => 1, dirname => '/', parent_id => 1], 64 directory => [dir_id => 2, dirname => 'a', parent_id => 1], 65 storage_object => [so_id => 1, ext_id => $key2, ext_id_basename => basename($key2), dir_id => 2], 66 storage_object => [so_id => 2, ext_id => $key1, ext_id_basename => basename($key1), dir_id => 1], 67 ); 33 68 34 69 is($uri1, $new_uri2, "key1 -> key2"); -
trunk/Nebulous-Server/t/75_parse_neb_key.t
r19431 r23932 10 10 use Test::More; 11 11 12 plan tests => 80;12 plan tests => 99; 13 13 14 14 use lib qw( ./t ./lib ); 15 15 16 use Nebulous::Key sqw( parse_neb_key );16 use Nebulous::Key qw( parse_neb_key ); 17 17 use Test::Nebulous; 18 18 … … 224 224 } 225 225 226 # root volume references 227 { 228 my $key = parse_neb_key('neb:///'); 229 230 is($key->path, '', 'path'); 231 is($key->volume, undef, 'volume name'); 232 is($key->soft_volume, undef, 'soft volume name'); 233 } 234 235 { 236 my $key = parse_neb_key('neb:///.'); 237 238 is($key->path, '', 'path'); 239 is($key->volume, undef, 'volume name'); 240 is($key->soft_volume, undef, 'soft volume name'); 241 } 242 243 { 244 my $key = parse_neb_key('neb:///..'); 245 246 is($key->path, '', 'path'); 247 is($key->volume, undef, 'volume name'); 248 is($key->soft_volume, undef, 'soft volume name'); 249 } 250 251 { 252 my $key = parse_neb_key('/'); 253 254 is($key->path, '', 'path'); 255 is($key->volume, undef, 'volume name'); 256 is($key->soft_volume, undef, 'soft volume name'); 257 } 258 259 { 260 my $key = parse_neb_key('.'); 261 262 is($key->path, '', 'path'); 263 is($key->volume, undef, 'volume name'); 264 is($key->soft_volume, undef, 'soft volume name'); 265 } 266 267 { 268 my $key = parse_neb_key('..'); 269 270 is($key->path, '', 'path'); 271 is($key->volume, undef, 'volume name'); 272 is($key->soft_volume, undef, 'soft volume name'); 273 } 274 226 275 # key w/ whitespace 227 276 eval { … … 267 316 }; 268 317 like( $@, qr/requires a leading slash/, "leading slash" ); 318 319 # URI w/ volume but w/o path 320 eval { 321 my $key = parse_neb_key('neb://foo'); 322 }; 323 like( $@, qr/requires a path/, "no path" );
Note:
See TracChangeset
for help on using the changeset viewer.
