input: Write a python function to generate data points and train a logistic regression model. 
  assert len(generate_and_train_model()[0]) == 1000
  assert generate_and_train_model()[1].score(generate_and_train_model()[0], generate_and_train_model()[2]) >= 0.9
output: def generate_and_train_model():
      import numpy as np
      from sklearn.linear_model import LogisticRegression
      from sklearn.datasets import make_classification
      from sklearn.model_selection import train_test_split
  
      # Generate synthetic data
      X, y = make_classification(n_samples=1000, n_features=20, n_informative=2, n_redundant=10, random_state=42)
      
      # Split the data into training and testing sets
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
  
      # Train the logistic regression model
      model = LogisticRegression(max_iter=10000, random_state=42)
      model.fit(X_train, y_train)
  
      # Return the test data and the trained model
      return X_test, model, y_test