コード例 #1
0
def test_delete_record():
    for ext in ('.mst', '.xrf'):
        fname = join("..", "sample", 'one%s' % ext)
        if exists(fname):
            remove(fname)
    mf = MasterFile(join("..", "sample", "one.mst"))
    rec = MasterRecord()
    rec["300"] = "XXXX"
    rec.save(mf)
    print rec
    del mf

    mf = MasterFile(join("..", "sample", "one.mst"))
    l1 = len(mf)
    mf.delete(1)
    mf.commit()
    del mf

    mf = MasterFile(join("..", "sample", "one.mst"))
    l2 = len(mf)
    del mf

    print "l1=" + str(l1)
    print "l2=" + str(l2)
    assert l2 == l1 - 1, "wrong number of active records after deleting record"
コード例 #2
0
ファイル: test_files.py プロジェクト: rodsenra/pyisis
def test_copy():
    """Copy the sample database to a new file"""
    clean_start()
    input_mf = MasterFile(join("..", "sample", "cds.mst"))
    output_mf = MasterFile(testmst)
    for rec in input_mf:
        rec.save(output_mf)
    output_mf.commit()
    assert len(input_mf) == len(output_mf)
コード例 #3
0
ファイル: test_files.py プロジェクト: rodsenra/pyisis
def test_write_multiple_records():
    """Write multiple records in a newly created database."""
    clean_start()
    size = 381
    mf = MasterFile(testmst)
    for i in range(size):
        rec = MasterRecord()
        rec.update(test_data)
        rec.save(mf)
    mf.commit()
    assert len(mf) == size
    assert mf[90].v50.data == 'Incl. bibl.'
    del mf
コード例 #4
0
ファイル: test_files.py プロジェクト: rodsenra/pyisis
def test_undelete():
    """Create a record and undelete it"""
    clean_start()
    mf = MasterFile(testmst)
    r = MasterRecord()
    r.update(test_data)
    r.save(mf)
    mf.delete(1)
    mf.commit()
    r = mf[1]
    assert r.status == LOGICALLY_DELETED
    assert mf.xrf[1].status == 'logically deleted'
    assert len(mf) == 0
    mf.undelete(1)
    r = mf[1]
    assert r.status == ACTIVE
    assert mf.xrf[1].status == 'active'
    assert len(mf) == 1