#!/usr/bin/perl -w
my
$super_user
=
'admin'
;
my
$super_pass
=
'admin'
;
my
$verbose
= 0;
my
$log
;
BEGIN { use_ok(
'Apache::Sling'
); }
BEGIN { use_ok(
'Apache::Sling::Authn'
); }
BEGIN { use_ok(
'Apache::Sling::User'
); }
BEGIN { use_ok(
'Apache::Sling::Group'
); }
my
$test_user
=
"user_test_user_$$"
;
my
$test_pass
=
"pass"
;
my
@test_properties
;
my
$test_group
=
"g-user_test_group_$$"
;
my
$sling
= Apache::Sling->new();
isa_ok
$sling
,
'Apache::Sling'
,
'sling'
;
$sling
->{
'URL'
} =
$sling_host
;
$sling
->{
'User'
} =
$super_user
;
$sling
->{
'Pass'
} =
$super_pass
;
$sling
->{
'Verbose'
} =
$verbose
;
$sling
->{
'Log'
} =
$log
;
my
$authn
= Apache::Sling::Authn->new( \
$sling
);
isa_ok
$authn
,
'Apache::Sling::Authn'
,
'authentication'
;
my
$user
= Apache::Sling::User->new( \
$authn
,
$verbose
,
$log
);
isa_ok
$user
,
'Apache::Sling::User'
,
'user'
;
my
$group
= Apache::Sling::Group->new( \
$authn
,
$verbose
,
$log
);
isa_ok
$group
,
'Apache::Sling::Group'
,
'group'
;
ok(
defined
$user
,
"User Test: Sling User Object successfully created."
);
ok(
defined
$group
,
"User Test: Sling Group Object successfully created."
);
ok(
$user
->add(
$test_user
,
$test_pass
, \
@test_properties
),
"User Test: User \"$test_user\" added successfully."
);
ok(
$user
->check_exists(
$test_user
),
"User Test: User \"$test_user\" exists."
);
@test_properties
= (
"user_test_editor=$super_user"
);
ok(
$user
->update(
$test_user
, \
@test_properties
),
"User Test: User \"$test_user\" updated successfully."
);
ok(
$group
->add(
$test_group
, \
@test_properties
),
"User Test: Group \"$test_group\" added successfully."
);
ok(
$group
->check_exists(
$test_group
),
"User Test: Group \"$test_group\" exists."
);
ok(
$group
->member_add(
$test_group
,
$test_user
),
"User Test: Member \"$test_user\" added to \"$test_group\"."
);
ok(
$group
->member_exists(
$test_group
,
$test_user
),
"User Test: Member \"$test_user\" exists in \"$test_group\"."
);
@test_properties
= (
"user_test_edit_after_group_join=true"
);
ok(
$user
->update(
$test_user
, \
@test_properties
),
"User Test: User \"$test_user\" updated successfully."
);
ok(
$group
->member_delete(
$test_group
,
$test_user
),
"User Test: Member \"$test_user\" deleted from \"$test_group\"."
);
ok( !
$group
->member_exists(
$test_group
,
$test_user
),
"User Test: Member \"$test_user\" should no longer exist in \"$test_group\"."
);
ok(
$group
->del(
$test_group
),
"User Test: Group \"$test_group\" deleted successfully."
);
ok( !
$group
->check_exists(
$test_group
),
"User Test: Group \"$test_group\" should no longer exist."
);
ok(
$authn
->switch_user(
$test_user
,
$test_pass
),
"User Test: Successfully switched to user: \"$test_user\" with basic auth"
);
@test_properties
= (
"user_test_editor=$test_user"
);
ok(
$user
->update(
$test_user
, \
@test_properties
),
"User Test: User \"$test_user\" updated successfully."
);
ok(
$authn
->switch_user(
$super_user
,
$super_pass
),
"User Test: Successfully switched to user: \"$super_user\" with basic auth"
);
ok(
$user
->del(
$test_user
),
"User Test: User \"$test_user\" deleted successfully."
);
ok( !
$user
->check_exists(
$test_user
),
"User Test: User \"$test_user\" should no longer exist."
);