array( array( 'ClientID' => '4a397ccaaa55eb4e6aa1221e1e2d7122', 'Name' => 'Client One' ), array( 'ClientID' => 'a206def0582eec7dae47d937a4109cb2', 'Name' => 'Client Two' ) ), 'apikey' => array( 'ApiKey' => '981298u298ue98u219e8u2e98u2' ), 'systemdate' => array( 'SystemDate' => '2010-10-15 09:27:00' ), 'custom_api_error' => array( 'Code' => 98798, 'Message' => 'A crazy API error' ), 'countries' => array( "Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla", "Antigua & Barbuda", "Argentina" ), 'timezones' => array( "(GMT) Casablanca", "(GMT) Coordinated Universal Time", "(GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London", "(GMT) Monrovia, Reykjavik", "(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna", "(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague", "(GMT+01:00) Brussels, Copenhagen, Madrid, Paris" ) ); $client_responses = array( 'client_details' => array( 'ApiKey' => '7c86c29e930f4a1c3836eb57e9e3f4b283b06857489a750e', 'BasicDetails' => array( 'ClientID' => '4a397ccaaa55eb4e6aa1221e1e2d7122', 'CompanyName' => 'Client One', 'Country' => 'Australia', 'TimeZone' => '(GMT+10:00) Canberra, Melbourne, Sydney' ), 'BillingDetails' => array( 'CanPurchaseCredits' => true, 'MarkupOnDesignSpamTest' => 0, 'ClientPays' => true, 'BaseRatePerRecipient' => 1, 'MarkupPerRecipient' => 0, 'MarkupOnDelivery' => 0, 'BaseDeliveryRate' => 5, 'Currency' => 'USD', 'BaseDesignSpamTestRate' => 5 ) ), 'create_client' => '32a381c49a2df99f1d0c6f3c112352b9', 'campaigns' => array( array( 'WebVersionURL' => 'http://hello.createsend.com/t/ViewEmail/r/765E86829575EE2C/C67FD2F38AC4859C/', 'WebVersionTextURL' => 'http://createsend.com/t/r-765E86829575EE2C/t', 'CampaignID' => 'fc0ce7105baeaf97f47c99be31d02a91', 'Subject' => 'Campaign One', 'Name' => 'Campaign One', 'FromName' => 'My Name', 'FromEmail' => 'myemail@example.com', 'ReplyTo' => 'myemail@example.com', 'SentDate' => '2010-10-12 12:58:00', 'TotalRecipients' => 2245 ), array( 'WebVersionURL' => 'http://hello.createsend.com/t/ViewEmail/r/DD543566A87C9B8B/C67FD2F38AC4859C/', 'WebVersionTextURL' => 'http://createsend.com/t/r-DD543566A87C9B8B/t', 'CampaignID' => '072472b88c853ae5dedaeaf549a8d607', 'Subject' => 'Campaign Two', 'Name' => 'Campaign Two', 'FromName' => 'My Name', 'FromEmail' => 'myemail@example.com', 'ReplyTo' => 'myemail@example.com', 'SentDate' => '2010-10-06 16:20:00', 'TotalRecipients' => 11222 ) ), 'scheduled' => array( array( "DateScheduled" => "2011-05-25 10:40:00", "ScheduledTimeZone" => "(GMT+10:00) Canberra, Melbourne, Sydney", "CampaignID" => "827dbbd2161ea9989fa11ad562c66937", "Name" => "Magic Issue One", "Subject" => "Magic Issue One", 'FromName' => 'My Name', 'FromEmail' => 'myemail@example.com', 'ReplyTo' => 'myemail@example.com', "DateCreated" => "2011-05-24 10:37:00", "PreviewURL" => "http://createsend.com/t/r-DD543521A87C9B8B", "PreviewTextURL" => "http://createsend.com/t/r-DD543521A87C9B8B/t" ), array( "DateScheduled" => "2011-05-29 11:20:00", "ScheduledTimeZone" => "(GMT+10:00) Canberra, Melbourne, Sydney", "CampaignID" => "4f54bbd2161e65789fa11ad562c66937", "Name" => "Magic Issue Two", "Subject" => "Magic Issue Two", 'FromName' => 'My Name', 'FromEmail' => 'myemail@example.com', 'ReplyTo' => 'myemail@example.com', "DateCreated" => "2011-05-24 10:39:00", "PreviewURL" => "http://createsend.com/t/r-DD913521A87C9B8B", "PreviewTextURL" => "http://createsend.com/t/r-DD913521A87C9B8B/t" ) ), 'drafts' => array( array( "CampaignID" => "7c7424792065d92627139208c8c01db1", "Name" => "Draft One", "Subject" => "Draft One", 'FromName' => 'My Name', 'FromEmail' => 'myemail@example.com', 'ReplyTo' => 'myemail@example.com', "DateCreated" => "2010-08-19 16:08:00", "PreviewURL" => "http://hello.createsend.com/t/ViewEmail/r/E97A7BB2E6983DA1/C67FD2F38AC4859C/", "PreviewTextURL" => "http://createsend.com/t/r-E97A7BB2E6983DA1/t" ), array( "CampaignID" => "2e928e982065d92627139208c8c01db1", "Name" => "Draft Two", "Subject" => "Draft Two", 'FromName' => 'My Name', 'FromEmail' => 'myemail@example.com', 'ReplyTo' => 'myemail@example.com', "DateCreated" => "2010-08-19 16:08:00", "PreviewURL" => "http://hello.createsend.com/t/ViewEmail/r/E97A7BB2E6983DA1/C67FD2F38AC4859C/", "PreviewTextURL" => "http://createsend.com/t/r-E97A7BB2E6983DA1/t" ) ), 'lists' => array( array( "ListID" => "a58ee1d3039b8bec838e6d1482a8a965", "Name" => "List One" ), array( "ListID" => "99bc35084a5739127a8ab81eae5bd305", "Name" => "List Two" ) ), 'segments' => array( array( 'ListID' => 'a58ee1d3039b8bec838e6d1482a8a965', 'SegmentID' => '46aa5e01fd43381863d4e42cf277d3a9', 'Title' => 'Segment One' ), array( 'ListID' => '8dffb94c60c5faa3d40f496f2aa58a8a', 'SegmentID' => 'dhw9q8jd9q8wd09quw0d909wid9i09iq', 'Title' => 'Segment Two' ) ), 'suppressionlist' => array( "Results" => array( array( "SuppressionReason" => "Unsubscribed", "EmailAddress" => "example+1@example.com", "Date" => "2010-10-26 10:55:31", "State" => "Suppressed" ), array( "SuppressionReason" => "Unsubscribed", "EmailAddress" => "example+2@example.com", "Date" => "2010-10-26 10:55:31", "State" => "Suppressed" ), array( "SuppressionReason" => "Unsubscribed", "EmailAddress" => "example+3@example.com", "Date" => "2010-10-26 10:55:31", "State" => "Suppressed" ), array( "SuppressionReason" => "Unsubscribed", "EmailAddress" => "subscriber@example.com", "Date" => "2010-10-25 13:11:04", "State" => "Suppressed" ), array( "SuppressionReason" => "Unsubscribed", "EmailAddress" => "subscriberone@example.com", "Date" => "2010-10-25 13:04:15", "State" => "Suppressed" ) ), "ResultsOrderedBy" => "email", "OrderDirection" => "asc", "PageNumber" => 1, "PageSize" => 1000, "RecordsOnThisPage" => 5, "TotalNumberOfRecords" => 5, "NumberOfPages" => 1 ) ); $subscriber_responses = array( 'active_subscribers' => array( "Results" => array( array( "EmailAddress" => "subs+7t8787Y@example.com", "Name" => "Person One", "Date" => "2010-10-25 10:28:00", "State" => "Active", "CustomFields" => array( array( "Key" => "website", "Value" => "http://example.com" ), array( "Key" => "age", "Value" => "24" ), array( "Key" => "subscription date", "Value" => "2010-03-09" ) ) ), array( "EmailAddress" => "subs+7878787y8ggg@example.com", "Name" => "Person Two", "Date" => "2010-10-25 12:17:00", "State" => "Active", "CustomFields" => array( array( "Key" => "website", "Value" => "http://subdomain.example.com" ) ) ), array( "EmailAddress" => "subs+7890909i0ggg@example.com", "Name" => "Person Three", "Date" => "2010-10-25 12:52:00", "State" => "Active", "CustomFields" => array( array( "Key" => "website", "Value" => "http://subdomain.example.com" ) ) ), array( "EmailAddress" => "subs@example.com", "Name" => "Person Four", "Date" => "2010-10-27 13:13:00", "State" => "Active", "CustomFields" => array() ), array( "EmailAddress" => "joey@example.com", "Name" => "Person Five", "Date" => "2010-10-27 13:13:00", "State" => "Active", "CustomFields" => array() ) ), "ResultsOrderedBy" => "email", "OrderDirection" => "asc", "PageNumber" => 1, "PageSize" => 1000, "RecordsOnThisPage" => 5, "TotalNumberOfRecords" => 5, "NumberOfPages" => 1 ), 'add_subscriber' => 'subscriber@example.com', 'import_subscribers' => array( 'FailureDetails' => array(), 'TotalUniqueEmailsSubmitted' => 3, 'TotalExistingSubscribers' => 0, 'TotalNewSubscribers' => 3, 'DuplicateEmailsInSubmission' => array() ), 'import_subscribers_partial_success' => array( "ResultData" => array( "TotalUniqueEmailsSubmitted" => 3, "TotalExistingSubscribers" => 2, "TotalNewSubscribers" => 0, "DuplicateEmailsInSubmission" => array(), "FailureDetails" => array( array( "EmailAddress" => "example+1@example", "Code" => 1, "Message" => "Invalid Email Address" ) ) ), "Code" => 210, "Message" => "Subscriber Import had some failures" ), 'subscriber_details' => array( 'EmailAddress' => 'subscriber@example.com', 'Name' => 'Subscriber One', 'Date' => '2010-10-25 10:28:00', 'State' => 'Active', 'CustomFields' => array( array( 'Key' => 'website', 'Value' => 'http://example.com' ), array( 'Key' => 'age', 'Value' => '24' ), array( 'Key' => 'subscription date', 'Value' => '2010-03-09' ) ) ), 'subscriber_history' => array( array( 'ID' => 'fc0ce7105baeaf97f47c99be31d02a91', 'Type' => 'Campaign', 'Name' => 'Campaign One', 'Actions' => array( array( 'Event' => 'Open', 'Date' => '2010-10-12 13:18:00', 'IPAddress' => '192.168.126.87', 'Detail' => '' ), array( 'Event' => 'Click', 'Date' => '2010-10-12 13:16:00', 'IPAddress' => '192.168.126.87', 'Detail' => 'http://example.com/post/12323/' ), array( 'Event' => 'Click', 'Date' => '2010-10-12 13:15:00', 'IPAddress' => '192.168.126.87', 'Detail' => 'http://example.com/post/29889/' ), array( 'Event' => 'Open', 'Date' => '2010-10-12 13:15:00', 'IPAddress' => '192.168.126.87', 'Detail' => '' ), array( 'Event' => 'Click', 'Date' => '2010-10-12 13:01:00', 'IPAddress' => '192.168.126.87', 'Detail' => 'http://example.com/post/82211/' ), array( 'Event' => 'Open', 'Date' => '2010-10-12 13:01:00', 'IPAddress' => '192.168.126.87', 'Detail' => '' ) ) ) ) ); $list_responses = array ( 'custom_fields' => array( array( "FieldName" => "website", "Key" => "[website]", "DataType" => "Text", "FieldOptions" => array() ), array( "FieldName" => "age", "Key" => "[age]", "DataType" => "Number", "FieldOptions" => array() ), array( "FieldName" => "subscription date", "Key" => "[subscriptiondate]", "DataType" => "Date", "FieldOptions" => array() ) ), 'create_list' => 'e3c5f034d68744f7881fdccf13c2daee', 'create_custom_field' => '[newdatefield]', 'list_details' => array( 'ConfirmedOptIn' => false, 'Title' => 'a non-basic list :)', 'UnsubscribePage' => '', 'ListID' => '2fe4c8f0373ce320e2200596d7ef168f', 'ConfirmationSuccessPage' => '' ), 'list_stats' => array( "TotalActiveSubscribers" => 6, "NewActiveSubscribersToday" => 0, "NewActiveSubscribersYesterday" => 8, "NewActiveSubscribersThisWeek" => 8, "NewActiveSubscribersThisMonth" => 8, "NewActiveSubscribersThisYear" => 8, "TotalUnsubscribes" => 2, "UnsubscribesToday" => 0, "UnsubscribesYesterday" => 2, "UnsubscribesThisWeek" => 2, "UnsubscribesThisMonth" => 2, "UnsubscribesThisYear" => 2, "TotalDeleted" => 0, "DeletedToday" => 0, "DeletedYesterday" => 0, "DeletedThisWeek" => 0, "DeletedThisMonth" => 0, "DeletedThisYear" => 0, "TotalBounces" => 0, "BouncesToday" => 0, "BouncesYesterday" => 0, "BouncesThisWeek" => 0, "BouncesThisMonth" => 0, "BouncesThisYear" => 0 ), 'bounced_subscribers' => array( 'Results' => array( array( 'EmailAddress' => 'bouncedsubscriber@example.com', 'Name' => 'Bounced One', 'Date' => '2010-10-25 13:11:00', 'State' => 'Bounced', 'CustomFields' => array() ) ), 'ResultsOrderedBy' => 'email', 'OrderDirection' => 'asc', 'PageNumber' => 1, 'PageSize' => 1000, 'RecordsOnThisPage' => 1, 'TotalNumberOfRecords' => 1, 'NumberOfPages' => 1 ), 'unsubscribed_subscribers' => array( "Results" => array( array( "EmailAddress" => "subscriber@example.com", "Name" => "Unsub One", "Date" => "2010-10-25 13:11:00", "State" => "Unsubscribed", "CustomFields" => array() ), array( "EmailAddress" => "subscriberone@example.com", "Name" => "Subscriber", "Date" => "2010-10-25 13:04:00", "State" => "Unsubscribed", "CustomFields" => array( array( "Key" => "website", "Value" => "http://google.com" ) ) ), array( "EmailAddress" => "example+1@example.com", "Name" => "Example One", "Date" => "2010-10-26 10:56:00", "State" => "Unsubscribed", "CustomFields" => array() ), array( "EmailAddress" => "example+2@example.com", "Name" => "Example Two", "Date" => "2010-10-26 10:56:00", "State" => "Unsubscribed", "CustomFields" => array() ), array( "EmailAddress" => "example+3@example.com", "Name" => "Example Three", "Date" => "2010-10-26 10:56:00", "State" => "Unsubscribed", "CustomFields" => array() ) ), "ResultsOrderedBy" => "email", "OrderDirection" => "asc", "PageNumber" => 1, "PageSize" => 1000, "RecordsOnThisPage" => 5, "TotalNumberOfRecords" => 5, "NumberOfPages" => 1 ), 'list_webhooks' => array( array( "WebhookID" => "943678317049bc13", "Events" => array( "Bounce", "Spam" ), "Url" => "http://www.postbin.org/d9w8ud9wud9w", "Status" => "Active", "PayloadFormat" => "Json" ), array( "WebhookID" => "ee1b3864e5ca6161", "Events" => array( "Subscribe" ), "Url" => "http://www.postbin.org/hiuhiu2h2u", "Status" => "Active", "PayloadFormat" => "Xml" ) ), 'create_list_webhook' => '6a783d359bd44ef62c6ca0d3eda4412a' ); $campaign_responses = array( 'create_campaign' => '787y87y87y87y87y87y87', 'campaign_unsubscribes' => array( 'Results' => array( array( 'EmailAddress' => 'subs+6576576576@example.com', 'ListID' => '512a3bc577a58fdf689c654329b50fa0', 'Date' => '2010-10-11 08:29:00', 'IPAddress' => '192.168.126.87' ) ), 'ResultsOrderedBy' => 'date', 'OrderDirection' => 'asc', 'PageNumber' => 1, 'PageSize' => 1000, 'RecordsOnThisPage' => 1, 'TotalNumberOfRecords' => 1, 'NumberOfPages' => 1 ), 'campaign_summary' => array( 'Recipients' => 5, 'TotalOpened' => 10, 'Clicks' => 0, 'Unsubscribed' => 0, 'Bounced' => 0, 'UniqueOpened' => 5, 'WebVersionURL' => 'http://clientone.createsend.com/t/ViewEmail/r/3A433FC72FFE3B8B/C67FD2F38AC4859C/', 'WebVersionTextURL' => 'http://createsend.com/t/r-3A433FC72FFE3B8B/t', 'WorldviewURL' => 'http://clientone.createsend.com/reports/wv/r/3A433FC72FFE3B8B', 'ForwardToAFriends' => 18, 'FacebookLikes' => 25, 'TwitterTweets' => 11 ), 'campaign_listsandsegments' => array( 'Lists' => array( array( 'ListID' => 'a58ee1d3039b8bec838e6d1482a8a965', 'Name' => 'List One' ) ), 'Segments' => array( array( 'ListID' => '2bea949d0bf96148c3e6a209d2e82060', 'SegmentID' => 'dba84a225d5ce3d19105d7257baac46f', 'Title' => 'Segment for campaign' ) ) ), 'campaign_opens' => array( "Results" => array( array( "EmailAddress" => "subs+6576576576@example.com", "ListID" => "512a3bc577a58fdf689c654329b50fa0", "Date" => "2010-10-11 08:29:00", "IPAddress" => "192.168.126.87", "Latitude" => -33.8683, "Longitude" => 151.2086, "City" => "Sydney", "Region" => "New South Wales", "CountryCode" => "AU", "CountryName" => "Australia" ), array( "EmailAddress" => "subs+6576576576@example.com", "ListID" => "512a3bc577a58fdf689c654329b50fa0", "Date" => "2010-10-08 14:24:00", "IPAddress" => "192.168.126.87", "Latitude" => -33.8683, "Longitude" => 151.2086, "City" => "Sydney", "Region" => "New South Wales", "CountryCode" => "AU", "CountryName" => "Australia" ), array( "EmailAddress" => "subs+6576576576@example.com", "ListID" => "512a3bc577a58fdf689c654329b50fa0", "Date" => "2010-10-07 10:20:00", "IPAddress" => "192.168.126.87", "Latitude" => -33.8683, "Longitude" => 151.2086, "City" => "Sydney", "Region" => "New South Wales", "CountryCode" => "AU", "CountryName" => "Australia" ), array( "EmailAddress" => "subs+6576576576@example.com", "ListID" => "512a3bc577a58fdf689c654329b50fa0", "Date" => "2010-10-07 07:15:00", "IPAddress" => "192.168.126.87", "Latitude" => -33.8683, "Longitude" => 151.2086, "City" => "Sydney", "Region" => "New South Wales", "CountryCode" => "AU", "CountryName" => "Australia" ), array( "EmailAddress" => "subs+6576576576@example.com", "ListID" => "512a3bc577a58fdf689c654329b50fa0", "Date" => "2010-10-07 06:58:00", "IPAddress" => "192.168.126.87", "Latitude" => -33.8683, "Longitude" => 151.2086, "City" => "Sydney", "Region" => "New South Wales", "CountryCode" => "AU", "CountryName" => "Australia" ) ), "ResultsOrderedBy" => "date", "OrderDirection" => "asc", "PageNumber" => 1, "PageSize" => 1000, "RecordsOnThisPage" => 5, "TotalNumberOfRecords" => 5, "NumberOfPages" => 1 ), 'campaign_recipients' => array( 'Results' => array( array( "EmailAddress" => "subs+6g76t7t0@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ), array( "EmailAddress" => "subs+6g76t7t1@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ), array( "EmailAddress" => "subs+6g76t7t10@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ), array( "EmailAddress" => "subs+6g76t7t100@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ), array( "EmailAddress" => "subs+6g76t7t1000@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ), array( "EmailAddress" => "subs+6g76t7t1001@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ), array( "EmailAddress" => "subs+6g76t7t1002@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ), array( "EmailAddress" => "subs+6g76t7t1003@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ), array( "EmailAddress" => "subs+6g76t7t1004@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ), array( "EmailAddress" => "subs+6g76t7t1005@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ), array( "EmailAddress" => "subs+6g76t7t1006@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ), array( "EmailAddress" => "subs+6g76t7t1007@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ), array( "EmailAddress" => "subs+6g76t7t1008@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ), array( "EmailAddress" => "subs+6g76t7t1009@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ), array( "EmailAddress" => "subs+6g76t7t101@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ), array( "EmailAddress" => "subs+6g76t7t1010@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ), array( "EmailAddress" => "subs+6g76t7t1011@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ), array( "EmailAddress" => "subs+6g76t7t1012@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ), array( "EmailAddress" => "subs+6g76t7t1013@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ), array( "EmailAddress" => "subs+6g76t7t1014@example.com", "ListID" => "a994a3caf1328a16af9a69a730eaa706" ) ), 'ResultsOrderedBy' => 'email', 'OrderDirection' => 'asc', 'PageNumber' => 1, 'PageSize' => 20, 'RecordsOnThisPage' => 20, 'TotalNumberOfRecords' => 2200, 'NumberOfPages' => 110 ), 'campaign_clicks' => array( "Results" => array( array( "EmailAddress" => "subs+6576576576@example.com", "URL" => "http://video.google.com.au/?hl=en&tab=wv", "ListID" => "512a3bc577a58fdf689c654329b50fa0", "Date" => "2010-10-11 08:29:00", "IPAddress" => "192.168.126.87", "Latitude" => -33.8683, "Longitude" => 151.2086, "City" => "Sydney", "Region" => "New South Wales", "CountryCode" => "AU", "CountryName" => "Australia" ), array( "EmailAddress" => "subs+6576576576@example.com", "URL" => "http://mail.google.com/mail/?hl=en&tab=wm", "ListID" => "512a3bc577a58fdf689c654329b50fa0", "Date" => "2010-10-11 08:29:00", "IPAddress" => "192.168.126.87", "Latitude" => -33.8683, "Longitude" => 151.2086, "City" => "Sydney", "Region" => "New South Wales", "CountryCode" => "AU", "CountryName" => "Australia" ), array( "EmailAddress" => "subs+6576576576@example.com", "URL" => "http://mail.google.com/mail/?hl=en&tab=wm", "ListID" => "512a3bc577a58fdf689c654329b50fa0", "Date" => "2010-10-06 17:24:00", "IPAddress" => "192.168.126.87", "Latitude" => -33.8683, "Longitude" => 151.2086, "City" => "Sydney", "Region" => "New South Wales", "CountryCode" => "AU", "CountryName" => "Australia" ) ), "ResultsOrderedBy" => "date", "OrderDirection" => "asc", "PageNumber" => 1, "PageSize" => 1000, "RecordsOnThisPage" => 3, "TotalNumberOfRecords" => 3, "NumberOfPages" => 1 ), 'campaign_bounces' => array( "Results" => array( array( "EmailAddress" => "asdf@softbouncemyemail.com", "ListID" => "654523a5855b4a440bae3fb295641546", "BounceType" => "Soft", "Date" => "2010-07-02 16:46:00", "Reason" => "Bounce - But No Email Address Returned " ), array( "EmailAddress" => "asdf@hardbouncemyemail.com", "ListID" => "654523a5855b4a440bae3fb295641546", "BounceType" => "Soft", "Date" => "2010-07-02 16:46:00", "Reason" => "Soft Bounce - General" ) ), "ResultsOrderedBy" => "date", "OrderDirection" => "asc", "PageNumber" => 1, "PageSize" => 1000, "RecordsOnThisPage" => 2, "TotalNumberOfRecords" => 2, "NumberOfPages" => 1 ) ); $segment_responses = array( 'segment_subscribers' => array( "Results" => array( array( "EmailAddress" => "personone@example.com", "Name" => "Person One", "Date" => "2010-10-27 13:13:00", "State" => "Active", "CustomFields" => array() ), array( "EmailAddress" => "persontwo@example.com", "Name" => "Person Two", "Date" => "2010-10-27 13:13:00", "State" => "Active", "CustomFields" => array() ) ), "ResultsOrderedBy" => "email", "OrderDirection" => "asc", "PageNumber" => 1, "PageSize" => 1000, "RecordsOnThisPage" => 2, "TotalNumberOfRecords" => 2, "NumberOfPages" => 1 ), 'create_segment' => '0246c2aea610a3545d9780bf6ab89006' ); $template_responses = array( 'create_template' => '98y2e98y289dh89h938389', 'template_details' => array( 'TemplateID' => '98y2e98y289dh89h938389', 'Name' => 'Template One', 'PreviewURL' => 'http://preview.createsend.com/createsend/templates/previewTemplate.aspx?ID=01AF532CD8889B33&d=r&c=E816F55BFAD1A753', 'ScreenshotURL' => 'http://preview.createsend.com/ts/r/14/833/263/14833263.jpg?0318092600' ), 'templates' => array( array( "TemplateID" => "5cac213cf061dd4e008de5a82b7a3621", "Name" => "Template One", "PreviewURL" => "http://preview.createsend.com/createsend/templates/previewTemplate.aspx?ID=01AF532CD8889B33&d=r&c=E816F55BFAD1A753", "ScreenshotURL" => "http://preview.createsend.com/ts/r/14/833/263/14833263.jpg?0318092541" ), array( "TemplateID" => "da645c271bc85fb6550acff937c2ab2e", "Name" => "Template Two", "PreviewURL" => "http://preview.createsend.com/createsend/templates/previewTemplate.aspx?ID=C8A180629495E798&d=r&c=E816F55BFAD1A753", "ScreenshotURL" => "http://preview.createsend.com/ts/r/18/7B3/552/187B3552.jpg?0705043527" ) ) ); $this->responses = array_merge( array_merge( array_merge( array_merge( array_merge( array_merge( $util_responses, $client_responses ), $subscriber_responses ), $list_responses ), $campaign_responses ), $segment_responses ), $template_responses ); } function do_test_response_deserialisation() { if(!is_null($this->deserialiser)) { $response_dir = 'responses/'; foreach ($this->responses as $k => $v) { $filename = $response_dir.$k.'.json'; if(file_exists($filename)) { $response = file_get_contents($filename); $result = $this->deserialiser->deserialise($response); $this->assert_identical_ignoring_type($result, $v, 'Failed to deserialise response for '.$k); } } } } function test_services_json_serializer() { $log = new MockCS_REST_Log($this); $this->deserialiser = new CS_REST_ServicesJsonSerialiser($log); $this->do_test_response_deserialisation(); } function test_services_native_serializer() { if(function_exists('json_decode') && function_exists('json_encode')): $log = new MockCS_REST_Log($this); $this->deserialiser = new CS_REST_NativeJsonSerialiser($log); $this->do_test_response_deserialisation(); endif; } function assert_identical_ignoring_type($object, $expected, $message) { if(is_array($expected)) { if(isset($expected[0])) { $this->assertIsA($object, 'array', $message.' Item is not an array'); $this->assertIdentical(count($expected), count($object), $message.' Invalid array length'); for($i = 0; $i < count($expected); $i++) { $this->assert_identical_ignoring_type($object[$i], $expected[$i], $message.' Checking #'.$i); } } else { foreach($expected as $k => $v) { $this->assert_identical_ignoring_type($object->$k, $v, $message.' Checking '.$k); } } } else { $this->assertEqual($expected, $object, $message.' Items are not equal'); } } }