def it_should_match_the_record(test_mssql_db: Tuple[MssqlLmsOperations,
                                                        Connection]):
        adapter, connection = test_mssql_db
        insert_user(connection, "U123456", SOURCE_SYSTEM, 1)
        insert_user(connection, "U123456", "FirstLMS", 2)

        insert_section(connection, "B098765", SOURCE_SYSTEM, 1)
        insert_section(connection, "F098765", "FirstLMS", 2)

        insert_record(connection, "B123456", SOURCE_SYSTEM, 1, 1)
        insert_record(connection, "F234567", "FirstLMS", 2, 2)

        # act
        run_loader(main_arguments(adapter, CSV_PATH))

        # assert - records are unchanged
        LMSUserLMSSectionAssociation = connection.execute(
            "SELECT SourceSystem, SourceSystemIdentifier, DeletedAt from lms.LMSUserLMSSectionAssociation"
        ).fetchall()
        assert len(LMSUserLMSSectionAssociation) == 2
        assert [SOURCE_SYSTEM, "FirstLMS"
                ] == [x["SourceSystem"] for x in LMSUserLMSSectionAssociation]
        assert ["B123456", "F234567"] == [
            x["SourceSystemIdentifier"] for x in LMSUserLMSSectionAssociation
        ]
        assert [None, None
                ] == [x["DeletedAt"] for x in LMSUserLMSSectionAssociation]
コード例 #2
0
    def it_should_soft_delete_the_record(
            test_mssql_db: Tuple[MssqlLmsOperations, Connection]):
        adapter, connection = test_mssql_db

        # arrange - note csv file has only B123456
        insert_section(connection, "B098765", SOURCE_SYSTEM, 1)
        insert_record(connection, "B123456", SOURCE_SYSTEM, 1)
        insert_record(connection, "B234567", SOURCE_SYSTEM, 1)

        # act
        run_loader(main_arguments(adapter, CSV_PATH))

        # assert - B234567 has been soft deleted
        Assignment = connection.execute(
            "SELECT SourceSystemIdentifier from lms.Assignment WHERE DeletedAt IS NOT NULL"
        ).fetchall()
        assert len(Assignment) == 1
        assert Assignment[0]["SourceSystemIdentifier"] == "B234567"
コード例 #3
0
    def it_should_match_the_record(test_mssql_db: Tuple[MssqlLmsOperations,
                                                        Connection]):
        adapter, connection = test_mssql_db

        insert_section(connection, "B098765", SOURCE_SYSTEM, 1)
        insert_section(connection, "B109876", SOURCE_SYSTEM, 2)

        insert_record(connection, "B123456", SOURCE_SYSTEM, 1)
        insert_record(connection, "B234567", SOURCE_SYSTEM, 2)

        # act
        run_loader(main_arguments(adapter, CSV_PATH))

        # assert - records are unchanged
        Assignment = connection.execute(
            "SELECT SourceSystem, SourceSystemIdentifier, DeletedAt from lms.Assignment"
        ).fetchall()
        assert len(Assignment) == 2
        assert [SOURCE_SYSTEM,
                SOURCE_SYSTEM] == [x["SourceSystem"] for x in Assignment]
        assert ["B123456", "B234567"
                ] == [x["SourceSystemIdentifier"] for x in Assignment]
        assert [None, None] == [x["DeletedAt"] for x in Assignment]