class_docstr: Test the scene class.
class_docstr_tok: ["Test","the","scene","class","."]
docstr: Test getting storage options from reader kwargs.
  
  Case where each reader have their own storage options.
docstr_tok: ["Test","getting","storage","options","from","reader","kwargs",".","Case","where","each","reader","have","their","own","storage","options","."]
code: def test_storage_options_from_reader_kwargs_per_reader(self):
      """Test getting storage options from reader kwargs.
  
      Case where each reader have their own storage options.
      """
      filenames = {
          "reader1": ["s3://data-bucket/file1"],
          "reader2": ["s3://data-bucket/file2"],
          "reader3": ["s3://data-bucket/file3"],
      }
      storage_options_1 = {"option1": "1"}
      storage_options_2 = {"option2": "2"}
      storage_options_3 = {"option3": "3"}
      reader_kwargs = {
          "reader1": {"reader_opt_1": "foo"},
          "reader2": {"reader_opt_2": "bar"},
          "reader3": {"reader_opt_3": "baz"},
      }
      expected_reader_kwargs = deepcopy(reader_kwargs)
      reader_kwargs["reader1"]["storage_options"] = storage_options_1
      reader_kwargs["reader2"]["storage_options"] = storage_options_2
      reader_kwargs["reader3"]["storage_options"] = storage_options_3
      orig_reader_kwargs = deepcopy(reader_kwargs)
  
      with mock.patch("satpy.scene.load_readers") as load_readers:
          with mock.patch("fsspec.open_files") as open_files:
              Scene(filenames=filenames, reader_kwargs=reader_kwargs)
              call_ = load_readers.mock_calls[0]
              assert (
                  call_.kwargs["reader_kwargs"]
                  == expected_reader_kwargs
              )
              assert (
                  mock.call(filenames["reader1"], **storage_options_1)
                  in open_files.mock_calls
              )
              assert (
                  mock.call(filenames["reader2"], **storage_options_2)
                  in open_files.mock_calls
              )
              assert (
                  mock.call(filenames["reader3"], **storage_options_3)
                  in open_files.mock_calls
              )
              assert reader_kwargs == orig_reader_kwargs
  
imports: import os
  import random
  import string
  from copy import deepcopy
  from unittest import mock
  import pytest
  import satpy
  from satpy import Scene
  from satpy.tests.utils import FAKE_FILEHANDLER_END, FAKE_FILEHANDLER_START, spy_decorator
label_desc: Use image node_id 16 for calling the TestScene obj's underlying member method code with example usage: obj.test_storage_options_from_reader_kwargs_per_reader() without return types