← Back to team overview

oship-dev team mailing list archive

[Branch ~oship-dev/oship/devel] Rev 496: Enforced some invariants in the AuditDetails class and added tests for it. Bug #625622

 

------------------------------------------------------------
revno: 496
committer: Wagner Francisco Mezaroba <wagner@wagner-laptop>
branch nick: oship
timestamp: Mon 2010-09-27 11:34:15 -0300
message:
  Enforced some invariants in the AuditDetails class and added tests for it. Bug #625622
added:
  src/oship/openehr/rm/common/generic/tests/generic.py
modified:
  src/oship/openehr/rm/common/generic/__init__.py


--
lp:oship
https://code.launchpad.net/~oship-dev/oship/devel

Your team OSHIP Development Team is subscribed to branch lp:oship.
To unsubscribe from this branch go to https://code.launchpad.net/~oship-dev/oship/devel/+edit-subscription
=== modified file 'src/oship/openehr/rm/common/generic/__init__.py'
--- src/oship/openehr/rm/common/generic/__init__.py	2010-08-01 16:37:49 +0000
+++ src/oship/openehr/rm/common/generic/__init__.py	2010-09-27 14:34:15 +0000
@@ -24,9 +24,16 @@
 
     grok.implements(IAuditDetails)
 
-    def __init___(self, systemId, committer, timeCommited, changeType,
+    def __init__(self, systemId, committer, timeCommited, changeType,
                   description):
-
+        if systemId is None or (len(systemId.strip()) == 0):
+            raise ValueError(u'systemId /= Void and then not system_id.is_empty')
+        if committer is None:
+            raise ValueError(u'committer /= Void')
+        if timeCommited is None:
+            raise ValueError(u'timeCommited /= Void')
+        if changeType is None: #In order to finish validing changeType its necessary to use the terminologicalservice
+            raise ValueError(u'changeType /= Void')
         self.systemId=systemId
         self.committer=committer
         self.timeCommitted=timeCommited

=== added file 'src/oship/openehr/rm/common/generic/tests/generic.py'
--- src/oship/openehr/rm/common/generic/tests/generic.py	1970-01-01 00:00:00 +0000
+++ src/oship/openehr/rm/common/generic/tests/generic.py	2010-09-27 14:34:15 +0000
@@ -0,0 +1,64 @@
+"""
+Do a Python test on the app.
+
+:Test-Layer: python
+"""
+import unittest
+import grok
+
+from oship.openehr.rm.common.generic import AuditDetails, PartyProxy
+from oship.openehr.rm.datatypes.quantity.datetime import DvDateTime
+from oship.openehr.rm.datatypes.text import DvCodedText, DvText
+
+class AuditDetailsTest(unittest.TestCase):
+
+    def setUp(self):
+        pass
+
+    def tearDown(self):
+        pass
+
+    def testShouldNotInitializeWithNullSystemId(self):
+        self.assertRaises(ValueError, AuditDetails, None, self.committer(), self.timeCommitted(), self.changeType(), self.description())
+
+    def testShouldNotInitializeWithEmptySystemId(self):
+        emptySystemId = u'       '
+        self.assertRaises(ValueError, AuditDetails, emptySystemId, self.committer() ,self.timeCommitted(), self.changeType(), self.description())
+
+    def testShouldInitializeWithNotEmptySystemId(self):
+        systemID = u'SystemID'
+        ad = AuditDetails(systemID, self.committer(), self.timeCommitted(), self.changeType(), self.description())
+        self.assertEquals(systemID, ad.systemId)
+
+    def testShouldNotInitializeWithNullCommiter(self):
+        self.assertRaises(ValueError, AuditDetails, self.systemID(), None ,self.timeCommitted(), self.changeType(), self.description())
+
+    def testShouldInitializeWithNotNullCommiter(self):
+        AuditDetails(self.systemID(), self.committer(), self.timeCommitted(), self.changeType(), self.description())        
+
+    def testShouldNotInitializeWithNullTimeCommitted(self):
+        self.assertRaises(ValueError, AuditDetails, self.systemID(), self.committer(), None, self.changeType(), self.description())
+
+    def testShouldInitializeWithNotNullTimeCommitted(self):
+        AuditDetails(self.systemID(), self.committer(), self.timeCommitted(), self.changeType(), self.description())        
+
+    def testShouldNotInitializeWithNullChangeType(self):
+        self.assertRaises(ValueError, AuditDetails, self.systemID(), self.committer(), self.timeCommitted(), None, self.description())       
+
+    def testShouldInitializeWithNotNullChangeType(self):
+        AuditDetails(self.systemID(), self.committer(), self.timeCommitted(), self.changeType(), self.description())        
+ 
+    def systemID(self):
+        return u'SystemID'
+
+    def committer(self):    
+        return PartyProxy(None)
+
+    def timeCommitted(self):
+        return DvDateTime(u'2010-09-27 11:03:00',0,None,None,None,None)
+
+    def changeType(self):
+        return DvCodedText(None,u'Changetype',None,None,None,None,None)
+    
+    def description(self):
+        return DvText(u'A description',None,None,None,None,None)