code: def test_mime_types(self, site_dir):
      with testing_server(site_dir) as server:
          headers, _ = do_request(server, "GET /test.html")
          self.assertEqual(headers.get("content-type"), "text/html")
  
          headers, _ = do_request(server, "GET /test.xml")
          self.assertIn(
              headers.get("content-type"),
              ["text/xml", "application/xml"],
          )
  
          headers, _ = do_request(server, "GET /test.css")
          self.assertEqual(headers.get("content-type"), "text/css")
  
          headers, _ = do_request(server, "GET /test.js")
          self.assertEqual(
              headers.get("content-type"), "application/javascript"
          )
  
          headers, _ = do_request(server, "GET /test.json")
          self.assertEqual(
              headers.get("content-type"), "application/json"
          )
  
imports: import contextlib
  import email
  import io
  import sys
  import threading
  import time
  import unittest
  from pathlib import Path
  from unittest import mock
  from mkdocs.livereload import LiveReloadServer
  from mkdocs.tests.base import change_dir, tempdir
label_desc: Use image node_id 21 for calling the BuildTests obj's underlying member method code with example usage: obj.test_mime_types(site_dir) without return types