input: Write a python function to train an XGBoost regressor model on a given dataset and evaluate its performance using mean squared error.
  assert train_evaluate_xgb(np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]]), np.array([1,2,3]), 0.2, 0) >= 0
  assert train_evaluate_xgb(np.array([[10,20,30,40],[50,60,70,80],[90,100,110,120]]), np.array([10,20,30]), 0.3, 42) >= 0
output: def train_evaluate_xgb(X, y, test_size, random_state):
      from sklearn.model_selection import train_test_split
      from sklearn.metrics import mean_squared_error
      import xgboost as xgb
      
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=test_size, random_state=random_state)
      
      model = xgb.XGBRegressor()
      model.fit(X_train, y_train)
      
      y_pred = model.predict(X_test)
      mse = mean_squared_error(y_test, y_pred)
      
      return mse