function testUpdateContactFromMailchimpRequest()
 {
     $request_data = CRM_CiviMailchimp_Page_WebhookTest::sampleRequestSubscribeOrProfileUpdate();
     $contact = CRM_CiviMailchimp_Utils::createContactFromMailchimpRequest($request_data);
     $rand = rand();
     $request_data['merges']['FNAME'] = "CiviNew{$rand}";
     $request_data['merges']['LNAME'] = "MailchimpNew{$rand}";
     $updated_contact = CRM_CiviMailchimp_Utils::updateContactFromMailchimpRequest($request_data, $contact);
     $this->assertEquals($contact->id, $updated_contact->id);
     $this->assertEquals($request_data['merges']['FNAME'], $updated_contact->first_name);
     $this->assertEquals($request_data['merges']['LNAME'], $updated_contact->last_name);
 }
 /**
  * Update a Mailchimp subscriber's Contact data in CiviCRM.
  */
 static function mailchimpWebhookProfile($request_data)
 {
     $mailchimp_contact = CRM_CiviMailchimp_Utils::getContactInMailchimpListByEmail($request_data['email'], $request_data['list_id']);
     CRM_CiviMailchimp_Utils::updateContactFromMailchimpRequest($request_data, $mailchimp_contact);
 }