def test01CtorSerilization(self): """ c'tor and serialization """ # # empty c'tor req = Request() self.assertEqual(isinstance(req, Request), True) self.assertEqual(req.JobID, 0) self.assertEqual(req.Status, "Waiting") req = Request(self.fromDict) self.assertEqual(isinstance(req, Request), True) self.assertEqual(req.RequestName, "test") self.assertEqual(req.JobID, 12345) self.assertEqual(req.Status, "Waiting") toJSON = req.toJSON() self.assertEqual(toJSON["OK"], True, "JSON serialization failed") fromJSON = toJSON["Value"] req = Request(fromJSON) toSQL = req.toSQL() self.assertEqual(toSQL["OK"], True) toSQL = toSQL["Value"] self.assertEqual(toSQL.startswith("INSERT"), True) req.RequestID = 1 toSQL = req.toSQL() self.assertEqual(toSQL["OK"], True) toSQL = toSQL["Value"] self.assertEqual(toSQL.startswith("UPDATE"), True)
def test02Props( self ): """ props """ # # valid values req = Request() req.RequestID = 1 self.assertEqual( req.RequestID, 1 ) req.RequestName = "test" self.assertEqual( req.RequestName, "test" ) req.JobID = 1 self.assertEqual( req.JobID, 1 ) req.CreationTime = "1970-01-01 00:00:00" self.assertEqual( req.CreationTime, datetime.datetime( 1970, 1, 1, 0, 0, 0 ) ) req.CreationTime = datetime.datetime( 1970, 1, 1, 0, 0, 0 ) self.assertEqual( req.CreationTime, datetime.datetime( 1970, 1, 1, 0, 0, 0 ) ) req.SubmitTime = "1970-01-01 00:00:00" self.assertEqual( req.SubmitTime, datetime.datetime( 1970, 1, 1, 0, 0, 0 ) ) req.SubmitTime = datetime.datetime( 1970, 1, 1, 0, 0, 0 ) self.assertEqual( req.SubmitTime, datetime.datetime( 1970, 1, 1, 0, 0, 0 ) ) req.LastUpdate = "1970-01-01 00:00:00" self.assertEqual( req.LastUpdate, datetime.datetime( 1970, 1, 1, 0, 0, 0 ) ) req.LastUpdate = datetime.datetime( 1970, 1, 1, 0, 0, 0 ) self.assertEqual( req.LastUpdate, datetime.datetime( 1970, 1, 1, 0, 0, 0 ) ) req.Error = ""
def test_Props(): """props""" # # valid values req = Request() req.RequestID = 1 assert req.RequestID == 1 req.RequestName = "test" assert req.RequestName == "test" req.JobID = 1 assert req.JobID == 1 req.CreationTime = "1970-01-01 00:00:00" assert req.CreationTime == datetime.datetime(1970, 1, 1, 0, 0, 0) req.CreationTime = datetime.datetime(1970, 1, 1, 0, 0, 0) assert req.CreationTime == datetime.datetime(1970, 1, 1, 0, 0, 0) req.SubmitTime = "1970-01-01 00:00:00" assert req.SubmitTime == datetime.datetime(1970, 1, 1, 0, 0, 0) req.SubmitTime = datetime.datetime(1970, 1, 1, 0, 0, 0) assert req.SubmitTime == datetime.datetime(1970, 1, 1, 0, 0, 0) req.LastUpdate = "1970-01-01 00:00:00" assert req.LastUpdate == datetime.datetime(1970, 1, 1, 0, 0, 0) req.LastUpdate = datetime.datetime(1970, 1, 1, 0, 0, 0) assert req.LastUpdate == datetime.datetime(1970, 1, 1, 0, 0, 0) req.Error = ""
def test01CtorSerilization( self ): """ c'tor and serialization """ # # empty c'tor req = Request() self.assertEqual( isinstance( req, Request ), True ) self.assertEqual( req.JobID, 0 ) self.assertEqual( req.Status, "Waiting" ) req = Request( self.fromDict ) self.assertEqual( isinstance( req, Request ), True ) self.assertEqual( req.RequestName, "test" ) self.assertEqual( req.JobID, 12345 ) self.assertEqual( req.Status, "Waiting" ) toJSON = req.toJSON() self.assertEqual( toJSON["OK"], True, "JSON serialization failed" ) fromJSON = toJSON["Value"] req = Request( fromJSON ) toSQL = req.toSQL() self.assertEqual( toSQL["OK"], True ) toSQL = toSQL["Value"] self.assertEqual( toSQL.startswith( "INSERT" ), True ) req.RequestID = 1 toSQL = req.toSQL() self.assertEqual( toSQL["OK"], True ) toSQL = toSQL["Value"] self.assertEqual( toSQL.startswith( "UPDATE" ), True )
def test03sql( self ): """ sql insert or update """ operation = Operation() operation.Type = "ReplicateAndRegister" request = Request() request.RequestName = "testRequest" request.RequestID = 1 # # no parent request set try: operation.toSQL() except Exception, error: self.assertEqual( isinstance( error, AttributeError ), True, "wrong exc raised" ) self.assertEqual( str( error ), "RequestID not set", "wrong exc reason" )
def test03sql(self): """ sql insert or update """ operation = Operation() operation.Type = "ReplicateAndRegister" request = Request() request.RequestName = "testRequest" request.RequestID = 1 # # no parent request set try: operation.toSQL() except Exception, error: self.assertEqual(isinstance(error, AttributeError), True, "wrong exc raised") self.assertEqual(str(error), "RequestID not set", "wrong exc reason")
def test07List(self): """ setitem, delitem, getitem and dirty """ r = Request() ops = [Operation() for i in range(5)] for op in ops: r.addOperation(op) for i, op in enumerate(ops): self.assertEqual(op, r[i], "__getitem__ failed") op = Operation() r[0] = op self.assertEqual(op, r[0], "__setitem__ failed") del r[0] self.assertEqual(len(r), 4, "__delitem__ failed") r.RequestID = 1 del r[0] self.assertEqual(r.cleanUpSQL(), None, "cleanUpSQL failed after __delitem__ (no opId)") r[0].OperationID = 1 del r[0] self.assertEqual( r.cleanUpSQL(), "DELETE FROM `Operation` WHERE `RequestID` = 1 AND `OperationID` IN (1);", "cleanUpSQL failed after __delitem__ (opId set)") r[0].OperationID = 2 r[0] = Operation() self.assertEqual( r.cleanUpSQL(), "DELETE FROM `Operation` WHERE `RequestID` = 1 AND `OperationID` IN (1,2);", "cleanUpSQL failed after __setitem_ (opId set)") json = r.toJSON() self.assertEqual("__dirty" in json["Value"], True, "__dirty missing in json") r2 = Request(json["Value"]) self.assertEqual(r.cleanUpSQL(), r2.cleanUpSQL(), "wrong cleanUpSQL after json")
def test07List( self ): """ setitem, delitem, getitem and dirty """ r = Request() ops = [ Operation() for i in range( 5 ) ] for op in ops: r.addOperation( op ) for i, op in enumerate( ops ): self.assertEqual( op, r[i], "__getitem__ failed" ) op = Operation() r[0] = op self.assertEqual( op, r[0], "__setitem__ failed" ) del r[0] self.assertEqual( len( r ), 4, "__delitem__ failed" ) r.RequestID = 1 del r[0] self.assertEqual( r.cleanUpSQL(), None, "cleanUpSQL failed after __delitem__ (no opId)" ) r[0].OperationID = 1 del r[0] clean = r.cleanUpSQL() self.assertEqual( clean, ['DELETE FROM `Operation` WHERE `RequestID`=1 AND `OperationID` IN (1);\n', 'DELETE FROM `File` WHERE `OperationID`=1;\n'], "cleanUpSQL failed after __delitem__ (opId set)\n%s" % clean ) r[0].OperationID = 2 r[0] = Operation() clean = r.cleanUpSQL() self.assertEqual( clean, ['DELETE FROM `Operation` WHERE `RequestID`=1 AND `OperationID` IN (1,2);\n', 'DELETE FROM `File` WHERE `OperationID`=1;\n', 'DELETE FROM `File` WHERE `OperationID`=2;\n'], "cleanUpSQL failed after __setitem_ (opId set):\n%s" % clean ) json = r.toJSON() self.assertEqual( "__dirty" in json["Value"], True, "__dirty missing in json" ) r2 = Request( json["Value"] ) self.assertEqual( r.cleanUpSQL(), r2.cleanUpSQL(), "wrong cleanUpSQL after json" )
def test02Props(self): """ props """ # # valid values req = Request() req.RequestID = 1 self.assertEqual(req.RequestID, 1) req.RequestName = "test" self.assertEqual(req.RequestName, "test") req.JobID = 1 self.assertEqual(req.JobID, 1) req.JobID = "1" self.assertEqual(req.JobID, 1) req.CreationTime = "1970-01-01 00:00:00" self.assertEqual(req.CreationTime, datetime.datetime(1970, 1, 1, 0, 0, 0)) req.CreationTime = datetime.datetime(1970, 1, 1, 0, 0, 0) self.assertEqual(req.CreationTime, datetime.datetime(1970, 1, 1, 0, 0, 0)) req.SubmitTime = "1970-01-01 00:00:00" self.assertEqual(req.SubmitTime, datetime.datetime(1970, 1, 1, 0, 0, 0)) req.SubmitTime = datetime.datetime(1970, 1, 1, 0, 0, 0) self.assertEqual(req.SubmitTime, datetime.datetime(1970, 1, 1, 0, 0, 0)) req.LastUpdate = "1970-01-01 00:00:00" self.assertEqual(req.LastUpdate, datetime.datetime(1970, 1, 1, 0, 0, 0)) req.LastUpdate = datetime.datetime(1970, 1, 1, 0, 0, 0) self.assertEqual(req.LastUpdate, datetime.datetime(1970, 1, 1, 0, 0, 0)) req.Error = ""