[LON-CAPA-cvs] cvs: modules /goltermann/internalTest/t UserRelated.pm
goltermann
goltermann at source.lon-capa.org
Tue Jun 18 05:53:01 EDT 2013
goltermann Tue Jun 18 09:53:01 2013 EDT
Modified files:
/modules/goltermann/internalTest/t UserRelated.pm
Log:
added missing file
Index: modules/goltermann/internalTest/t/UserRelated.pm
diff -u /dev/null modules/goltermann/internalTest/t/UserRelated.pm:1.3
--- /dev/null Tue Jun 18 09:53:01 2013
+++ modules/goltermann/internalTest/t/UserRelated.pm Tue Jun 18 09:53:01 2013
@@ -0,0 +1,56 @@
+#! perl
+use strict;
+use warnings;
+package UserRelated;
+use Test::More;
+# use Smart::Comments;
+
+
+sub run(){
+ shift;
+ my %config = @_;
+
+ my $user = $config{'user'};
+ my $pw = $config{'pw'};
+ my $tmppw = 'tmppw12345'; # if something breaks while changing the pw (it shouldnt) you might need the temp password to set your old pw back manually
+ my $domain = $config{'domain'};
+
+
+ # Trying to write a testhash
+ is(&Apache::lonnet::appenv(%config), 'ok', 'writing %config in appenv');
+ is(&Apache::lonnet::delenv(%config), 'ok', 'deleting %config in appenv');
+ # i dont think this is a good 'clean' test
+ #
+
+ # trying to determine hostserver of user
+ my $homeserver = &Apache::lonnet::homeserver($user,$domain);
+ # my $homeserver = &Apache::lonnet::homeserver($user,'fhwfdev133'); # wrong data for testing
+ ok($homeserver ne 'no_host', 'host found '.$homeserver);
+ ok($homeserver ne 'no_account_on_host', 'account found');
+ #
+
+
+ # changes the password and see if it works
+ isnt(&Apache::lonnet::changepass($user, $domain, 'somebadpwwhichshouldnotwork', $homeserver), 'ok', 'trying wrong pw');
+ is(&Apache::lonnet::changepass($user,$domain,$pw,'tmppw12345',$homeserver), 'ok', 'change pw');
+ isnt(&Apache::lonnet::authenticate($user,$tmppw,$domain), 'no_host', 'authenticate with new pw');
+ is(&Apache::lonnet::changepass($user,$domain,$tmppw,$pw,$homeserver), 'ok', 'changing to old pw');
+
+ # overrides old id without asking. thats ok when using a specially created testuser, but
+ # DONT USE WITH A PRODUCTIVE USER (if you dont know what you are doing)
+ my $uniqueId = localtime;
+ &Apache::lonnet::idput($domain, ($user => $uniqueId));
+ # checks if ID successfully set
+ my %idrget = &Apache::lonnet::idrget($domain, ($user));
+ ok($idrget{$user} eq $uniqueId, 'set new id');
+ #
+}
+
+END{
+ # TODO: test if repair function is needed
+ # if (errors){
+ # repair
+ # }
+}
+
+1;
More information about the LON-CAPA-cvs
mailing list