[tracker] functional-tests: Add test for problematic DELETE sparql (NB#217636)



commit 7713fb421dfb36ca9a0b4bf70bcfa9c15fda584e
Author: Ivan Frade <ivan frade nokia com>
Date:   Tue Jan 18 13:52:03 2011 +0200

    functional-tests: Add test for problematic DELETE sparql (NB#217636)

 tests/functional-tests/02-sparql-bugs.py |   42 ++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)
---
diff --git a/tests/functional-tests/02-sparql-bugs.py b/tests/functional-tests/02-sparql-bugs.py
index e3620db..fe8f497 100755
--- a/tests/functional-tests/02-sparql-bugs.py
+++ b/tests/functional-tests/02-sparql-bugs.py
@@ -147,6 +147,48 @@ class TrackerStoreSparqlBugsTests (CommonTrackerStoreTest):
                 }
                 """ 
                 
+        @expectedFailureBug ("NB#217636")
+        def test_02_NB217636_delete_statements (self):
+                """
+                Bug 217636 - Not able to delete contact using
+                DELETE {<contact:556> ?p ?v} WHERE {<contact:556> ?p ?v}.
+                """
+                data = """ INSERT {
+                   <contact:test-nb217636> a nco:PersonContact ;
+                          nco:fullname 'Testing bug 217636'
+                }
+                """
+                self.tracker.update (data)
+
+                results = self.tracker.query ("""
+                 SELECT ?u WHERE {
+                    ?u a nco:PersonContact ;
+                      nco:fullname 'Testing bug 217636' .
+                      }
+                      """)
+                self.assertEquals (len (results), 1)
+                self.assertEquals (len (results[0]), 1)
+                self.assertEquals (results[0][0], "contact:test-nb217636")
+
+                problematic_delete = """
+                DELETE { <contact:test-nb217636> ?p ?v }
+                WHERE  { <contact:test-nb217636> ?p ?v }'
+                """
+                self.tracker.update (problematic_delete)
+
+                results_after = self.tracker.query ("""
+                 SELECT ?u WHERE {
+                    ?u a nco:PersonContact ;
+                      nco:fullname 'Testing bug 217636' .
+                      }
+                      """)
+                self.assertEquals (len (results_after), 0)
+
+                # Safe deletion
+                delete = """
+                DELETE { <contact:test-nb217636> a rdfs:Resource. }
+                """
+                self.tracker.update (delete)
 
 if __name__ == "__main__":
 	ut.main()



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]