Tests: Merge import_NEW.t into import.t

This commit is contained in:
Wilhelm Schuermann
2015-07-16 13:38:34 +02:00
parent 8613a49f6e
commit 2bc418c7e5
2 changed files with 34 additions and 87 deletions

View File

@@ -29,6 +29,7 @@
import sys
import os
import unittest
import json
# Ensure python finds the local simpletap module
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
@@ -41,9 +42,11 @@ class TestImport(TestCase):
self.t = Task()
self.t.config("dateformat", "m/d/Y")
self.data1 = """{"uuid":"00000000-0000-0000-0000-000000000000","description":"zero","project":"A","status":"pending","entry":"1234567889"}
{"uuid":"11111111-1111-1111-1111-111111111111","description":"one","project":"B","status":"pending","entry":"1234567889"}
self.data1 = """[
{"uuid":"00000000-0000-0000-0000-000000000000","description":"zero","project":"A","status":"pending","entry":"1234567889"},
{"uuid":"11111111-1111-1111-1111-111111111111","description":"one","project":"B","status":"pending","entry":"1234567889"},
{"uuid":"22222222-2222-2222-2222-222222222222","description":"two","status":"completed","entry":"1234524689","end":"1234524690"}
]
"""
self.data2 = """{"uuid":"44444444-4444-4444-4444-444444444444","description":"three","status":"pending","entry":"1234567889"}
@@ -72,6 +75,13 @@ class TestImport(TestCase):
self.assertData1()
def test_import_stdin_default(self):
"""Import from stdin is default"""
code, out, err = self.t("import", input=self.data1)
self.assertIn("Imported 3 tasks", err)
self.assertData1()
def test_import_file(self):
"""Import from a file"""
filename = mkstemp(self.data1)
@@ -92,6 +102,28 @@ class TestImport(TestCase):
self.assertData1()
self.assertData2()
def test_import_update(self):
"""Update existing tasks"""
self.t("import", input=self.data1)
self.t("2 delete") # Depends on import order. Bad. See next line.
# TODO: Use this once filtering by UUID works again...
#self.t("11111111-1111-1111-1111-111111111111 delete")
self.t("next") # Run GC
_t = sorted(self.t.export(), key=lambda t: t["uuid"])
_t[0]["project"] = "C"
_t[1]["status"] = "pending"
_t[2]["status"] = "pending"
self.t("import", input="\n".join(json.dumps(t) for t in _t))
_t = sorted(self.t.export(), key=lambda t: t["uuid"])
self.assertEqual(_t[0]["status"], "pending")
self.assertEqual(_t[0]["project"], "C")
self.assertEqual(_t[1]["status"], "pending")
self.assertEqual(_t[2]["status"], "pending")
if __name__ == "__main__":
from simpletap import TAPTestRunner
unittest.main(testRunner=TAPTestRunner())