code: def test_fill_from_lock_use_appropriate_checksum(dvc, lock_data):
      stage = create_stage(
          PipelineStage,
          dvc,
          PROJECT_FILE,
          deps=["s3://dvc-temp/foo"],
          outs=["bar"],
      )
      lock_data["deps"] = [
          {"path": "s3://dvc-temp/foo", "etag": "e-tag"}
      ]
      StageLoader.fill_from_lock(stage, lock_data)
      assert stage.deps[0].hash_info == HashInfo("etag", "e-tag")
      assert stage.outs[0].hash_info == HashInfo("md5", "bar_checksum")
  
imports: import os
  from copy import deepcopy
  from itertools import chain
  import pytest
  from dvc.dvcfile import PROJECT_FILE, load_file
  from dvc.stage import PipelineStage, create_stage
  from dvc.stage.loader import StageLoader
  from dvc.stage.serialize import split_params_deps
  from dvc_data.hashfile.hash_info import HashInfo
label_desc: Use image node_id 8 for calling a global function with example usage: test_fill_from_lock_use_appropriate_checksum(dvc, lock_data) without return types