def testCloneModelWithCheckpoint(self): checkpointMgr = ModelCheckpointMgr() modelID = uuid.uuid1().hex destModelID = uuid.uuid1().hex # Create the source model with meta-info only (no checkpoint) modelDef = {'a': 1, 'b': 2, 'c':3} checkpointMgr.define(modelID, modelDef) # Create a model that we can clone model1 = ModelFactory.create(self._getModelParams("variant1")) checkpointMgr.save(modelID, model1, attributes="attributes1") # Clone the source model checkpointMgr.clone(modelID, destModelID) # Discard the source model checkpoint checkpointMgr.remove(modelID) # Verify that the destination model's definition is the same as the # source model's destModelDef = checkpointMgr.loadModelDefinition(destModelID) self.assertDictEqual(destModelDef, modelDef) # Verify that the destination model's attributes match the source's attributes = checkpointMgr.loadCheckpointAttributes(destModelID) self.assertEqual(attributes, "attributes1") # Attempt to load the cloned model from checkpoint model = checkpointMgr.load(destModelID) self.assertEqual(str(model.getFieldInfo()), str(model1.getFieldInfo()))
def testCloneModelWithDefinitionOnly(self): checkpointMgr = ModelCheckpointMgr() modelID = uuid.uuid1().hex destModelID = uuid.uuid1().hex # Create the source model with meta-info only (no checkpoint) modelDef = {'a': 1, 'b': 2, 'c':3} checkpointMgr.define(modelID, modelDef) # Clone the source model checkpointMgr.clone(modelID, destModelID) # Verify that the destination model's definition is the same as the # source model's destModelDef = checkpointMgr.loadModelDefinition(destModelID) self.assertDictEqual(destModelDef, modelDef) # Calling load when the model checkpoint doesn't exist should raise an # exception with self.assertRaises(ModelNotFound): checkpointMgr.load(destModelID) # Calling clone when the destination model archive already exists should # raise an exception with self.assertRaises(ModelAlreadyExists): checkpointMgr.clone(modelID, destModelID)
def testCloneModelWithCheckpoint(self): checkpointMgr = ModelCheckpointMgr() modelID = uuid.uuid1().hex destModelID = uuid.uuid1().hex # Create the source model with meta-info only (no checkpoint) modelDef = {'a': 1, 'b': 2, 'c': 3} checkpointMgr.define(modelID, modelDef) # Create a model that we can clone model1 = ModelFactory.create(self._getModelParams("variant1")) checkpointMgr.save(modelID, model1, attributes="attributes1") # Clone the source model checkpointMgr.clone(modelID, destModelID) # Discard the source model checkpoint checkpointMgr.remove(modelID) # Verify that the destination model's definition is the same as the # source model's destModelDef = checkpointMgr.loadModelDefinition(destModelID) self.assertDictEqual(destModelDef, modelDef) # Verify that the destination model's attributes match the source's attributes = checkpointMgr.loadCheckpointAttributes(destModelID) self.assertEqual(attributes, "attributes1") # Attempt to load the cloned model from checkpoint model = checkpointMgr.load(destModelID) self.assertEqual(str(model.getFieldInfo()), str(model1.getFieldInfo()))
def testCloneModelWithDefinitionOnly(self): checkpointMgr = ModelCheckpointMgr() modelID = uuid.uuid1().hex destModelID = uuid.uuid1().hex # Create the source model with meta-info only (no checkpoint) modelDef = {'a': 1, 'b': 2, 'c': 3} checkpointMgr.define(modelID, modelDef) # Clone the source model checkpointMgr.clone(modelID, destModelID) # Verify that the destination model's definition is the same as the # source model's destModelDef = checkpointMgr.loadModelDefinition(destModelID) self.assertDictEqual(destModelDef, modelDef) # Calling load when the model checkpoint doesn't exist should raise an # exception with self.assertRaises(ModelNotFound): checkpointMgr.load(destModelID) # Calling clone when the destination model archive already exists should # raise an exception with self.assertRaises(ModelAlreadyExists): checkpointMgr.clone(modelID, destModelID)
def testCloneModelFromNonExistentSourceRaisesModelNotFound(self): checkpointMgr = ModelCheckpointMgr() # Create the source model with meta-info only modelID = uuid.uuid1().hex destModelID = uuid.uuid1().hex # Calling clone when the source model archive doesn't exist should # raise an exception with self.assertRaises(ModelNotFound): checkpointMgr.clone(modelID, destModelID) # Let's try it again to make sure that the first attempt did not create # unwanted side-effect with self.assertRaises(ModelNotFound): checkpointMgr.clone(modelID, destModelID)
def testCloneModelFromNonExistentSourceRaisesModelNotFound(self): checkpointMgr = ModelCheckpointMgr() # Create the source model with meta-info only modelID = uuid.uuid1().hex destModelID = uuid.uuid1().hex # Calling clone when the source model archive doesn't exist should # raise an exception with self.assertRaises(ModelNotFound): checkpointMgr.clone(modelID, destModelID) # Let's try it again to make sure that the first attempt did not create # unwanted side-effect with self.assertRaises(ModelNotFound): checkpointMgr.clone(modelID, destModelID)