def test_tiddler_delete():
    store_root = os.path.join(TMPDIR, 'test_store')

    bag = Bag('alpha')
    STORE.put(bag)

    tiddler = Tiddler('Foo', bag.name)
    tiddler.text = 'lipsum'
    STORE.put(tiddler)

    tiddler = Tiddler('Foo', bag.name)
    tiddler.text = 'lorem ipsum'
    STORE.put(tiddler)

    tiddler = Tiddler('Foo', bag.name)
    STORE.delete(tiddler)

    bag_dir = os.path.join(store_root, 'bags', 'alpha')
    tiddler_file = os.path.join(bag_dir, 'tiddlers', 'Foo')
    assert not os.path.isfile(tiddler_file)
    info = run('git', 'log', '-n1', '--format=%ae %ce: %s', cwd=store_root)
    assert info.strip() == \
            '[email protected] [email protected]: tiddler delete: alpha/Foo'
    assert run('git', 'diff', '--exit-code', cwd=store_root) == ''

    missing_tiddler = Tiddler('Baz', bag.name)
    with raises(NoTiddlerError):
        STORE.delete(missing_tiddler)
Esempio n. 2
0
def test_bag_put():
    bag = Bag('alpha')
    STORE.put(bag)

    store_root = os.path.join(TMPDIR, 'test_store')
    bag_dir = os.path.join(store_root, 'bags', 'alpha')
    assert os.path.isdir(bag_dir)
    info = run('git', 'log', '-n1', '--format=%ae %ce: %s', cwd=store_root)
    assert info.strip() == \
            '[email protected] [email protected]: bag put: alpha'
    assert run('git', 'diff', '--exit-code', cwd=store_root) == ''
def test_recipe_put():
    recipe = Recipe('omega')
    STORE.put(recipe)

    store_root = os.path.join(TMPDIR, 'test_store')
    recipe_filename = os.path.join(store_root, 'recipes', 'omega')
    assert os.path.isfile(recipe_filename)
    info = run('git', 'log', '-n1', '--format=%ae %ce: %s', cwd=store_root)
    assert info.strip() == \
            '[email protected] [email protected]: recipe put: omega'
    assert run('git', 'diff', '--exit-code', cwd=store_root) == ''
Esempio n. 4
0
def test_user_put():
    user = User('John', note='lorem ipsum')
    STORE.put(user)

    store_root = os.path.join(TMPDIR, 'test_store')
    user_filename = os.path.join(store_root, 'users', 'John')
    assert os.path.isfile(user_filename)
    info = run('git', 'log', '-n1', '--format=%ae %ce: %s', cwd=store_root)
    assert info.strip() == \
            '[email protected] [email protected]: user put: John'
    assert run('git', 'diff', '--exit-code', cwd=store_root) == ''
def test_tiddler_put():
    store_root = os.path.join(TMPDIR, "test_store")

    bag = Bag("alpha")
    tiddler = Tiddler("Foo", bag.name)
    tiddler.text = "lorem ipsum\ndolor sit amet"
    tiddler.tags = ["foo", "bar"]

    STORE.put(bag)

    bag_dir = os.path.join(store_root, "bags", "alpha")
    assert os.path.isdir(bag_dir)
    assert os.path.isdir(os.path.join(bag_dir, "tiddlers"))

    STORE.put(tiddler)

    tiddler_file = os.path.join(bag_dir, "tiddlers", "Foo")
    assert os.path.isfile(tiddler_file)
    assert len(tiddler.revision) == 40
    with open(tiddler_file) as fh:
        contents = fh.read()
        assert "tags: foo bar" in contents
        assert tiddler.text in contents
    info = run("git", "log", "-n1", "--format=%ae %ce: %s", cwd=store_root)
    assert info.strip() == "[email protected] [email protected]: tiddler put"
def test_commit():
    tiddler = Tiddler('Bar', BAG.name)
    tiddler.type = 'application/binary'
    tiddler.text = 'lorem ipsum'
    STORE.put(tiddler)

    bag_dir = os.path.join(STORE_ROOT, 'bags', 'alpha')
    tiddler_file = os.path.join(bag_dir, 'tiddlers', 'Bar')
    binary_file = os.path.join(bag_dir, 'tiddlers', '_binaries', 'Bar')

    trevs = run('git', 'log', '--format=%h', '--', tiddler_file, cwd=STORE_ROOT)
    brevs = run('git', 'log', '--format=%h', '--', binary_file, cwd=STORE_ROOT)
    assert len(trevs.splitlines()) == 1
    assert len(brevs.splitlines()) == 1
    assert trevs == brevs

    tiddler.text = 'lorem ipsum\ndolor sit amet'
    STORE.put(tiddler)

    trevs = run('git', 'log', '--format=%h', '--', tiddler_file, cwd=STORE_ROOT)
    brevs = run('git', 'log', '--format=%h', '--', binary_file, cwd=STORE_ROOT)
    assert len(trevs.splitlines()) == 2
    assert len(brevs.splitlines()) == 2
    assert trevs == brevs

    STORE.delete(tiddler)

    trevs = run('git', 'log', '--format=%h', '--', tiddler_file, cwd=STORE_ROOT)
    brevs = run('git', 'log', '--format=%h', '--', binary_file, cwd=STORE_ROOT)
    assert len(trevs.splitlines()) == 3
    assert len(brevs.splitlines()) == 3
    assert trevs == brevs
def test_tiddler_put():
    store_root = os.path.join(TMPDIR, 'test_store')

    bag = Bag('alpha')
    tiddler = Tiddler('Bar', bag.name)
    tiddler.text = 'lorem ipsum'
    tiddler.tags = ['foo', 'bar']

    STORE.put(bag)

    bag_dir = os.path.join(store_root, 'bags', 'alpha')
    assert os.path.isdir(bag_dir)
    assert os.path.isdir(os.path.join(bag_dir, 'tiddlers'))

    STORE.put(tiddler)

    tiddler_file = os.path.join(bag_dir, 'tiddlers', 'Bar')
    assert os.path.isfile(tiddler_file)
    assert re.match('^[a-z0-9]{10}$', tiddler.revision)
    with open(tiddler_file) as fh:
        contents = fh.read()
        assert 'tags: foo bar' in contents
        assert 'lorem ipsum' in contents
    info = run('git', 'log', '-n1', '--format=%ae %ce: %s', cwd=store_root)
    assert info.strip() == \
            '[email protected] [email protected]: tiddler put: alpha/Bar'
    assert run('git', 'diff', '--exit-code', cwd=store_root) == ''
    info = run('git', 'log', '--format=%h', '--', tiddler_file, cwd=store_root)
    assert len(info.splitlines()) == 1

    # ensure there are no undesirable side-effects

    tiddler = Tiddler('Bar', bag.name)
    tiddler.text = 'lorem ipsum\ndolor sit amet'
    tiddler.tags = ['foo']
    STORE.put(tiddler)

    assert tiddler.text == 'lorem ipsum\ndolor sit amet'
    assert tiddler.tags == ['foo']