code: def test_analysis_requests(self):
      # listAnalysis
      list_analysis = self.client.get("/api/analysis/", format="json")
      self.assertEqual(list_analysis.status_code, 200)
      self.assertEqual(
          len(list_analysis.data), Analysis.objects.count()
      )
  
      # createAnalysis
      list_subprocessors = self.client.get(
          "/api/subprocessors/", format="json"
      )
      subprocessor = self.client.get(
          list_subprocessors.data[0]["url"], format="json"
      )
  
      list_presets = self.client.get("/api/presets/", format="json")
      preset = self.client.get(
          list_presets.data[0]["url"], format="json"
      )
  
      data = {
          "title": "test_analysis",
          "preset": preset.data["url"],
          "sub_processor": subprocessor.data["url"],
          "parameters_schema": {},
      }
      analysis = self.client.post("/api/analysis/", data, format="json")
      self.assertEqual(analysis.status_code, 201)
  
      # retrieveAnalysis
      self.assertEqual(
          self.client.get(
              analysis.data["url"], format="json"
          ).status_code,
          200,
      )
  
      # update
      data["title"] = "test_analysis_update"
      analysis = self.client.put(
          analysis.data["url"], data, format="json"
      )
      self.assertEqual(analysis.data["title"], data["title"])
  
      # delete
      self.delete_test(analysis)
  
imports: from timeside.server.models import *
  from timeside.server.tests.timeside_test_server import TimeSideTestServer
label_desc: Use image node_id 2 for calling the TestAnalysisRequests obj's underlying member method code with example usage: obj.test_analysis_requests() without return types