def __init__(self, credentialsFileOrUserName=expanduser("~/.restforce"), password=None, securityToken=None): """ Creates a Resources object associated with a single Salesforce session. Authentication credentials can be explicitly provided to the method: new Resources('*****@*****.**', 'secret_password', 'security_token') Alternatively, credentials can be extracted from a file on the file system: new Resources('/path/to/credentials/file') where /path/to/credentials/file contains: [email protected] secret_password security_token Or, more succinctly, credentials can be extracted by convention from the .restforce file in your home directory: new Resources() @raise SalesforceAuthenticationFailedException: if user cannot be authenticated using credentials provided. """ if password != None and securityToken != None: username = credentialsFileOrUserName (self.sessionId, self.serverUrl, self.sfInstance) = login(username, password, securityToken) else: credentialsFilePath = credentialsFileOrUserName credentialsFromFile = readLoginCredentialsFromFile(credentialsFilePath) (self.sessionId, self.serverUrl, self.sfInstance) = login( credentialsFromFile[0], credentialsFromFile[1], credentialsFromFile[2] )
def testInit(self): r1 = Resources() self.assertIsNotNone(r1.getSessionId()) self.assertIsNotNone(r1.getSfInstance()) r2 = Resources(expanduser("~/.restforce")) self.assertEquals(r1.getSessionId(), r2.getSessionId()) self.assertEquals(r1.getSfInstance(), r2.getSfInstance()) credentials = readLoginCredentialsFromFile(expanduser("~/.restforce")) r3 = Resources(credentials[0], credentials[1], credentials[2]) self.assertEquals(r2.getSessionId(), r3.getSessionId()) self.assertEquals(r2.getSfInstance(), r3.getSfInstance())
def testReadLoginCredentialsFromFile(self): (username, password, securityToken) = readLoginCredentialsFromFile(expanduser('~/.restforce')) self.assertIsNotNone(username, "Check your ~/.restforce file?") self.assertIsNotNone(password, "Check your ~/.restforce file?") self.assertIsNotNone(securityToken, "Check your ~/.restforce file?")