Esempio n. 1
0
def register_login_new_user_impl() -> dict:
    """
    Create a new user, register the new user and log in.

    My own home id will be yield too.

    A dict will be returned, and keys are:
        - client
        - account_id
        - token
        - email
        - password
        - home_id
    """
    client: Client = get_client_from_orm_by_id(3)
    email = generate_email()
    password = "******"

    # register user
    register = TestRegisterNewUserSuccessfully()
    register.config.variables(**{
        "client": client,
        "email": email,
        "password": password
    })
    register.test_start()

    # login
    login = LoginV2()
    login.config.variables(**{
        "client": client,
        "email": email,
        "password": password
    })
    login.test_start()

    # {"account_id": ?, "token": ?}
    token_dict = get_sub_dict(login.get_export_variables(), *['account_id', 'token'])

    get_home_list = GetHomeList()
    get_home_list.config.variables(**token_dict, client=client)
    get_home_list.test_start()
    my_own_home_id = get_home_list.get_export_variables()["my_own_home_id"]

    yield {
        **token_dict,
        "email": email,
        "password": password,
        "client": client,
        "home_id": my_own_home_id
    }

    # delete user
    delete_user = DeleteUser()
    delete_user.with_variables({})  # get rid of the effect on session variables from previous instances
    delete_user.config.variables(client=client, **token_dict)
    delete_user.test_start()
Esempio n. 2
0
def register_and_verify_with_diff_emails_impl(register_email: str,
                                              verify_email: str) -> dict:
    """
    Register and verify with different emails.

    Keys of returned dict:
        - register_email
        - verify_email
        - password
        - account_id
        - token
    """
    client = clients.ios
    password = "******"

    register_login_result = (
        TestRegisterAndVerifyWithDiffEmails().with_variables({
            "client":
            client,
            "register_email":
            register_email,
            "verify_email":
            verify_email,
            "password":
            password
        }).run())
    account_id = register_login_result.get_export_variables()["account_id"]
    token = register_login_result.get_export_variables()["token"]

    yield {
        "register_email": register_email,
        "verify_email": verify_email,
        "password": password,
        "account_id": account_id,
        "token": token
    }

    (DeleteUser().with_variables({
        "client": client,
        "account_id": account_id,
        "token": token
    }).run())
Esempio n. 3
0
def register_login_new_user_with_no_auth_impl() -> dict:
    """
    Create a new user, register the new user with email not been verified and log in.

    A dict will be returned, and keys are:
        - client
        - account_id
        - token
        - email
        - password
    """
    client = clients.ios
    email = generate_email()
    password = "******"

    # register user
    (TestRegisterWithNoAuth().with_variables({
        "client": client,
        "email": email,
        "password": password
    }).run())

    # login
    login_result = (LoginV2().with_variables({
        "client": client,
        "email": email,
        "password": password
    }).run())

    # {"account_id": <account id>, "token": <token>}
    token_dict = get_sub_dict(login_result.get_export_variables(),
                              *['account_id', 'token'])

    yield {
        **token_dict,
        "email": email,
        "password": password,
        "client": client,
    }

    # delete user
    (DeleteUser().with_variables({"client": client, **token_dict}).run())
Esempio n. 4
0
def register_login_new_users_impl(user_num=None) -> dict:
    """
    Create users, register new users and log in.

    My own home id will be yield too.

    A dict will be returned, and keys are:
        - user_list
    """

    user_list = []
    client: Client = get_client_from_orm_by_name('ios')
    for i in range(user_num):
        email = generate_email()
        password = "******"

        # register user
        register = TestRegisterNewUserSuccessfully()
        register.config.variables(**{
            "client": client,
            "email": email,
            "password": password
        })
        register.run()

        # login
        login = LoginV2()
        login.config.variables(**{
            "client": client,
            "email": email,
            "password": password
        })
        login.run()

        # {"account_id": ?, "token": ?}
        token_dict = get_sub_dict(login.get_export_variables(),
                                  *['account_id', 'token', 'user_info'])
        user_list.append(token_dict)

    yield user_list

    # delete user
    for token_dict in user_list:
        delete_user = DeleteUser()
        delete_user.with_variables(
            {}
        )  # get rid of the effect on session variables from previous instances
        delete_user.config.variables(client=client, **token_dict)
        delete_user.run()
Esempio n. 5
0
def register_login_new_users_and_complete_lottery_impl(user_num=2) -> dict:
    """
    Create users, register new users and log in ,complete three times lottery.

    A dict will be returned, and keys are:
        - user_list
    """

    user_list = []
    expected_lottery_prize_people_list = []
    client: Client = get_client_from_orm_by_id(1)
    for i in range(user_num):
        email = generate_email()
        password = "******"

        # register user
        register = TestRegisterNewUserSuccessfully()
        register.with_variables({
            "client": client,
            "email": email,
            "password": password
        })
        register.run()

        # login
        login = LoginV2()
        login.with_variables({
            "client": client,
            "email": email,
            "password": password
        })
        login.run()

        # {"account_id": ?, "token": ?}
        token_dict = get_sub_dict(login.get_export_variables(),
                                  *['account_id', 'token', 'user_info'])
        user_list.append(token_dict)

        # getRemainingTimes
        get_remaining_times = BaseGetRemainingTimesSuccessfully()
        get_remaining_times.with_variables({
            **get_sub_dict(login.get_export_variables(), *[
                               'account_id', 'token'
                           ]), "client":
            client,
            "award_pool_name":
            anniversary_draw_settings.award_pool_name,
            "trigger_source":
            "$award_pool_name"
        })
        get_remaining_times.run()

        # draw lottery
        draw = BaseDrawSuccessfully()
        draw.with_variables({
            **get_sub_dict(login.get_export_variables(), *[
                               'account_id', 'token', 'user_info'
                           ]), "client":
            client,
            "award_pool_name":
            anniversary_draw_settings.award_pool_name,
            "trigger_source":
            "$award_pool_name",
            "expected_remaining_times":
            0,
            "expected_lottery_prize_people_list":
            expected_lottery_prize_people_list
        })
        draw.run()
        expected_lottery_prize_people_list = draw.get_export_variables(
        )['expected_lottery_prize_people_list']
    yield {
        "user_list": user_list,
        "expected_lottery_prize_people_list":
        expected_lottery_prize_people_list
    }

    # delete user
    for token_dict in user_list:
        delete_user = DeleteUser()
        delete_user.with_variables(
            {}
        )  # get rid of the effect on session variables from previous instances
        delete_user.config.variables(client=client, **token_dict)
        delete_user.run()
Esempio n. 6
0
def register_login_web_user_with_no_auth_impl() -> dict:
    """
    Create a new user, register the new user with email not been verified and log in.

    A dict will be returned, and keys are:
        - client
        - account_id
        - token
        - email
        - password
    """
    email = generate_email()
    password = "******"

    # register user
    register = TestRegisterWithNoAuth()
    register.config.variables(**{
        "client": clients.web,
        "email": email,
        "password": password
    })
    register.test_start()

    # log in web
    login = Login()
    login.config.variables(**{
        "client": clients.web,
        "email": email,
        "password": password
    })
    login.test_start()

    # {"account_id": <account id>, "token": <token>}
    token_dict = get_sub_dict(login.get_export_variables(),
                              *['account_id', 'token'])

    yield {
        **token_dict,
        "email": email,
        "password": password,
        "client": clients.ios,
    }
    # log in app
    login = LoginV2()
    login.config.variables(**{
        "client": clients.ios,
        "email": email,
        "password": password
    })
    login.test_start()
    # {"account_id": <account id>, "token": <token>}
    token_dict = get_sub_dict(login.get_export_variables(),
                              *['account_id', 'token'])

    # delete user
    delete_user = DeleteUser()
    delete_user.with_variables(
        {}
    )  # get rid of the effect on session variables from previous instances
    delete_user.config.variables(client=clients.ios, **token_dict)
    delete_user.test_start()
Esempio n. 7
0
def register_login_new_user_impl(is_generate_mall_user: bool = False,
                                 client: Client = clients.ios) -> dict:
    """
    Create a new user, register the new user and log in.

    My own home id will be yield too.

    A dict will be returned, and keys are:
        - client
        - account_id
        - token
        - email
        - password
        - home_id
        - user_info
    """
    client = client
    email = generate_email()
    password = "******"

    # register user
    (TestRegisterNewUserSuccessfully().with_variables({
        "client": client,
        "email": email,
        "password": password
    }).run())

    # login
    login_result = (LoginV2().with_variables({
        "client": client,
        "email": email,
        "password": password
    }).run())

    # {"account_id": ?, "token": ?}
    export_vars = login_result.get_export_variables()
    token_dict = get_sub_dict(export_vars, *['account_id', 'token'])
    user_info = export_vars["user_info"]

    get_home_list_result = (GetHomeList().with_variables({
        "client": client,
        **token_dict
    }).run())
    my_own_home_id = get_home_list_result.get_export_variables(
    )["my_own_home_id"]

    # create mall user
    if is_generate_mall_user:
        (CreateMallUserV3().with_variables({
            "client": client,
            **token_dict
        }).run())

    yield {
        **token_dict, "email": email,
        "password": password,
        "client": client,
        "home_id": my_own_home_id,
        "user_info": user_info
    }

    # delete user
    (DeleteUser().with_variables({"client": client, **token_dict}).run())