code: def test_group(self):
      dataset = fo.Dataset()
      dataset.add_group_field("group")
      sample, frame = [
          Index(
              name="id",
              key=[IndexFields(field="_id", type="asc")],
          ),
          Index(
              name="filepath",
              key=[IndexFields(field="filepath", type="asc")],
          ),
          Index(
              name="group.id",
              key=[IndexFields(field="group._id", type="asc")],
          ),
          Index(
              name="group.name",
              key=[IndexFields(field="group.name", type="asc")],
          ),
      ], []
      sample_result, frame_result = from_dict(
          dataset.get_index_information()
      )
      self.assertEqual(_asdict(sample), _asdict(sample_result))
      self.assertEqual(_asdict(frame), _asdict(frame_result))
  
file_path: fiftyone/tests/unittests/index_tests.py
imports: import typing
  from dataclasses import asdict
  import unittest
  import fiftyone
  from fiftyone.server.indexes import from_dict, Index, IndexFields
  from decorators import drop_datasets
label_desc: Use image node_id 2 for calling the ServerIndexTests obj's underlying member method code with example usage: obj.test_group() without return types