code: def test_archive_experiment_with_runs(self):
      client = self.client
      response = client.get(
          "/api/experiments/search",
          params={"q": f"Experiment 2 {self.test_id}"},
      )
      self.assertEqual(200, response.status_code)
      data = response.json()
      exp_uuid = data[0]["id"]
  
      response = client.put(
          f"/api/experiments/{exp_uuid}/", json={"archived": True}
      )
      self.assertEqual(response.status_code, 400)
      error_msg = f"Cannot archive experiment '{exp_uuid}'. Experiment has associated runs."
      self.assertEqual(response.json()["message"], error_msg)
  
imports: import uuid
  from tests.base import PrefilledDataApiTestBase
label_desc: Use image node_id 21 for calling the TestStructuredRunApi obj's underlying member method code with example usage: obj.test_archive_experiment_with_runs() without return types