code: def test_create_app_api(self):
      app_data = {
          "state": {"test_key1": "test_value", "test_key2": [1, 2, 3]},
          "type": "metric_explorer",
      }
      response = self.client.post("/api/apps/", json=app_data)
      self.assertEqual(201, response.status_code)
      app_id = response.json()["id"]
      get_response = self.client.get(f"/api/apps/{app_id}/")
      data = get_response.json()
      self.assertEqual(app_id, data["id"])
      self.assertDictEqual(app_data["state"], data["state"])
      self.assertEqual(app_data["type"], data["type"])
  
file_path: aim/tests/api/test_dashboards_api.py
imports: from tests.base import PrefilledDataApiTestBase
label_desc: Use image node_id 6 for calling the TestDashboardAppsApi obj's underlying member method code with example usage: obj.test_create_app_api() without return types