IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 17539


Ignore:
Timestamp:
May 6, 2008, 12:12:07 PM (18 years ago)
Author:
jhoblitt
Message:

allow volume name arguments to be undef

Location:
trunk/Nebulous-Server
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Nebulous-Server/Changes

    r17535 r17539  
    11Revision history for Nebulous
    22
     30.09
     4    - allow volume name arguments to be undef
     5
    360.08 Thu Apr 17 16:08:16 HST 2008
    4     - allow Nebulous::Server::create_object() vol_name to be undef
    57    - set permissions on storage instance directories
    68
  • trunk/Nebulous-Server/lib/Nebulous/Server.pm

    r17536 r17539  
    11# Copyright (c) 2004-2008  Joshua Hoblitt
    22#
    3 # $Id: Server.pm,v 1.61 2008-05-06 02:51:20 jhoblitt Exp $
     3# $Id: Server.pm,v 1.62 2008-05-06 22:10:58 jhoblitt Exp $
    44
    55package Nebulous::Server;
     
    77use strict;
    88use warnings FATAL => qw( all );
     9no warnings qw( uninitialized );
    910
    1011our $VERSION = '0.08';
     
    151152            callbacks   => {
    152153                # check that the volume requested is valid
    153                 'is valid volume name' => sub { $self->_is_valid_volume_name($_[0]) },
     154                'is valid volume name' => sub {
     155                    return 1 if not defined $_[0];
     156                    $self->_is_valid_volume_name($_[0])
     157                },
    154158            },
    155159            optional    => 1,
     
    317321        },
    318322        {
    319             type        => SCALAR,
     323            type        => SCALAR|UNDEF,
    320324            callbacks   => {
    321325                # check that the volume name requested is valid
    322                 'is valid volume name' => sub { $self->_is_valid_volume_name($_[0]) },
     326                'is valid volume name' => sub {
     327                    return 1 if not defined $_[0];
     328                    $self->_is_valid_volume_name($_[0])
     329                },
    323330            },
    324331            optional    => 1,
     
    910917        },
    911918        {
    912             type        => SCALAR,
     919            type        => SCALAR|UNDEF,
    913920            callbacks   => {
    914921                # check that the volume name requested is valid
    915                 'is valid volume name' => sub { $self->_is_valid_volume_name($_[0]) },
     922                'is valid volume name' => sub {
     923                    return 1 if not defined $_[0];
     924                    $self->_is_valid_volume_name($_[0])
     925                },
    916926            },
    917927            optional    => 1,
  • trunk/Nebulous-Server/t/03_server_create_object.t

    r17072 r17539  
    33# Copryight (C) 2004-2005  Joshua Hoblitt
    44#
    5 # $Id: 03_server_create_object.t,v 1.25 2008-03-20 21:10:14 jhoblitt Exp $
     5# $Id: 03_server_create_object.t,v 1.26 2008-05-06 22:10:58 jhoblitt Exp $
    66
    77use strict;
    88use warnings FATAL => qw( all );
    99
    10 use Test::More tests => 67;
     10use Test::More tests => 70;
    1111
    1212use lib qw( ./t ./lib );
     
    251251Test::Nebulous->setup;
    252252
     253{
     254    # undef volume name
     255    # OK because the undef is ignored
     256    my $uri = $neb->create_object("neb://node01/foo", undef);
     257
     258    my ($scheme, $auth, $path, $query, $frag) = uri_split($uri);
     259    ok(-e $path, "file exists");
     260    ok($neb->find_instances("foo"), 'object key exists');
     261    uri_scheme_ok($uri, 'file');
     262}
     263
     264Test::Nebulous->setup;
     265
    253266eval {
    254267    $neb->create_object("foo");
  • trunk/Nebulous-Server/t/04_server_replicate_object.t

    r17072 r17539  
    33# Copryight (C) 2004-2005  Joshua Hoblitt
    44#
    5 # $Id: 04_server_replicate_object.t,v 1.12 2008-03-20 21:10:14 jhoblitt Exp $
     5# $Id: 04_server_replicate_object.t,v 1.13 2008-05-06 22:10:58 jhoblitt Exp $
    66
    77use strict;
    88use warnings FATAL => qw( all );
    99
    10 use Test::More tests => 16;
     10use Test::More tests => 19;
    1111
    1212use lib qw( ./t ./lib );
     
    4949    $neb->create_object("foo");
    5050    my $uri = $neb->replicate_object("foo", "node01");
     51
     52    my ($scheme, $auth, $path, $query, $frag) = uri_split($uri);
     53    ok(-e $path, "file exists");
     54    uri_scheme_ok($uri, 'file');
     55
     56SKIP: {
     57    skip "requires xattr support", 1 unless $test_xattr;
     58    is(getfattr($path, 'user.nebulous_key'), 'foo', 'user.nebulous_key xattr');
     59}
     60}
     61
     62Test::Nebulous->setup;
     63
     64{
     65    # key, $volume is undef
     66    $neb->create_object("foo");
     67    my $uri = $neb->replicate_object("foo", undef);
    5168
    5269    my ($scheme, $auth, $path, $query, $frag) = uri_split($uri);
  • trunk/Nebulous-Server/t/07_server_find_instances.t

    r17072 r17539  
    33# Copryight (C) 2004-2005  Joshua Hoblitt
    44#
    5 # $Id: 07_server_find_instances.t,v 1.10 2008-03-20 21:10:14 jhoblitt Exp $
     5# $Id: 07_server_find_instances.t,v 1.11 2008-05-06 22:10:58 jhoblitt Exp $
    66
    77use strict;
    88use warnings FATAL => qw( all );
    99
    10 use Test::More tests => 15;
     10use Test::More tests => 17;
    1111
    1212use lib qw( ./t ./lib );
     
    5555
    5656    my $locations = $neb->find_instances('foo', 'node01');
     57
     58    uri_scheme_ok($locations->[0], 'file');
     59    is($uri, $locations->[0], "URIs match");
     60}
     61
     62Test::Nebulous->setup;
     63
     64{
     65    # key, volume
     66    my $uri = $neb->create_object('foo', 'node01');
     67
     68    my $locations = $neb->find_instances('foo', undef);
    5769
    5870    uri_scheme_ok($locations->[0], 'file');
Note: See TracChangeset for help on using the changeset viewer.