import univention.testing.strings as uts import univention.testing.ucr as ucr_test import univention.testing.ucsschool as utu from univention.lib.umc_connection import UMCConnection import univention.testing.ucr as ucr_test import sys, os, time def auth(host, username, password): newpassword = uts.random_string() connection = UMCConnection(host) try: data = connection.build_data({'username' : username, 'password' : password}) co = connection.get_connection() co.request('POST', '/umcp/auth', data) response = co.getresponse() print "---------------------------------------------------------------------\n\n" print 'response: %s ' % response.status if response.status == 415: print 'new password: ', newpassword cookie = response.getheader('set-cookie') #TODO: -> cookie == None print 'cookie: ', cookie data = connection.build_data({ 'username' : username, 'password' : password, 'new_password' : newpassword }) co = connection.get_connection() co.request('POST', '/umcp/auth', data, headers={ 'Cookie': cookie }) response = co.getresponse() #TODO: -> 411 print 'response: %r ' % dir(response) print 'response: %r ' % response.read() if response.status == 200: returnvalue = 0 else: returnValue = 1 else: returnValue = 0 except Exception as e: print "Auth exception: '%s' '%s' '%r'" % (str(e), type(e), e) returnValue = 1 print "\n\n---------------------------------------------------------------------" return returnValue