input: Write a python function to search for products by their name.
  assert search("shoes") == [{'name': 'white shoes', 'price': 19.99, 'description': 'Nice shoes for the summer', 'image': 'image.jpg'}, {'name': 'black shoes', 'price': 32.00, 'description': 'Stylish shoes for a night out', 'image': 'image2.jpg'}]
  assert search("white") == [{'name': 'white shoes', 'price': 19.99, 'description': 'Nice shoes for the summer', 'image': 'image.jpg'}]
  assert search("summer") == []
output: def search(query):
      products = [
          {'name': 'white shoes', 'price': 19.99, 'description': 'Nice shoes for the summer', 'image': 'image.jpg'},
          {'name': 'black shoes', 'price': 32.00, 'description': 'Stylish shoes for a night out', 'image': 'image2.jpg'},
          {'name': 'red dress', 'price': 45.00, 'description': 'Beautiful red dress for special occasions', 'image': 'image3.jpg'}
      ]
      return [product for product in products if query.lower() in product['name'].lower()]