def main(): log.config(GC.LOG_FILE_DIR + 'account_pool_test', 'debug', 'debug') pool = createTestRenrenAccountPool() createTables(pool) dropTables(pool) createTables(pool) testRenrenAccountPool() testProxyPool() dropTables(pool) log.info("Pass the test!")
def testRenrenAccountPool(): pool = createTestRenrenAccountPool() usn1 = "username_1" pwd1 = "password_1" usn2 = "username_2" pwd2 = "password_2" usn3 = "username_3" pwd3 = "password_3" usn4 = "username_4" pwd4 = "password_4" comeFrom = "from test." pool.addAccount(usn1, pwd1, comeFrom) pool.addAccount(usn2, pwd2, comeFrom) pool.addAccount(usn3, pwd3, comeFrom) pool.addAccount(usn4, pwd4, comeFrom) # Test get 0 accounts = pool.getAccounts(0) assert len(accounts) == 0 # Test get part of the accounts accounts = pool.getAccounts(2) assert len(accounts) == 2 for account in accounts: account.finishUsing() # Test get all of the accounts accounts = pool.getAccounts(10) assert len(accounts) == 4 for account in accounts: account.finishUsing() # Test finish using. accounts = pool.getAccounts(10) assert len(accounts) == 4 accounts[0].isLogin = True accounts[0].requestCount = 30 for account in accounts: account.finishUsing() accounts = pool.getAccounts(10) assert len(accounts) == 3 # Test report invalid accounts[0].isLogin = True accounts[0].requestCount = 30 accounts[0].reportInvalidAccount(RenrenAccountErrorCode.ERROR_WHEN_REQUEST) accounts[1].reportInvalidAccount(RenrenAccountErrorCode.ERROR_WHEN_LOGIN) accounts[2].finishUsing() invalidAccount1 = accounts[0] invalidAccount2 = accounts[1] accounts = pool.getAccounts(10) assert len(accounts) == 1 # Test no available account accounts[0].isLogin = True accounts[0].requestCount = 60 accounts[0].finishUsing() accounts = pool.getAccounts(10) assert len(accounts) == 0 # Test save account pool.saveAccount(invalidAccount1.username, invalidAccount1.password, True, '1971-1-1') accounts = pool.getAccounts(10) assert len(accounts) == 1 for account in accounts: account.finishUsing() # Test save account pool.saveAccount(invalidAccount2.username, invalidAccount2.password, False) accounts = pool.getAccounts(10) assert len(accounts) == 1 for account in accounts: account.finishUsing() # Test save account pool.saveAccount(invalidAccount2.username, invalidAccount2.password, True) accounts = pool.getAccounts(10) assert len(accounts) == 1 for account in accounts: account.finishUsing() assert pool.onceSaveFail( invalidAccount1.username, invalidAccount1.password) == False assert pool.onceSaveFail( invalidAccount2.username, invalidAccount2.password) == True