input: Write a Python function to extract job postings from Indeed.com for a given search keyword and location.
  assert len(extract_jobs('python', 'new york')) > 0
  assert isinstance(extract_jobs('data science', 'california'), list)
  assert all(isinstance(job, dict) for job in extract_jobs('java', 'texas'))
output: import requests
  from bs4 import BeautifulSoup
  
  def extract_jobs(keyword, location):
      url = f"https://www.indeed.com/jobs?q={keyword}&l={location}"
      response = requests.get(url)
      soup = BeautifulSoup(response.text, 'html.parser')
      
      job_listings = []
  
      for job_card in soup.find_all('div', class_='jobsearch-SerpJobCard'):
          job = {}
          job['title'] = job_card.find('h2', class_='title').text.strip()
          job['company'] = job_card.find('span', class_='company').text.strip()
          job['location'] = job_card.find('div', class_='location').text.strip() if job_card.find('div', class_='location') else None
          job['summary'] = job_card.find('div', class_='summary').text.strip()
          job['link'] = 'https://www.indeed.com' + job_card.find('a', class_='jobtitle')['href']
          job_listings.append(job)
      
      return job_listings