Ejemplo n.º 1
0
def check_expiration(no_datastore, cookie_only_threshold):
    st = SessionTester(no_datastore=no_datastore, cookie_only_threshold=cookie_only_threshold)
    expected_num_sessions_in_db_if_db_used = lambda a,c : generic_expected_num_sessions_in_db_if_db_used(st, no_datastore, cookie_only_threshold, a, 0, c)

    # generate some sessions
    num_to_start = 20
    sessions_which_expire_shortly = (1, 3, 8, 9, 11)
    expir_time = int(time.time() + 1)
    sts = []
    for i in xrange(num_to_start):
        stnew = SessionTester(st=st)
        sts.append(stnew)
        stnew.start_request()
        if i in sessions_which_expire_shortly:
            stnew.start(expiration_ts=time.time()-1)
        else:
            stnew.start(expiration_ts=time.time()+600)
        stnew.finish_request_and_check()

    # try accessing an expired session
    st_expired = sts[sessions_which_expire_shortly[0]]
    st_expired.start_request()
    assert not st_expired.is_active()
    st_expired.finish_request_and_check()

    if cookie_only_threshold > 0:
        return  # no need to see if cleaning up db works - nothing there for this case

    # check that after cleanup only unexpired ones are left in the db
    num_left = num_to_start - len(sessions_which_expire_shortly)
    expected_num_sessions_in_db_if_db_used(num_to_start-1, num_left)  # -1 b/c we manually expired one above
Ejemplo n.º 2
0
def check_expiration(no_datastore, cookie_only_threshold):
    st = SessionTester(no_datastore=no_datastore,
                       cookie_only_threshold=cookie_only_threshold)
    expected_num_sessions_in_db_if_db_used = lambda a, c: generic_expected_num_sessions_in_db_if_db_used(
        st, no_datastore, cookie_only_threshold, a, 0, c)

    # generate some sessions
    num_to_start = 20
    sessions_which_expire_shortly = (1, 3, 8, 9, 11)
    sts = []
    for i in xrange(num_to_start):
        stnew = SessionTester(st=st)
        sts.append(stnew)
        stnew.start_request()
        if i in sessions_which_expire_shortly:
            stnew.start(expiration_ts=time.time() - 1)
        else:
            stnew.start(expiration_ts=time.time() + 600)
        stnew.finish_request_and_check()

    # try accessing an expired session
    st_expired = sts[sessions_which_expire_shortly[0]]
    st_expired.start_request()
    assert not st_expired.is_active()
    st_expired.finish_request_and_check()

    if cookie_only_threshold > 0:
        return  # no need to see if cleaning up db works - nothing there for this case

    # check that after cleanup only unexpired ones are left in the db
    num_left = num_to_start - len(sessions_which_expire_shortly)
    expected_num_sessions_in_db_if_db_used(
        num_to_start - 1, num_left)  # -1 b/c we manually expired one above