Пример #1
0
        def update_bob_user_role():
            # arrange - update to Bob's user role
            updated_user_df = create_user_df(USER_NAMES)
            updated_user_df.at[1, "UserRole"] = UPDATED_USER_ROLE
            updated_user_df.at[1,
                               "LastModifiedDate"] = UPDATED_LAST_MODIFIED_DATE

            # act
            upload_users(adapter, updated_user_df)

            # assert - staging table is loaded
            stg_LMSUser = connection.execute(
                "SELECT Name, UserRole from lms.stg_LMSUser").fetchall()
            assert len(stg_LMSUser) == 3
            assert USER_NAMES == [x["Name"] for x in stg_LMSUser]

            # assert - user roles are correct in staging
            assert [ORIGINAL_USER_ROLE, UPDATED_USER_ROLE, ORIGINAL_USER_ROLE
                    ] == [x["UserRole"] for x in stg_LMSUser]

            # assert - production table is loaded
            LMSUser = connection.execute(
                "SELECT Name, UserRole from lms.LMSUser").fetchall()
            assert len(LMSUser) == 3
            assert USER_NAMES == [x["Name"] for x in LMSUser]

            # assert - user roles are correct in production
            assert [ORIGINAL_USER_ROLE, UPDATED_USER_ROLE,
                    ORIGINAL_USER_ROLE] == [x["UserRole"] for x in LMSUser]
        def initial_upload():
            # act
            upload_users(adapter, create_user_df(USER_NAMES))

            # assert - staging table is correct
            stg_LMSUser = connection.execute(
                "select name, userrole from lms.stg_lmsuser order by sourcesystemidentifier"
            ).fetchall()
            assert len(stg_LMSUser) == 3
            assert USER_NAMES == [x["name"] for x in stg_LMSUser]

            # assert - user roles are correct in staging
            assert [
                ORIGINAL_USER_ROLE, ORIGINAL_USER_ROLE, ORIGINAL_USER_ROLE
            ] == [x["userrole"] for x in stg_LMSUser]

            # assert - production table is correct
            LMSUser = connection.execute(
                "select name, userrole from lms.lmsuser order by sourcesystemidentifier"
            ).fetchall()
            assert len(LMSUser) == 3
            assert USER_NAMES == [x["name"] for x in LMSUser]

            # assert - user roles are correct in production
            assert [
                ORIGINAL_USER_ROLE, ORIGINAL_USER_ROLE, ORIGINAL_USER_ROLE
            ] == [x["userrole"] for x in LMSUser]
Пример #3
0
        def initial_upload():
            # act
            upload_users(adapter, create_user_df(USER_NAMES))

            # assert - staging table is correct
            stg_LMSUser = connection.execute(
                "SELECT Name, UserRole from lms.stg_LMSUser").fetchall()
            assert len(stg_LMSUser) == 3
            assert USER_NAMES == [x["Name"] for x in stg_LMSUser]

            # assert - user roles are correct in staging
            assert [
                ORIGINAL_USER_ROLE, ORIGINAL_USER_ROLE, ORIGINAL_USER_ROLE
            ] == [x["UserRole"] for x in stg_LMSUser]

            # assert - production table is correct
            LMSUser = connection.execute(
                "SELECT Name, UserRole from lms.LMSUser").fetchall()
            assert len(LMSUser) == 3
            assert USER_NAMES == [x["Name"] for x in LMSUser]

            # assert - user roles are correct in production
            assert [
                ORIGINAL_USER_ROLE, ORIGINAL_USER_ROLE, ORIGINAL_USER_ROLE
            ] == [x["UserRole"] for x in LMSUser]
Пример #4
0
        def initial_upload():
            # act
            upload_users(adapter, create_user_df(USER_NAMES))

            # assert - staging table is correct
            stg_LMSUser = connection.execute(
                "SELECT Name from lms.stg_LMSUser").fetchall()
            assert len(stg_LMSUser) == 3
            assert USER_NAMES == [x["Name"] for x in stg_LMSUser]

            # assert - production table is correct
            LMSUser = connection.execute(
                "SELECT Name, DeletedAt from lms.LMSUser").fetchall()
            assert len(LMSUser) == 3
            assert USER_NAMES == [x["Name"] for x in LMSUser]
            assert [None, None, None] == [x["DeletedAt"] for x in LMSUser]
        def initial_upload():
            # act
            upload_users(adapter, create_user_df(USER_NAMES))

            # assert - staging table is correct
            stg_LMSUser = connection.execute(
                "select name from lms.stg_lmsuser order by sourcesystemidentifier"
            ).fetchall()
            assert len(stg_LMSUser) == 3
            assert USER_NAMES == [x["name"] for x in stg_LMSUser]

            # assert - production table is correct
            LMSUser = connection.execute(
                "select name, deletedat from lms.lmsuser order by sourcesystemidentifier"
            ).fetchall()
            assert len(LMSUser) == 3
            assert USER_NAMES == [x["name"] for x in LMSUser]
            assert [None, None, None] == [x["deletedat"] for x in LMSUser]
Пример #6
0
        def upload_with_bob_missing():
            # act
            upload_users(adapter, create_user_df(USER_NAMES_WITHOUT_BOB))

            # assert - staging table doesn't have Bob
            stg_LMSUser = connection.execute(
                "SELECT Name from lms.stg_LMSUser").fetchall()
            assert len(stg_LMSUser) == 2
            assert USER_NAMES_WITHOUT_BOB == [x["Name"] for x in stg_LMSUser]

            # assert - production table still has all three, with Bob soft deleted
            LMSUser = connection.execute(
                "SELECT Name, DeletedAt from lms.LMSUser").fetchall()
            assert len(LMSUser) == 3
            assert USER_NAMES == [x["Name"] for x in LMSUser]
            deleted_ats = [x["DeletedAt"] for x in LMSUser]
            assert deleted_ats[0] is None
            assert deleted_ats[1] is not None
            assert deleted_ats[2] is None
Пример #7
0
        def upload_with_bob_restored():
            # arrange - Bob restored
            updated_user_df = create_user_df(USER_NAMES)
            updated_user_df.at[1,
                               "LastModifiedDate"] = UPDATED_LAST_MODIFIED_DATE

            # act
            upload_users(adapter, updated_user_df)

            # assert - staging table has Bob
            stg_LMSUser = connection.execute(
                "SELECT Name from lms.stg_LMSUser").fetchall()
            assert len(stg_LMSUser) == 3
            assert USER_NAMES == [x["Name"] for x in stg_LMSUser]

            # assert - production table still has all three, with Bob no longer soft deleted
            LMSUser = connection.execute(
                "SELECT Name, DeletedAt from lms.LMSUser").fetchall()
            assert len(LMSUser) == 3
            assert USER_NAMES == [x["Name"] for x in LMSUser]
            assert [None, None, None] == [x["DeletedAt"] for x in LMSUser]
        def upload_with_bob_missing():
            # act
            upload_users(adapter, create_user_df(USER_NAMES_WITHOUT_BOB))

            # assert - staging table doesn't have Bob
            stg_LMSUser = connection.execute(
                "select name from lms.stg_lmsuser order by sourcesystemidentifier"
            ).fetchall()
            assert len(stg_LMSUser) == 2
            assert USER_NAMES_WITHOUT_BOB == [x["name"] for x in stg_LMSUser]

            # assert - production table still has all three, with Bob soft deleted
            LMSUser = connection.execute(
                "select name, deletedat from lms.lmsuser order by sourcesystemidentifier"
            ).fetchall()
            assert len(LMSUser) == 3
            assert USER_NAMES == [x["name"] for x in LMSUser]
            deleted_ats = [x["deletedat"] for x in LMSUser]
            assert deleted_ats[0] is None
            assert deleted_ats[1] is not None
            assert deleted_ats[2] is None