code: def test_update_model(self):
      model = self.dal.model.create(Model(self.model_input_dict))
  
      # Update required and optional parameters
      updated_model_input_dict = self.model_input_dict.copy()
      updated_model_input_dict["id"] = model.id
      updated_model_input_dict["name"] = "model_4a"
      updated_model_input_dict["description"] = "this is a cool model"
      updated_model = self.dal.model.update(updated_model_input_dict)
      assert model.id == updated_model.id
      assert model.updated_at < updated_model.updated_at
      assert updated_model.name == updated_model_input_dict["name"]
      assert (
          updated_model.description
          == updated_model_input_dict["description"]
      )
  
imports: from __future__ import division
  from __future__ import print_function
  from __future__ import unicode_literals
  import os
  import shutil
  import tempfile
  import platform
  from datetime import datetime
  from datmo.core.storage.driver.blitzdb_dal_driver import BlitzDBDALDriver
  from datmo.core.storage.local.dal import LocalDAL
  from datmo.core.entity.model import Model
  from datmo.core.util.exceptions import EntityNotFound, InvalidArgumentType
label_desc: Use image node_id 8 for calling the TestLocalDAL obj's underlying member method code with example usage: obj.test_update_model() without return types