X-Git-Url: https://git.distorted.org.uk/~mdw/disorder/blobdiff_plain/f47d40ba33dbfa7cb4fd6a8e22176bd4fa61e9ea..f0feb22e80bfe438c16d212a7cc8be6d2282b6ac:/tests/dump.py diff --git a/tests/dump.py b/tests/dump.py index 8cf0943..f3122c2 100755 --- a/tests/dump.py +++ b/tests/dump.py @@ -23,33 +23,45 @@ import dtest,time,disorder,re def test(): """Exercise database dumper""" dtest.start_daemon() + dtest.create_user() c = disorder.client() track = "%s/Joe Bloggs/First Album/02:Second track.ogg" % dtest.tracks dump = "%s/dumpfile" % dtest.testroot - print "setting a track pref" + print " setting a track pref" c.set(track, "foo", "before") assert c.get(track, "foo") == "before", "checking track foo=before" - print "setting a global pref" + print " setting a global pref" c.setglobal("foo", "before"); assert c.getglobal("foo") == "before", "checking global foo=before" - print "adding a tag" - c.set(track, "tags", "wibble") - print "checking track appears in tag search" + print " adding a tag" + # Exercise the tags-changed code + c.set(track, "tags", " first tag, Another Tag") + assert dtest.lists_have_same_contents(c.tags(), + [u"another tag", u"first tag"]),\ + "checking tag list(1)" + c.set(track, "tags", "wibble, another tag ") + assert dtest.lists_have_same_contents(c.tags(), + [u"another tag", u"wibble"]),\ + "checking tag list(2)" + print " checking track appears in tag search" tracks = c.search(["tag:wibble"]) - assert len(tracks) == 1, "checking there is exactly one search result" - assert tracks[0] == track, "checking for right search result" - print "dumping database" + assert len(tracks) == 1, "checking there is exactly one search result(1)" + assert tracks[0] == track, "checking for right search result(1)" + tracks = c.search(["tag: another tAg "]) + assert len(tracks) == 1, "checking there is exactly one search result(2)" + assert tracks[0] == track, "checking for right search result(2)" + print " dumping database" print dtest.command(["disorder-dump", "--config", disorder._configfile, "--dump", dump]) - print "changing track pref" + print " changing track pref" c.set(track, "foo", "after"); assert c.get(track, "foo") == "after", "checking track foo=before" - print "changing global pref" + print " changing global pref" c.setglobal("foo", "after"); assert c.getglobal("foo") == "after", "checking global foo=before" - print "adding fresh track pref" + print " adding fresh track pref" c.set(track, "bar", "after") - print "adding fresh global pref" + print " adding fresh global pref" c.setglobal("bar", "after") dtest.stop_daemon(); print "restoring database" @@ -57,18 +69,21 @@ def test(): "--undump", dump]) dtest.start_daemon(); c = disorder.client() - print "checking track pref" + print " checking track pref" assert c.get(track, "foo") == "before", "checking track foo=before after undump" - print "checking global pref" + print " checking global pref" assert c.getglobal("foo") == "before", "checking global foo=before after undump" - print "checking fresh track pref" + print " checking fresh track pref" assert c.get(track, "bar") is None, "checking fresh track pref has gone" - print "checking fresh global pref" + print " checking fresh global pref" assert c.getglobal("bar") is None, "checking fresh global pref has gone" - print "checking tag search still works" + print " checking tag search still works" tracks = c.search(["tag:wibble"]) assert len(tracks) == 1, "checking there is exactly one search result" - assert tracks[0] == track, "checking for right search result" + assert tracks[0] == track, "checking for right search result(3)" + assert dtest.lists_have_same_contents(c.tags(), + [u"another tag", u"wibble"]),\ + "checking tag list(3)" if __name__ == '__main__': dtest.run()