code: def test_query_snapshots(self):
      snapshot = self.dal.snapshot.create(
          Snapshot(self.snapshot_input_dict)
      )
  
      # All snapshots created are the same, 1 is deleted => 7
      assert len(self.dal.snapshot.query({"id": snapshot.id})) == 1
      _ = self.dal.snapshot.create(Snapshot(self.snapshot_input_dict))
      assert (
          len(
              self.dal.snapshot.query(
                  {"code_id": self.snapshot_input_dict["code_id"]}
              )
          )
          == 2
      )
      assert len(self.dal.snapshot.query({"visible": True})) == 2
  
imports: from __future__ import division
  from __future__ import print_function
  from __future__ import unicode_literals
  import os
  import tempfile
  import platform
  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.entity.snapshot import Snapshot
  from datmo.core.util.exceptions import EntityNotFound, InvalidArgumentType
label_desc: Use image node_id 9 for calling the TestLocalDAL obj's underlying member method code with example usage: obj.test_query_snapshots() without return types