[vuser] r578 committed - Properly handle quotes (") in the password....

0 views
Skip to first unread message

codesite...@google.com

unread,
Nov 14, 2009, 7:25:09 PM11/14/09
to vuser-...@googlegroups.com
Revision: 578
Author: perlstalker
Date: Sat Nov 14 16:24:16 2009
Log: Properly handle quotes (") in the password.

Fixes issue 10.


http://code.google.com/p/vuser/source/detail?r=578

Added:
/VUser-Google-ProvisioningAPI/trunk/t
/VUser-Google-ProvisioningAPI/trunk/t/run.t
Modified:

/VUser-Google-ProvisioningAPI/trunk/lib/VUser/Google/ProvisioningAPI/V2_0.pm

=======================================
--- /dev/null
+++ /VUser-Google-ProvisioningAPI/trunk/t/run.t Sat Nov 14 16:24:16 2009
@@ -0,0 +1,50 @@
+#!/usr/bin/perl
+use warnings;
+use strict;
+
+use Test::Most tests => 3, 'die';
+
+use FindBin;
+use lib ("$FindBin::Bin/../lib");
+
+my $gapps_domain = $ENV{GAPPS_DOMAIN};
+my $gapps_user = $ENV{GAPPS_USER};
+my $gapps_passwd = $ENV{GAPPS_PASSWD};
+
+if (not $gapps_domain
+ and not $gapps_user
+ and not $gapps_passwd
+ ) {
+ warn "GAPPS_DOMAIN, GAPPS_USER or GAPPS_PASSWD not set\n";
+ exit;
+}
+
+warn "$gapps_domain, $gapps_user, $gapps_passwd";
+
+use VUser::Google::ProvisioningAPI::V2_0;
+
+## Create google object
+my $google = VUser::Google::ProvisioningAPI::V2_0->new(
+ $gapps_domain, $gapps_user, $gapps_passwd
+);
+isa_ok($google, 'VUser::Google::ProvisioningAPI::V2_0');
+
+$google->{debug} = 1;
+
+## IsAuthenticated
+is($google->IsAuthenticated, 1, 'Authentication succeeded');
+
+## Create user
+TODO: {
+ local $TODO = "test not written";
+}
+
+## Test setting password
+my $user = VUser::Google::ProvisioningAPI::V2_0::UserEntry->new();
+$user->Password('Foo"bar');
+
+my $entry = $google->UpdateUser('account10', $user);
+
+print STDERR $google->{result}{reason} if not $entry;
+
+isa_ok($entry, 'VUser::Google::ProvisioningAPI::V2_0::UserEntry');
=======================================
---
/VUser-Google-ProvisioningAPI/trunk/lib/VUser/Google/ProvisioningAPI/V2_0.pm
Fri Oct 16 07:50:47 2009
+++
/VUser-Google-ProvisioningAPI/trunk/lib/VUser/Google/ProvisioningAPI/V2_0.pm
Sat Nov 14 16:24:16 2009
@@ -128,7 +128,7 @@

=head1 CONSTRUCTOR

-new ($comain, $admin, $adminpasswd)
+new ($domain, $admin, $adminpasswd)

This is the constructor for a new VUser::Google::ProvisioningAPI object.
$domain is the domain name registered with Google Apps For Your Domain,
@@ -726,9 +726,9 @@
my $passwd = $new_entry->Password;
# escape quotes
# See section 2.4 of http://www.w3.org/TR/xml/
- #$passwd ~= s/\"/\\"/;
- $passwd ~= s/\"/"/;
- $body .= ' password="'.$new_entry->Password.'"';
+ #$passwd =~ s/\"/\\"/;
+ $passwd =~ s/\"/"/;
+ $body .= ' password="'.$passwd.'"';
}

$body .= ' suspended="'.($new_entry->isSuspended? 'true' : 'false').'"';

Reply all
Reply to author
Forward
0 new messages