CRM_Mailing_Event_BAO_MailingEventSubscribe only allows subscriptions only to Public Groups
CRM_Mailing_Event_BAO_MailingEventSubscribe only allows subscriptions only to Public Groups, unless the context is "profile" then that's OK. Therefore set context to force the subscribe action to complete.
See this line, https://github.com/civicrm/civicrm-core/blob/master/CRM/Mailing/Event/BAO/MailingEventSubscribe.php#L53
Agileware Ref: CIVICRM-2112
Edited by justinfreeman (Agileware)