From: Dobrica Pavlinusic Date: Fri, 9 Dec 2011 21:22:16 +0000 (+0100) Subject: user_info($login|$uid) X-Git-Url: http://git.rot13.org/?p=cloudstore.git;a=commitdiff_plain;h=760154c10151e5a766a831a0f6cf9dfa38f90f08 user_info($login|$uid) --- diff --git a/lib/CloudStore/API.pm b/lib/CloudStore/API.pm index 89c6f1b..d504c65 100644 --- a/lib/CloudStore/API.pm +++ b/lib/CloudStore/API.pm @@ -3,6 +3,8 @@ use warnings; use strict; use autodie; +use Data::Dump qw(dump); + sub new { my $class = shift; my $self = {@_}; @@ -15,6 +17,18 @@ sub new { return $self; } +sub user_info { + my ($self,$login) = @_; + + my @n = qw/ login passwd uid gid quota comment gecos dir shell expire /; + my @p = $login =~ m/^\d+$/ ? getpwuid $login : getpwnam $login; +warn "## $login ",dump(@p); + die "$login: $!" if $!; + my $user; + $user->{$_} = shift @p foreach @n; + return $user; +} + sub create_user { my ( $self, $new_email, $new_passwd, $new_quota ) = @_; @@ -46,7 +60,7 @@ sub create_user { } sub send_file { - my ( $f_uid,$f_path, $t_uid,$t_path ) = @_; + my ( $self, $f_uid,$f_path, $t_uid,$t_path ) = @_; } diff --git a/t/API.t b/t/API.t index a90662d..8c326a7 100755 --- a/t/API.t +++ b/t/API.t @@ -2,7 +2,7 @@ use strict; use warnings; -use Test::More tests => 3; +use Test::More tests => 7; use Data::Dump qw(dump); use lib 'lib'; @@ -16,3 +16,13 @@ ok my $o = CloudStore::API->new, 'new'; cmp_ok $o->create_user('md5@example.com','md5sum',0), '==', 2000, 'create_user md5'; +ok my $info = $o->user_info( 'md5' ), 'user_info'; +diag dump $info; + +cmp_ok $info->{uid}, '==', 2000, 'uid'; + +ok my $uid = $o->create_user('test@example.com','password',100_000_000), 'create_user test'; +diag "test: $uid"; +ok my $test = $o->user_info( $uid ), "user_info $uid"; +diag dump($test); +