Exemple #1
0
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!")
Exemple #2
0
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