user_info($login|$uid)
authorDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 9 Dec 2011 21:22:16 +0000 (22:22 +0100)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 9 Dec 2011 21:22:16 +0000 (22:22 +0100)
lib/CloudStore/API.pm
t/API.t

index 89c6f1b..d504c65 100644 (file)
@@ -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 (executable)
--- 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);
+