code: def assert_footer_links(soup):
      footer_links = soup.find("footer").findAll("a")
      assert 4 == len(footer_links)
      (
          datasette_link,
          license_link,
          source_link,
          about_link,
      ) = footer_links
      assert "Datasette" == datasette_link.text.strip()
      assert "tests/fixtures.py" == source_link.text.strip()
      assert "Apache License 2.0" == license_link.text.strip()
      assert "About Datasette" == about_link.text.strip()
      assert "https://datasette.io/" == datasette_link["href"]
      assert (
          "https://github.com/simonw/datasette/blob/main/tests/fixtures.py"
          == source_link["href"]
      )
      assert (
          "https://github.com/simonw/datasette/blob/main/LICENSE"
          == license_link["href"]
      )
      assert "https://github.com/simonw/datasette" == about_link["href"]
  
imports: from datasette.utils.sqlite import sqlite3
label_desc: Use image node_id 1 for calling a global function with example usage: assert_footer_links(soup) without return types