From f4b7b4786a0bf2170fb0ae6822eb4cdc2f2d2893 Mon Sep 17 00:00:00 2001 From: Mike Manger Date: Thu, 5 Dec 2024 10:40:57 +0000 Subject: [PATCH 01/15] Add github workflow --- .github/workflows/tests.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/tests.yml diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..fac854f --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,23 @@ +name: Python package + +on: + - push + - pull_request + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] + + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: pip install tox tox-gh + - name: Test with tox + run: tox --skip-missing-interpreters \ No newline at end of file From defcfbffc5b0588856141bf54f4b06d9363513a5 Mon Sep 17 00:00:00 2001 From: Mike Manger Date: Thu, 5 Dec 2024 10:46:03 +0000 Subject: [PATCH 02/15] Update tox config --- .github/workflows/tests.yml | 4 ++-- tox.ini | 13 ++++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index fac854f..22bbe36 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] + python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] steps: - uses: actions/checkout@v4 @@ -20,4 +20,4 @@ jobs: - name: Install dependencies run: pip install tox tox-gh - name: Test with tox - run: tox --skip-missing-interpreters \ No newline at end of file + run: tox \ No newline at end of file diff --git a/tox.ini b/tox.ini index ecb34b0..f0b97d8 100644 --- a/tox.ini +++ b/tox.ini @@ -5,7 +5,7 @@ [tox] # pip is broken on py32 -envlist = py36, py37, py38, py39, py310, py311, py312, py313 +env_list = py36, py37, py38, py39, py310, py311, py312, py313 [testenv] install_command=pip install {packages} @@ -15,3 +15,14 @@ commands = deps = coverage -e. + +[gh] +python = + 3.6: py36 + 3.7: py37 + 3.8: py38 + 3.9: py39 + 3.10: py310 + 3.11: py311 + 3.12: py312 + 3.13: py313 \ No newline at end of file From a97c489424a421afefbc1de7fca14dcd0bbaa3e6 Mon Sep 17 00:00:00 2001 From: Mike Manger Date: Thu, 5 Dec 2024 10:48:58 +0000 Subject: [PATCH 03/15] Remove python 3.6 from test matrix for now --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 22bbe36..fde9fae 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] + python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] steps: - uses: actions/checkout@v4 From 0d179a824827cc0f9756a2bb30383c9000b74175 Mon Sep 17 00:00:00 2001 From: Mike Manger Date: Thu, 5 Dec 2024 11:01:09 +0000 Subject: [PATCH 04/15] Use assetEquals instead of assertEquals --- README.md | 2 +- test/test_administrator.py | 16 +-- test/test_authentication.py | 32 ++--- test/test_campaign.py | 224 ++++++++++++++--------------- test/test_client.py | 182 ++++++++++++------------ test/test_createsend.py | 52 +++---- test/test_journey_email.py | 56 ++++---- test/test_list.py | 272 ++++++++++++++++++------------------ test/test_people.py | 20 +-- test/test_segment.py | 80 +++++------ test/test_subscriber.py | 130 ++++++++--------- test/test_template.py | 12 +- 12 files changed, 539 insertions(+), 539 deletions(-) diff --git a/README.md b/README.md index ace850e..c35b9aa 100644 --- a/README.md +++ b/README.md @@ -206,7 +206,7 @@ def test_add_with_custom_fields(self): self.subscriber.stub_request("subscribers/%s.json" % self.list_id, "add_subscriber.json") custom_fields = [ { "Key": 'website', "Value": 'http://example.com/' } ] email_address = self.subscriber.add(self.list_id, "subscriber@example.com", "Subscriber", custom_fields, True) - self.assertEquals(email_address, "subscriber@example.com") + self.assertEqual(email_address, "subscriber@example.com") ``` ## Contributing diff --git a/test/test_administrator.py b/test/test_administrator.py index 5aa7a9a..40484a1 100644 --- a/test/test_administrator.py +++ b/test/test_administrator.py @@ -11,30 +11,30 @@ def test_get(self): self.administrator.stub_request( "admins.json?email=%s" % quote(email), "admin_details.json") administrator = self.administrator.get(email) - self.assertEquals(administrator.EmailAddress, email) - self.assertEquals(administrator.Name, "Admin One") - self.assertEquals(administrator.Status, "Active") + self.assertEqual(administrator.EmailAddress, email) + self.assertEqual(administrator.Name, "Admin One") + self.assertEqual(administrator.Status, "Active") def test_get_without_args(self): email = "admin@example.com" self.administrator.stub_request( "admins.json?email=%s" % quote(email), "admin_details.json") administrator = self.administrator.get() - self.assertEquals(administrator.EmailAddress, email) - self.assertEquals(administrator.Name, "Admin One") - self.assertEquals(administrator.Status, "Active") + self.assertEqual(administrator.EmailAddress, email) + self.assertEqual(administrator.Name, "Admin One") + self.assertEqual(administrator.Status, "Active") def test_add(self): self.administrator.stub_request("admins.json", "add_admin.json") result = self.administrator.add("admin@example.com", "Admin Name") - self.assertEquals(result.EmailAddress, "admin@example.com") + self.assertEqual(result.EmailAddress, "admin@example.com") def test_update(self): new_email = "new_email_address@example.com" self.administrator.stub_request("admins.json?email=%s" % quote( self.administrator.email_address), None) self.administrator.update(new_email, "Admin New Name") - self.assertEquals(self.administrator.email_address, new_email) + self.assertEqual(self.administrator.email_address, new_email) def test_delete(self): self.administrator.stub_request("admins.json?email=%s" % quote( diff --git a/test/test_authentication.py b/test/test_authentication.py index 468847a..24b9fe8 100644 --- a/test/test_authentication.py +++ b/test/test_authentication.py @@ -24,7 +24,7 @@ def test_authorize_url_with_state(self): scope=scope, state=state ) - self.assertEquals(authorize_url, + self.assertEqual(authorize_url, "https://api.createsend.com/oauth?client_id=8998879&redirect_uri=http%3A%2F%2Fexample.com%2Fauth&scope=ViewReports%2CCreateCampaigns%2CSendCampaigns&state=89879287" ) @@ -39,7 +39,7 @@ def test_authorize_url_without_state(self): redirect_uri=redirect_uri, scope=scope ) - self.assertEquals(authorize_url, + self.assertEqual(authorize_url, "https://api.createsend.com/oauth?client_id=8998879&redirect_uri=http%3A%2F%2Fexample.com%2Fauth&scope=ViewReports%2CCreateCampaigns%2CSendCampaigns" ) @@ -57,11 +57,11 @@ def test_exchange_token_success(self): redirect_uri=redirect_uri, code=code ) - self.assertEquals(self.cs.faker.actual_body, + self.assertEqual(self.cs.faker.actual_body, "grant_type=authorization_code&client_id=8998879&client_secret=iou0q9wud0q9wd0q9wid0q9iwd0q9wid0q9wdqwd&redirect_uri=http%3A%2F%2Fexample.com%2Fauth&code=98uqw9d8qu9wdu") - self.assertEquals(access_token, "SlAV32hkKG") - self.assertEquals(expires_in, 1209600) - self.assertEquals(refresh_token, "tGzv3JOkF0XG5Qx2TlKWIA") + self.assertEqual(access_token, "SlAV32hkKG") + self.assertEqual(expires_in, 1209600) + self.assertEqual(refresh_token, "tGzv3JOkF0XG5Qx2TlKWIA") def test_echange_token_failure(self): client_id = 8998879 @@ -73,24 +73,24 @@ def test_echange_token_failure(self): "https://api.createsend.com/oauth/token", "oauth_exchange_token_error.json") self.assertRaises(Exception, self.cs.exchange_token, client_id, client_secret, redirect_uri, code) - self.assertEquals(self.cs.faker.actual_body, + self.assertEqual(self.cs.faker.actual_body, "grant_type=authorization_code&client_id=8998879&client_secret=iou0q9wud0q9wd0q9wid0q9iwd0q9wid0q9wdqwd&redirect_uri=http%3A%2F%2Fexample.com%2Fauth&code=invalidcode") def test_can_authenticate_by_calling_auth_with_api_key(self): self.cs = CreateSend(self.api_key_auth_details) self.cs.stub_request("systemdate.json", "systemdate.json") systemdate = self.cs.systemdate() - self.assertEquals(self.cs.headers['Authorization'], "Basic %s" % base64.b64encode( + self.assertEqual(self.cs.headers['Authorization'], "Basic %s" % base64.b64encode( ("%s:x" % self.api_key_auth_details['api_key']).encode()).decode()) - self.assertEquals(systemdate, "2010-10-15 09:27:00") + self.assertEqual(systemdate, "2010-10-15 09:27:00") def test_can_authenticate_by_calling_auth_with_oauth_credentials(self): self.cs = CreateSend(self.oauth_auth_details) self.cs.stub_request("systemdate.json", "systemdate.json") systemdate = self.cs.systemdate() - self.assertEquals(self.cs.headers[ + self.assertEqual(self.cs.headers[ 'Authorization'], "Bearer %s" % self.oauth_auth_details['access_token']) - self.assertEquals(systemdate, "2010-10-15 09:27:00") + self.assertEqual(systemdate, "2010-10-15 09:27:00") def test_raise_error_when_authenticating_with_oauth_and_token_expired(self): self.cs = CreateSend(self.oauth_auth_details) @@ -104,12 +104,12 @@ def test_refresh_token(self): "https://api.createsend.com/oauth/token", "refresh_oauth_token.json") new_access_token, new_expires_in, new_refresh_token = self.cs.refresh_token() - self.assertEquals(self.cs.faker.actual_body, + self.assertEqual(self.cs.faker.actual_body, "grant_type=refresh_token&refresh_token=5S4aASP9R%2B9KsgfHB0dapTYxNA%3D%3D") - self.assertEquals(new_access_token, "SlAV32hkKG2e12e") - self.assertEquals(new_expires_in, 1209600) - self.assertEquals(new_refresh_token, "tGzv3JOkF0XG5Qx2TlKWIA") - self.assertEquals(self.cs.auth_details, + self.assertEqual(new_access_token, "SlAV32hkKG2e12e") + self.assertEqual(new_expires_in, 1209600) + self.assertEqual(new_refresh_token, "tGzv3JOkF0XG5Qx2TlKWIA") + self.assertEqual(self.cs.auth_details, {'access_token': new_access_token, 'refresh_token': new_refresh_token}) def test_refresh_token_error_when_refresh_token_none(self): diff --git a/test/test_campaign.py b/test/test_campaign.py index 512b4cd..172698d 100644 --- a/test/test_campaign.py +++ b/test/test_campaign.py @@ -15,10 +15,10 @@ def test_create(self): '7y12989e82ue98u2e', 'dh9w89q8w98wudwd989'], ['y78q9w8d9w8ud9q8uw', 'djw98quw9duqw98uwd98']) - self.assertEquals( + self.assertEqual( "\"TextUrl\": \"http://example.com/campaign.txt\"" in c.faker.actual_body, True) - self.assertEquals(c.campaign_id, "787y87y87y87y87y87y8712341234") - self.assertEquals(campaign_id, "787y87y87y87y87y87y8712341234") + self.assertEqual(c.campaign_id, "787y87y87y87y87y87y8712341234") + self.assertEqual(campaign_id, "787y87y87y87y87y87y8712341234") def test_create_with_none_text_url(self): client_id = '87y8d7qyw8d7yq8w7ydwqwd' @@ -29,9 +29,9 @@ def test_create_with_none_text_url(self): '7y12989e82ue98u2e', 'dh9w89q8w98wudwd989'], ['y78q9w8d9w8ud9q8uw', 'djw98quw9duqw98uwd98']) - self.assertEquals("\"TextUrl\": null" in c.faker.actual_body, True) - self.assertEquals(c.campaign_id, "787y87y87y87y87y87y8712341234") - self.assertEquals(campaign_id, "787y87y87y87y87y87y8712341234") + self.assertEqual("\"TextUrl\": null" in c.faker.actual_body, True) + self.assertEqual(c.campaign_id, "787y87y87y87y87y87y8712341234") + self.assertEqual(campaign_id, "787y87y87y87y87y87y8712341234") def test_create_from_template(self): template_content = { @@ -112,8 +112,8 @@ def test_create_from_template(self): ['7y12989e82ue98u2e', 'dh9w89q8w98wudwd989'], [ 'y78q9w8d9w8ud9q8uw', 'djw98quw9duqw98uwd98'], "7j8uw98udowy12989e8298u2e", template_content) - self.assertEquals(c.campaign_id, "787y87y87y87y87y87y8712341234") - self.assertEquals(campaign_id, "787y87y87y87y87y87y8712341234") + self.assertEqual(c.campaign_id, "787y87y87y87y87y87y8712341234") + self.assertEqual(campaign_id, "787y87y87y87y87y87y8712341234") def test_send_preview_with_single_recipient(self): self.campaign.stub_request( @@ -145,23 +145,23 @@ def test_summary(self): self.campaign.stub_request( "campaigns/%s/summary.json" % self.campaign_id, "campaign_summary.json") summary = self.campaign.summary() - self.assertEquals(summary.Name, "Last Campaign") - self.assertEquals(summary.Recipients, 5) - self.assertEquals(summary.TotalOpened, 10) - self.assertEquals(summary.Clicks, 0) - self.assertEquals(summary.Unsubscribed, 0) - self.assertEquals(summary.Bounced, 0) - self.assertEquals(summary.UniqueOpened, 5) - self.assertEquals(summary.Mentions, 23) - self.assertEquals(summary.Forwards, 11) - self.assertEquals(summary.Likes, 32) - self.assertEquals(summary.WebVersionURL, + self.assertEqual(summary.Name, "Last Campaign") + self.assertEqual(summary.Recipients, 5) + self.assertEqual(summary.TotalOpened, 10) + self.assertEqual(summary.Clicks, 0) + self.assertEqual(summary.Unsubscribed, 0) + self.assertEqual(summary.Bounced, 0) + self.assertEqual(summary.UniqueOpened, 5) + self.assertEqual(summary.Mentions, 23) + self.assertEqual(summary.Forwards, 11) + self.assertEqual(summary.Likes, 32) + self.assertEqual(summary.WebVersionURL, "http://createsend.com/t/r-3A433FC72FFE3B8B") - self.assertEquals(summary.WebVersionTextURL, + self.assertEqual(summary.WebVersionTextURL, "http://createsend.com/t/r-3A433FC72FFE3B8B/t") - self.assertEquals( + self.assertEqual( summary.WorldviewURL, "http://client.createsend.com/reports/wv/r/3A433FC72FFE3B8B") - self.assertEquals(summary.SpamComplaints, 23) + self.assertEqual(summary.SpamComplaints, 23) def test_email_client_usage(self): self.campaign.stub_request( @@ -177,32 +177,32 @@ def test_lists_and_segments(self): self.campaign.stub_request("campaigns/%s/listsandsegments.json" % self.campaign_id, "campaign_listsandsegments.json") ls = self.campaign.lists_and_segments() - self.assertEquals(len(ls.Lists), 1) - self.assertEquals(len(ls.Segments), 1) - self.assertEquals(ls.Lists[0].Name, "List One") - self.assertEquals(ls.Lists[0].ListID, + self.assertEqual(len(ls.Lists), 1) + self.assertEqual(len(ls.Segments), 1) + self.assertEqual(ls.Lists[0].Name, "List One") + self.assertEqual(ls.Lists[0].ListID, "a58ee1d3039b8bec838e6d1482a8a965") - self.assertEquals(ls.Segments[0].Title, "Segment for campaign") - self.assertEquals(ls.Segments[0].ListID, + self.assertEqual(ls.Segments[0].Title, "Segment for campaign") + self.assertEqual(ls.Segments[0].ListID, "2bea949d0bf96148c3e6a209d2e82060") - self.assertEquals(ls.Segments[0].SegmentID, + self.assertEqual(ls.Segments[0].SegmentID, "dba84a225d5ce3d19105d7257baac46f") def test_recipients(self): self.campaign.stub_request("campaigns/%s/recipients.json?orderfield=email&page=1&pagesize=20&orderdirection=asc" % self.campaign_id, "campaign_recipients.json") res = self.campaign.recipients(page=1, page_size=20) - self.assertEquals(res.ResultsOrderedBy, "email") - self.assertEquals(res.OrderDirection, "asc") - self.assertEquals(res.PageNumber, 1) - self.assertEquals(res.PageSize, 20) - self.assertEquals(res.RecordsOnThisPage, 20) - self.assertEquals(res.TotalNumberOfRecords, 2200) - self.assertEquals(res.NumberOfPages, 110) - self.assertEquals(len(res.Results), 20) - self.assertEquals(res.Results[0].EmailAddress, + self.assertEqual(res.ResultsOrderedBy, "email") + self.assertEqual(res.OrderDirection, "asc") + self.assertEqual(res.PageNumber, 1) + self.assertEqual(res.PageSize, 20) + self.assertEqual(res.RecordsOnThisPage, 20) + self.assertEqual(res.TotalNumberOfRecords, 2200) + self.assertEqual(res.NumberOfPages, 110) + self.assertEqual(len(res.Results), 20) + self.assertEqual(res.Results[0].EmailAddress, "subs+6g76t7t0@example.com") - self.assertEquals(res.Results[0].ListID, + self.assertEqual(res.Results[0].ListID, "a994a3caf1328a16af9a69a730eaa706") def test_opens(self): @@ -210,115 +210,115 @@ def test_opens(self): self.campaign.stub_request("campaigns/%s/opens.json?date=%s&orderfield=date&page=1&pagesize=1000&orderdirection=asc" % (self.campaign_id, quote(min_date, '')), "campaign_opens.json") opens = self.campaign.opens(min_date) - self.assertEquals(len(opens.Results), 5) - self.assertEquals( + self.assertEqual(len(opens.Results), 5) + self.assertEqual( opens.Results[0].EmailAddress, "subs+6576576576@example.com") - self.assertEquals(opens.Results[0].ListID, + self.assertEqual(opens.Results[0].ListID, "512a3bc577a58fdf689c654329b50fa0") - self.assertEquals(opens.Results[0].Date, "2010-10-11 08:29:00") - self.assertEquals(opens.Results[0].IPAddress, "192.168.126.87") - self.assertEquals(opens.Results[0].Latitude, -33.8683) - self.assertEquals(opens.Results[0].Longitude, 151.2086) - self.assertEquals(opens.Results[0].City, "Sydney") - self.assertEquals(opens.Results[0].Region, "New South Wales") - self.assertEquals(opens.Results[0].CountryCode, "AU") - self.assertEquals(opens.Results[0].CountryName, "Australia") - self.assertEquals(opens.ResultsOrderedBy, "date") - self.assertEquals(opens.OrderDirection, "asc") - self.assertEquals(opens.PageNumber, 1) - self.assertEquals(opens.PageSize, 1000) - self.assertEquals(opens.RecordsOnThisPage, 5) - self.assertEquals(opens.TotalNumberOfRecords, 5) - self.assertEquals(opens.NumberOfPages, 1) + self.assertEqual(opens.Results[0].Date, "2010-10-11 08:29:00") + self.assertEqual(opens.Results[0].IPAddress, "192.168.126.87") + self.assertEqual(opens.Results[0].Latitude, -33.8683) + self.assertEqual(opens.Results[0].Longitude, 151.2086) + self.assertEqual(opens.Results[0].City, "Sydney") + self.assertEqual(opens.Results[0].Region, "New South Wales") + self.assertEqual(opens.Results[0].CountryCode, "AU") + self.assertEqual(opens.Results[0].CountryName, "Australia") + self.assertEqual(opens.ResultsOrderedBy, "date") + self.assertEqual(opens.OrderDirection, "asc") + self.assertEqual(opens.PageNumber, 1) + self.assertEqual(opens.PageSize, 1000) + self.assertEqual(opens.RecordsOnThisPage, 5) + self.assertEqual(opens.TotalNumberOfRecords, 5) + self.assertEqual(opens.NumberOfPages, 1) def test_clicks(self): min_date = "2010-01-01" self.campaign.stub_request("campaigns/%s/clicks.json?date=%s&orderfield=date&page=1&pagesize=1000&orderdirection=asc" % (self.campaign_id, quote(min_date, '')), "campaign_clicks.json") clicks = self.campaign.clicks(min_date) - self.assertEquals(len(clicks.Results), 3) - self.assertEquals( + self.assertEqual(len(clicks.Results), 3) + self.assertEqual( clicks.Results[0].EmailAddress, "subs+6576576576@example.com") - self.assertEquals( + self.assertEqual( clicks.Results[0].URL, "http://video.google.com.au/?hl=en&tab=wv") - self.assertEquals( + self.assertEqual( clicks.Results[0].ListID, "512a3bc577a58fdf689c654329b50fa0") - self.assertEquals(clicks.Results[0].Date, "2010-10-11 08:29:00") - self.assertEquals(clicks.Results[0].IPAddress, "192.168.126.87") - self.assertEquals(clicks.Results[0].Latitude, -33.8683) - self.assertEquals(clicks.Results[0].Longitude, 151.2086) - self.assertEquals(clicks.Results[0].City, "Sydney") - self.assertEquals(clicks.Results[0].Region, "New South Wales") - self.assertEquals(clicks.Results[0].CountryCode, "AU") - self.assertEquals(clicks.Results[0].CountryName, "Australia") - self.assertEquals(clicks.ResultsOrderedBy, "date") - self.assertEquals(clicks.OrderDirection, "asc") - self.assertEquals(clicks.PageNumber, 1) - self.assertEquals(clicks.PageSize, 1000) - self.assertEquals(clicks.RecordsOnThisPage, 3) - self.assertEquals(clicks.TotalNumberOfRecords, 3) - self.assertEquals(clicks.NumberOfPages, 1) + self.assertEqual(clicks.Results[0].Date, "2010-10-11 08:29:00") + self.assertEqual(clicks.Results[0].IPAddress, "192.168.126.87") + self.assertEqual(clicks.Results[0].Latitude, -33.8683) + self.assertEqual(clicks.Results[0].Longitude, 151.2086) + self.assertEqual(clicks.Results[0].City, "Sydney") + self.assertEqual(clicks.Results[0].Region, "New South Wales") + self.assertEqual(clicks.Results[0].CountryCode, "AU") + self.assertEqual(clicks.Results[0].CountryName, "Australia") + self.assertEqual(clicks.ResultsOrderedBy, "date") + self.assertEqual(clicks.OrderDirection, "asc") + self.assertEqual(clicks.PageNumber, 1) + self.assertEqual(clicks.PageSize, 1000) + self.assertEqual(clicks.RecordsOnThisPage, 3) + self.assertEqual(clicks.TotalNumberOfRecords, 3) + self.assertEqual(clicks.NumberOfPages, 1) def test_unsubscribes(self): min_date = "2010-01-01" self.campaign.stub_request("campaigns/%s/unsubscribes.json?date=%s&orderfield=date&page=1&pagesize=1000&orderdirection=asc" % (self.campaign_id, quote(min_date, '')), "campaign_unsubscribes.json") unsubscribes = self.campaign.unsubscribes(min_date) - self.assertEquals(len(unsubscribes.Results), 1) - self.assertEquals(unsubscribes.Results[ + self.assertEqual(len(unsubscribes.Results), 1) + self.assertEqual(unsubscribes.Results[ 0].EmailAddress, "subs+6576576576@example.com") - self.assertEquals(unsubscribes.Results[ + self.assertEqual(unsubscribes.Results[ 0].ListID, "512a3bc577a58fdf689c654329b50fa0") - self.assertEquals(unsubscribes.Results[0].Date, "2010-10-11 08:29:00") - self.assertEquals(unsubscribes.Results[0].IPAddress, "192.168.126.87") - self.assertEquals(unsubscribes.ResultsOrderedBy, "date") - self.assertEquals(unsubscribes.OrderDirection, "asc") - self.assertEquals(unsubscribes.PageNumber, 1) - self.assertEquals(unsubscribes.PageSize, 1000) - self.assertEquals(unsubscribes.RecordsOnThisPage, 1) - self.assertEquals(unsubscribes.TotalNumberOfRecords, 1) - self.assertEquals(unsubscribes.NumberOfPages, 1) + self.assertEqual(unsubscribes.Results[0].Date, "2010-10-11 08:29:00") + self.assertEqual(unsubscribes.Results[0].IPAddress, "192.168.126.87") + self.assertEqual(unsubscribes.ResultsOrderedBy, "date") + self.assertEqual(unsubscribes.OrderDirection, "asc") + self.assertEqual(unsubscribes.PageNumber, 1) + self.assertEqual(unsubscribes.PageSize, 1000) + self.assertEqual(unsubscribes.RecordsOnThisPage, 1) + self.assertEqual(unsubscribes.TotalNumberOfRecords, 1) + self.assertEqual(unsubscribes.NumberOfPages, 1) def test_spam(self): min_date = "2010-01-01" self.campaign.stub_request("campaigns/%s/spam.json?date=%s&orderfield=date&page=1&pagesize=1000&orderdirection=asc" % (self.campaign_id, quote(min_date, '')), "campaign_spam.json") spam = self.campaign.spam(min_date) - self.assertEquals(len(spam.Results), 1) - self.assertEquals( + self.assertEqual(len(spam.Results), 1) + self.assertEqual( spam.Results[0].EmailAddress, "subs+6576576576@example.com") - self.assertEquals(spam.Results[0].ListID, + self.assertEqual(spam.Results[0].ListID, "512a3bc577a58fdf689c654329b50fa0") - self.assertEquals(spam.Results[0].Date, "2010-10-11 08:29:00") - self.assertEquals(spam.ResultsOrderedBy, "date") - self.assertEquals(spam.OrderDirection, "asc") - self.assertEquals(spam.PageNumber, 1) - self.assertEquals(spam.PageSize, 1000) - self.assertEquals(spam.RecordsOnThisPage, 1) - self.assertEquals(spam.TotalNumberOfRecords, 1) - self.assertEquals(spam.NumberOfPages, 1) + self.assertEqual(spam.Results[0].Date, "2010-10-11 08:29:00") + self.assertEqual(spam.ResultsOrderedBy, "date") + self.assertEqual(spam.OrderDirection, "asc") + self.assertEqual(spam.PageNumber, 1) + self.assertEqual(spam.PageSize, 1000) + self.assertEqual(spam.RecordsOnThisPage, 1) + self.assertEqual(spam.TotalNumberOfRecords, 1) + self.assertEqual(spam.NumberOfPages, 1) def test_bounces(self): min_date = "2010-01-01" self.campaign.stub_request("campaigns/%s/bounces.json?date=%s&orderfield=date&page=1&pagesize=1000&orderdirection=asc" % (self.campaign_id, quote(min_date, '')), "campaign_bounces.json") bounces = self.campaign.bounces(min_date) - self.assertEquals(len(bounces.Results), 2) - self.assertEquals( + self.assertEqual(len(bounces.Results), 2) + self.assertEqual( bounces.Results[0].EmailAddress, "asdf@softbouncemyemail.com") - self.assertEquals( + self.assertEqual( bounces.Results[0].ListID, "654523a5855b4a440bae3fb295641546") - self.assertEquals(bounces.Results[0].BounceType, "Soft") - self.assertEquals(bounces.Results[0].Date, "2010-07-02 16:46:00") - self.assertEquals( + self.assertEqual(bounces.Results[0].BounceType, "Soft") + self.assertEqual(bounces.Results[0].Date, "2010-07-02 16:46:00") + self.assertEqual( bounces.Results[0].Reason, "Bounce - But No Email Address Returned ") - self.assertEquals(bounces.ResultsOrderedBy, "date") - self.assertEquals(bounces.OrderDirection, "asc") - self.assertEquals(bounces.PageNumber, 1) - self.assertEquals(bounces.PageSize, 1000) - self.assertEquals(bounces.RecordsOnThisPage, 2) - self.assertEquals(bounces.TotalNumberOfRecords, 2) - self.assertEquals(bounces.NumberOfPages, 1) + self.assertEqual(bounces.ResultsOrderedBy, "date") + self.assertEqual(bounces.OrderDirection, "asc") + self.assertEqual(bounces.PageNumber, 1) + self.assertEqual(bounces.PageSize, 1000) + self.assertEqual(bounces.RecordsOnThisPage, 2) + self.assertEqual(bounces.TotalNumberOfRecords, 2) + self.assertEqual(bounces.NumberOfPages, 1) class OAuthCampaignTestCase(unittest.TestCase, CampaignTestCase): diff --git a/test/test_client.py b/test/test_client.py index 6f6450f..1b879c2 100644 --- a/test/test_client.py +++ b/test/test_client.py @@ -11,147 +11,147 @@ def test_create(self): c.stub_request("clients.json", "create_client.json") client_id = c.create( "Client Company Name", "(GMT+10:00) Canberra, Melbourne, Sydney", "Australia") - self.assertEquals("32a381c49a2df99f1d0c6f3c112352b9", client_id) - self.assertEquals("32a381c49a2df99f1d0c6f3c112352b9", c.client_id) + self.assertEqual("32a381c49a2df99f1d0c6f3c112352b9", client_id) + self.assertEqual("32a381c49a2df99f1d0c6f3c112352b9", c.client_id) def test_details(self): self.cl.stub_request("clients/%s.json" % self.cl.client_id, "client_details.json") cl = self.cl.details() - self.assertEquals( + self.assertEqual( cl.ApiKey, "639d8cc27198202f5fe6037a8b17a29a59984b86d3289bc9") - self.assertEquals(cl.BasicDetails.ClientID, + self.assertEqual(cl.BasicDetails.ClientID, "4a397ccaaa55eb4e6aa1221e1e2d7122") - self.assertEquals(cl.BasicDetails.ContactName, "Client One (contact)") - self.assertEquals(cl.AccessDetails.Username, "clientone") - self.assertEquals(cl.AccessDetails.AccessLevel, 23) - self.assertEquals(cl.BillingDetails.Credits, 500) + self.assertEqual(cl.BasicDetails.ContactName, "Client One (contact)") + self.assertEqual(cl.AccessDetails.Username, "clientone") + self.assertEqual(cl.AccessDetails.AccessLevel, 23) + self.assertEqual(cl.BillingDetails.Credits, 500) def test_campaigns(self): self.cl.stub_request("clients/%s/campaigns.json?sentfromdate=&senttodate=&page=1&tags=&pagesize=1000&orderdirection=desc" % self.cl.client_id, "campaigns.json") sentCampaigns = self.cl.campaigns() campaigns = sentCampaigns.Results - self.assertEquals(len(campaigns), 2) - self.assertEquals(campaigns[0].CampaignID, + self.assertEqual(len(campaigns), 2) + self.assertEqual(campaigns[0].CampaignID, 'fc0ce7105baeaf97f47c99be31d02a91') - self.assertEquals(campaigns[0].WebVersionURL, + self.assertEqual(campaigns[0].WebVersionURL, 'http://createsend.com/t/r-765E86829575EE2C') - self.assertEquals(campaigns[0].WebVersionTextURL, + self.assertEqual(campaigns[0].WebVersionTextURL, 'http://createsend.com/t/r-765E86829575EE2C/t') - self.assertEquals(campaigns[0].Subject, 'Campaign One') - self.assertEquals(campaigns[0].Name, 'Campaign One') - self.assertEquals(campaigns[0].SentDate, '2010-10-12 12:58:00') - self.assertEquals(campaigns[0].TotalRecipients, 2245) - self.assertEquals(campaigns[0].FromName, 'My Name') - self.assertEquals(campaigns[0].FromEmail, 'myemail@example.com') - self.assertEquals(campaigns[0].ReplyTo, 'myemail@example.com') - self.assertEquals(campaigns[0].Tags, ["Tag1", "Tag2"]) - self.assertEquals(sentCampaigns.ResultsOrderedBy, "SentDate") - self.assertEquals(sentCampaigns.OrderDirection, "desc") - self.assertEquals(sentCampaigns.PageNumber, 1) - self.assertEquals(sentCampaigns.PageSize, 2) - self.assertEquals(sentCampaigns.RecordsOnThisPage, 2) - self.assertEquals(sentCampaigns.TotalNumberOfRecords, 49) - self.assertEquals(sentCampaigns.NumberOfPages, 25) + self.assertEqual(campaigns[0].Subject, 'Campaign One') + self.assertEqual(campaigns[0].Name, 'Campaign One') + self.assertEqual(campaigns[0].SentDate, '2010-10-12 12:58:00') + self.assertEqual(campaigns[0].TotalRecipients, 2245) + self.assertEqual(campaigns[0].FromName, 'My Name') + self.assertEqual(campaigns[0].FromEmail, 'myemail@example.com') + self.assertEqual(campaigns[0].ReplyTo, 'myemail@example.com') + self.assertEqual(campaigns[0].Tags, ["Tag1", "Tag2"]) + self.assertEqual(sentCampaigns.ResultsOrderedBy, "SentDate") + self.assertEqual(sentCampaigns.OrderDirection, "desc") + self.assertEqual(sentCampaigns.PageNumber, 1) + self.assertEqual(sentCampaigns.PageSize, 2) + self.assertEqual(sentCampaigns.RecordsOnThisPage, 2) + self.assertEqual(sentCampaigns.TotalNumberOfRecords, 49) + self.assertEqual(sentCampaigns.NumberOfPages, 25) def test_scheduled(self): self.cl.stub_request("clients/%s/scheduled.json" % self.cl.client_id, "scheduled_campaigns.json") campaigns = self.cl.scheduled() - self.assertEquals(len(campaigns), 2) - self.assertEquals(campaigns[0].DateScheduled, "2011-05-25 10:40:00") - self.assertEquals(campaigns[0].ScheduledTimeZone, + self.assertEqual(len(campaigns), 2) + self.assertEqual(campaigns[0].DateScheduled, "2011-05-25 10:40:00") + self.assertEqual(campaigns[0].ScheduledTimeZone, "(GMT+10:00) Canberra, Melbourne, Sydney") - self.assertEquals(campaigns[0].CampaignID, + self.assertEqual(campaigns[0].CampaignID, "827dbbd2161ea9989fa11ad562c66937") - self.assertEquals(campaigns[0].Name, "Magic Issue One") - self.assertEquals(campaigns[0].Subject, "Magic Issue One") - self.assertEquals(campaigns[0].DateCreated, "2011-05-24 10:37:00") - self.assertEquals(campaigns[0].PreviewURL, + self.assertEqual(campaigns[0].Name, "Magic Issue One") + self.assertEqual(campaigns[0].Subject, "Magic Issue One") + self.assertEqual(campaigns[0].DateCreated, "2011-05-24 10:37:00") + self.assertEqual(campaigns[0].PreviewURL, "http://createsend.com/t/r-DD543521A87C9B8B") - self.assertEquals(campaigns[0].PreviewTextURL, + self.assertEqual(campaigns[0].PreviewTextURL, "http://createsend.com/t/r-DD543521A87C9B8B/t") - self.assertEquals(campaigns[0].FromName, 'My Name') - self.assertEquals(campaigns[0].FromEmail, 'myemail@example.com') - self.assertEquals(campaigns[0].ReplyTo, 'myemail@example.com') - self.assertEquals(campaigns[0].Tags, []) + self.assertEqual(campaigns[0].FromName, 'My Name') + self.assertEqual(campaigns[0].FromEmail, 'myemail@example.com') + self.assertEqual(campaigns[0].ReplyTo, 'myemail@example.com') + self.assertEqual(campaigns[0].Tags, []) def test_drafts(self): self.cl.stub_request("clients/%s/drafts.json" % self.cl.client_id, "drafts.json") drafts = self.cl.drafts() - self.assertEquals(len(drafts), 2) - self.assertEquals(drafts[0].CampaignID, + self.assertEqual(len(drafts), 2) + self.assertEqual(drafts[0].CampaignID, '7c7424792065d92627139208c8c01db1') - self.assertEquals(drafts[0].Name, 'Draft One') - self.assertEquals(drafts[0].Subject, 'Draft One') - self.assertEquals(drafts[0].DateCreated, '2010-08-19 16:08:00') - self.assertEquals(drafts[0].PreviewURL, + self.assertEqual(drafts[0].Name, 'Draft One') + self.assertEqual(drafts[0].Subject, 'Draft One') + self.assertEqual(drafts[0].DateCreated, '2010-08-19 16:08:00') + self.assertEqual(drafts[0].PreviewURL, 'http://createsend.com/t/r-E97A7BB2E6983DA1') - self.assertEquals(drafts[0].PreviewTextURL, + self.assertEqual(drafts[0].PreviewTextURL, 'http://createsend.com/t/r-E97A7BB2E6983DA1/t') - self.assertEquals(drafts[0].FromName, 'My Name') - self.assertEquals(drafts[0].FromEmail, 'myemail@example.com') - self.assertEquals(drafts[0].ReplyTo, 'myemail@example.com') - self.assertEquals(drafts[0].Tags, ["Tags5"]) + self.assertEqual(drafts[0].FromName, 'My Name') + self.assertEqual(drafts[0].FromEmail, 'myemail@example.com') + self.assertEqual(drafts[0].ReplyTo, 'myemail@example.com') + self.assertEqual(drafts[0].Tags, ["Tags5"]) def test_tags(self): self.cl.stub_request("clients/%s/tags.json" % self.cl.client_id, "tags.json") tags = self.cl.tags() - self.assertEquals(len(tags), 2) - self.assertEquals(tags[0].Name, 'Happy') - self.assertEquals(tags[0].NumberOfCampaigns, 3) - self.assertEquals(tags[1].Name, 'Sad') - self.assertEquals(tags[1].NumberOfCampaigns, 1) + self.assertEqual(len(tags), 2) + self.assertEqual(tags[0].Name, 'Happy') + self.assertEqual(tags[0].NumberOfCampaigns, 3) + self.assertEqual(tags[1].Name, 'Sad') + self.assertEqual(tags[1].NumberOfCampaigns, 1) def test_lists(self): self.cl.stub_request("clients/%s/lists.json" % self.cl.client_id, "lists.json") lists = self.cl.lists() - self.assertEquals(len(lists), 2) - self.assertEquals(lists[0].ListID, 'a58ee1d3039b8bec838e6d1482a8a965') - self.assertEquals(lists[0].Name, 'List One') + self.assertEqual(len(lists), 2) + self.assertEqual(lists[0].ListID, 'a58ee1d3039b8bec838e6d1482a8a965') + self.assertEqual(lists[0].Name, 'List One') def test_lists_for_email(self): email = "valid@example.com" self.cl.stub_request("clients/%s/listsforemail.json?email=%s" % (self.cl.client_id, quote(email)), "listsforemail.json") lists = self.cl.lists_for_email(email) - self.assertEquals(len(lists), 2) - self.assertEquals(lists[0].ListID, 'ab4a2b57c7c8f1ba62f898a1af1a575b') - self.assertEquals(lists[0].ListName, 'List Number One') - self.assertEquals(lists[0].SubscriberState, 'Active') - self.assertEquals(lists[0].DateSubscriberAdded, '2012-08-20 22:32:00') + self.assertEqual(len(lists), 2) + self.assertEqual(lists[0].ListID, 'ab4a2b57c7c8f1ba62f898a1af1a575b') + self.assertEqual(lists[0].ListName, 'List Number One') + self.assertEqual(lists[0].SubscriberState, 'Active') + self.assertEqual(lists[0].DateSubscriberAdded, '2012-08-20 22:32:00') def test_segments(self): self.cl.stub_request("clients/%s/segments.json" % self.cl.client_id, "segments.json") segments = self.cl.segments() - self.assertEquals(len(segments), 2) - self.assertEquals(segments[0].ListID, + self.assertEqual(len(segments), 2) + self.assertEqual(segments[0].ListID, 'a58ee1d3039b8bec838e6d1482a8a965') - self.assertEquals(segments[0].SegmentID, + self.assertEqual(segments[0].SegmentID, '46aa5e01fd43381863d4e42cf277d3a9') - self.assertEquals(segments[0].Title, 'Segment One') + self.assertEqual(segments[0].Title, 'Segment One') def test_suppressionlist(self): self.cl.stub_request("clients/%s/suppressionlist.json?orderfield=email&page=1&pagesize=1000&orderdirection=asc" % self.cl.client_id, "suppressionlist.json") res = self.cl.suppressionlist() - self.assertEquals(res.ResultsOrderedBy, "email") - self.assertEquals(res.OrderDirection, "asc") - self.assertEquals(res.PageNumber, 1) - self.assertEquals(res.PageSize, 1000) - self.assertEquals(res.RecordsOnThisPage, 5) - self.assertEquals(res.TotalNumberOfRecords, 5) - self.assertEquals(res.NumberOfPages, 1) - self.assertEquals(len(res.Results), 5) - self.assertEquals(res.Results[0].SuppressionReason, "Unsubscribed") - self.assertEquals(res.Results[0].EmailAddress, "example+1@example.com") - self.assertEquals(res.Results[0].Date, "2010-10-26 10:55:31") - self.assertEquals(res.Results[0].State, "Suppressed") + self.assertEqual(res.ResultsOrderedBy, "email") + self.assertEqual(res.OrderDirection, "asc") + self.assertEqual(res.PageNumber, 1) + self.assertEqual(res.PageSize, 1000) + self.assertEqual(res.RecordsOnThisPage, 5) + self.assertEqual(res.TotalNumberOfRecords, 5) + self.assertEqual(res.NumberOfPages, 1) + self.assertEqual(len(res.Results), 5) + self.assertEqual(res.Results[0].SuppressionReason, "Unsubscribed") + self.assertEqual(res.Results[0].EmailAddress, "example+1@example.com") + self.assertEqual(res.Results[0].Date, "2010-10-26 10:55:31") + self.assertEqual(res.Results[0].State, "Suppressed") def test_suppress_with_single_email(self): self.cl.stub_request("clients/%s/suppress.json" % @@ -173,10 +173,10 @@ def test_templates(self): self.cl.stub_request("clients/%s/templates.json" % self.cl.client_id, "templates.json") templates = self.cl.templates() - self.assertEquals(len(templates), 2) - self.assertEquals(templates[0].TemplateID, + self.assertEqual(len(templates), 2) + self.assertEqual(templates[0].TemplateID, '5cac213cf061dd4e008de5a82b7a3621') - self.assertEquals(templates[0].Name, 'Template One') + self.assertEqual(templates[0].Name, 'Template One') def test_set_basics(self): self.cl.stub_request("clients/%s/setbasics.json" % @@ -208,30 +208,30 @@ def test_transfer_credits(self): self.cl.stub_request("clients/%s/credits.json" % self.cl.client_id, "transfer_credits.json") result = self.cl.transfer_credits(200, False) - self.assertEquals(result.AccountCredits, 800) - self.assertEquals(result.ClientCredits, 200) + self.assertEqual(result.AccountCredits, 800) + self.assertEqual(result.ClientCredits, 200) def test_people(self): self.cl.stub_request("clients/%s/people.json" % self.cl.client_id, "people.json") people = self.cl.people() - self.assertEquals(2, len(people)) - self.assertEquals('person1@blackhole.com', people[0].EmailAddress) - self.assertEquals('Person One', people[0].Name) - self.assertEquals('Active', people[0].Status) + self.assertEqual(2, len(people)) + self.assertEqual('person1@blackhole.com', people[0].EmailAddress) + self.assertEqual('Person One', people[0].Name) + self.assertEqual('Active', people[0].Status) def test_get_primary_contact(self): self.cl.stub_request("clients/%s/primarycontact.json" % self.cl.client_id, "client_get_primary_contact.json") primary_contact = self.cl.get_primary_contact() - self.assertEquals('person@blackhole.com', primary_contact.EmailAddress) + self.assertEqual('person@blackhole.com', primary_contact.EmailAddress) def test_set_primary_contact(self): email = 'person@blackhole.com' self.cl.stub_request("clients/%s/primarycontact.json?email=%s" % (self.cl.client_id, quote(email, '')), 'client_set_primary_contact.json') result = self.cl.set_primary_contact(email) - self.assertEquals(email, result.EmailAddress) + self.assertEqual(email, result.EmailAddress) def test_delete(self): self.cl.stub_request("clients/%s.json" % self.cl.client_id, None) diff --git a/test/test_createsend.py b/test/test_createsend.py index 787604e..a5734ef 100644 --- a/test/test_createsend.py +++ b/test/test_createsend.py @@ -20,68 +20,68 @@ class CreateSendTestCase(object): def test_that_default_user_agent_is_set(self): self.cs.stub_request("clients.json", "clients.json") cl = self.cs.clients() - self.assertEquals( + self.assertEqual( self.cs.headers['User-Agent'], CreateSend.default_user_agent) - self.assertEquals(2, len(cl)) + self.assertEqual(2, len(cl)) def test_that_custom_user_agent_can_be_set(self): CreateSend.user_agent = "custom user agent" self.cs.stub_request("clients.json", "clients.json") cl = self.cs.clients() - self.assertEquals(self.cs.headers['User-Agent'], "custom user agent") - self.assertEquals(2, len(cl)) + self.assertEqual(self.cs.headers['User-Agent'], "custom user agent") + self.assertEqual(2, len(cl)) CreateSend.user_agent = CreateSend.default_user_agent def test_clients(self): self.cs.stub_request("clients.json", "clients.json") cl = self.cs.clients() - self.assertEquals(2, len(cl)) - self.assertEquals("4a397ccaaa55eb4e6aa1221e1e2d7122", cl[0].ClientID) - self.assertEquals("Client One", cl[0].Name) + self.assertEqual(2, len(cl)) + self.assertEqual("4a397ccaaa55eb4e6aa1221e1e2d7122", cl[0].ClientID) + self.assertEqual("Client One", cl[0].Name) def test_billing_details(self): self.cs.stub_request("billingdetails.json", "billingdetails.json") bd = self.cs.billing_details() - self.assertEquals(3021, bd.Credits) + self.assertEqual(3021, bd.Credits) def test_countries(self): self.cs.stub_request("countries.json", "countries.json") countries = self.cs.countries() - self.assertEquals(245, len(countries)) - self.assertEquals("Australia", countries[11]) + self.assertEqual(245, len(countries)) + self.assertEqual("Australia", countries[11]) def test_systemdate(self): self.cs.stub_request("systemdate.json", "systemdate.json") systemdate = self.cs.systemdate() - self.assertEquals(systemdate, "2010-10-15 09:27:00") + self.assertEqual(systemdate, "2010-10-15 09:27:00") def test_timezones(self): self.cs.stub_request("timezones.json", "timezones.json") timezones = self.cs.timezones() - self.assertEquals(97, len(timezones)) - self.assertEquals("(GMT+12:00) Fiji", timezones[61]) + self.assertEqual(97, len(timezones)) + self.assertEqual("(GMT+12:00) Fiji", timezones[61]) def test_administrators(self): self.cs.stub_request("admins.json", "administrators.json") administrators = self.cs.administrators() - self.assertEquals(2, len(administrators)) - self.assertEquals('admin1@blackhole.com', + self.assertEqual(2, len(administrators)) + self.assertEqual('admin1@blackhole.com', administrators[0].EmailAddress) - self.assertEquals('Admin One', administrators[0].Name) - self.assertEquals('Active', administrators[0].Status) + self.assertEqual('Admin One', administrators[0].Name) + self.assertEqual('Active', administrators[0].Status) def test_get_primary_contact(self): self.cs.stub_request("primarycontact.json", "admin_get_primary_contact.json") primary_contact = self.cs.get_primary_contact() - self.assertEquals('admin@blackhole.com', primary_contact.EmailAddress) + self.assertEqual('admin@blackhole.com', primary_contact.EmailAddress) def test_set_primary_contact(self): email = 'admin@blackhole.com' self.cs.stub_request('primarycontact.json?email=%s' % quote(email, ''), 'admin_set_primary_contact.json') result = self.cs.set_primary_contact(email) - self.assertEquals(email, result.EmailAddress) + self.assertEqual(email, result.EmailAddress) def test_external_session_url(self): email = "exammple@example.com" @@ -92,7 +92,7 @@ def test_external_session_url(self): self.cs.stub_request('externalsession.json', 'external_session.json') result = self.cs.external_session_url( email, chrome, url, integrator_id, client_id) - self.assertEquals( + self.assertEqual( "https://external1.createsend.com/cd/create/ABCDEF12/DEADBEEF?url=FEEDDAD1", result.SessionUrl) # Test fake web mode @@ -114,9 +114,9 @@ def test_bad_request(self): try: c.create("", "", "") except BadRequest as br: - self.assertEquals(98798, br.data.Code) - self.assertEquals('A crazy API error', br.data.Message) - self.assertEquals( + self.assertEqual(98798, br.data.Code) + self.assertEqual('A crazy API error', br.data.Message) + self.assertEqual( 'The CreateSend API responded with the following error - 98798: A crazy API error', "%s" % br) def test_unauthorized(self): @@ -125,9 +125,9 @@ def test_unauthorized(self): try: c.create("", "", "") except Unauthorized as ua: - self.assertEquals(98798, ua.data.Code) - self.assertEquals('A crazy API error', ua.data.Message) - self.assertEquals( + self.assertEqual(98798, ua.data.Code) + self.assertEqual('A crazy API error', ua.data.Message) + self.assertEqual( 'The CreateSend API responded with the following error - 98798: A crazy API error', "%s" % ua) # Test that the corresponding exceptions are raised according to the diff --git a/test/test_journey_email.py b/test/test_journey_email.py index 1a5a531..28eba45 100644 --- a/test/test_journey_email.py +++ b/test/test_journey_email.py @@ -55,13 +55,13 @@ def test_clicks_no_params(self): self.assertEqual(click_one.Region, "New South Wales") self.assertEqual(click_one.CountryCode, "AU") self.assertEqual(click_one.CountryName, "Australia") - self.assertEquals(clicks.ResultsOrderedBy, "Date") - self.assertEquals(clicks.OrderDirection, "ASC") - self.assertEquals(clicks.PageNumber, 1) - self.assertEquals(clicks.PageSize, 1000) - self.assertEquals(clicks.RecordsOnThisPage, 2) - self.assertEquals(clicks.TotalNumberOfRecords, 2) - self.assertEquals(clicks.NumberOfPages, 1) + self.assertEqual(clicks.ResultsOrderedBy, "Date") + self.assertEqual(clicks.OrderDirection, "ASC") + self.assertEqual(clicks.PageNumber, 1) + self.assertEqual(clicks.PageSize, 1000) + self.assertEqual(clicks.RecordsOnThisPage, 2) + self.assertEqual(clicks.TotalNumberOfRecords, 2) + self.assertEqual(clicks.NumberOfPages, 1) def test_clicks_with_params(self): self.journey_email.stub_request(self.param_uri_for("clicks", "2019-01-01", 1, 10, "desc"), "journey_email_clicks_with_params.json") @@ -78,13 +78,13 @@ def test_clicks_with_params(self): self.assertEqual(click_one.Region, "New South Wales") self.assertEqual(click_one.CountryCode, "AU") self.assertEqual(click_one.CountryName, "Australia") - self.assertEquals(clicks.ResultsOrderedBy, "Date") - self.assertEquals(clicks.OrderDirection, "DESC") - self.assertEquals(clicks.PageNumber, 1) - self.assertEquals(clicks.PageSize, 10) - self.assertEquals(clicks.RecordsOnThisPage, 2) - self.assertEquals(clicks.TotalNumberOfRecords, 2) - self.assertEquals(clicks.NumberOfPages, 1) + self.assertEqual(clicks.ResultsOrderedBy, "Date") + self.assertEqual(clicks.OrderDirection, "DESC") + self.assertEqual(clicks.PageNumber, 1) + self.assertEqual(clicks.PageSize, 10) + self.assertEqual(clicks.RecordsOnThisPage, 2) + self.assertEqual(clicks.TotalNumberOfRecords, 2) + self.assertEqual(clicks.NumberOfPages, 1) def test_opens_no_params(self): self.journey_email.stub_request(self.no_param_uri_for("opens"), "journey_email_opens_no_params.json") @@ -100,13 +100,13 @@ def test_opens_no_params(self): self.assertEqual(open_one.Region, "New South Wales") self.assertEqual(open_one.CountryCode, "AU") self.assertEqual(open_one.CountryName, "Australia") - self.assertEquals(opens.ResultsOrderedBy, "Date") - self.assertEquals(opens.OrderDirection, "ASC") - self.assertEquals(opens.PageNumber, 1) - self.assertEquals(opens.PageSize, 1000) - self.assertEquals(opens.RecordsOnThisPage, 2) - self.assertEquals(opens.TotalNumberOfRecords, 2) - self.assertEquals(opens.NumberOfPages, 1) + self.assertEqual(opens.ResultsOrderedBy, "Date") + self.assertEqual(opens.OrderDirection, "ASC") + self.assertEqual(opens.PageNumber, 1) + self.assertEqual(opens.PageSize, 1000) + self.assertEqual(opens.RecordsOnThisPage, 2) + self.assertEqual(opens.TotalNumberOfRecords, 2) + self.assertEqual(opens.NumberOfPages, 1) def test_opens_with_params(self): self.journey_email.stub_request(self.param_uri_for("opens", "2019-01-01", 1, 10, "desc"), "journey_email_opens_with_params.json") @@ -122,13 +122,13 @@ def test_opens_with_params(self): self.assertEqual(open_one.Region, "New South Wales") self.assertEqual(open_one.CountryCode, "AU") self.assertEqual(open_one.CountryName, "Australia") - self.assertEquals(opens.ResultsOrderedBy, "Date") - self.assertEquals(opens.OrderDirection, "DESC") - self.assertEquals(opens.PageNumber, 1) - self.assertEquals(opens.PageSize, 10) - self.assertEquals(opens.RecordsOnThisPage, 2) - self.assertEquals(opens.TotalNumberOfRecords, 2) - self.assertEquals(opens.NumberOfPages, 1) + self.assertEqual(opens.ResultsOrderedBy, "Date") + self.assertEqual(opens.OrderDirection, "DESC") + self.assertEqual(opens.PageNumber, 1) + self.assertEqual(opens.PageSize, 10) + self.assertEqual(opens.RecordsOnThisPage, 2) + self.assertEqual(opens.TotalNumberOfRecords, 2) + self.assertEqual(opens.NumberOfPages, 1) def test_recipients_no_params(self): self.journey_email.stub_request(self.no_param_uri_for("recipients"), "journey_email_recipients_no_params.json") diff --git a/test/test_list.py b/test/test_list.py index f312efc..d0a3a23 100644 --- a/test/test_list.py +++ b/test/test_list.py @@ -12,16 +12,16 @@ def test_create_without_unsubscribe_setting(self): l = List() l.stub_request("lists/%s.json" % self.client_id, "create_list.json") list_id = l.create(self.client_id, "List One", "", False, "") - self.assertEquals(list_id, "e3c5f034d68744f7881fdccf13c2daee1234") - self.assertEquals(l.list_id, "e3c5f034d68744f7881fdccf13c2daee1234") + self.assertEqual(list_id, "e3c5f034d68744f7881fdccf13c2daee1234") + self.assertEqual(l.list_id, "e3c5f034d68744f7881fdccf13c2daee1234") def test_create_with_unsubscribe_setting(self): l = List() l.stub_request("lists/%s.json" % self.client_id, "create_list.json") list_id = l.create(self.client_id, "List One", "", False, "", "OnlyThisList") - self.assertEquals(list_id, "e3c5f034d68744f7881fdccf13c2daee1234") - self.assertEquals(l.list_id, "e3c5f034d68744f7881fdccf13c2daee1234") + self.assertEqual(list_id, "e3c5f034d68744f7881fdccf13c2daee1234") + self.assertEqual(l.list_id, "e3c5f034d68744f7881fdccf13c2daee1234") def test_update_without_unsubscribe_setting(self): self.list.stub_request("lists/%s.json" % self.list.list_id, None) @@ -46,7 +46,7 @@ def test_create_custom_field(self): "{\"DataType\": \"Date\", \"FieldName\": \"new date field\", \"Options\": [], \"VisibleInPreferenceCenter\": true}") personalisation_tag = self.list.create_custom_field( "new date field", "Date") - self.assertEquals(personalisation_tag, "[newdatefield]") + self.assertEqual(personalisation_tag, "[newdatefield]") def test_create_custom_field_with_options_and_visible_in_preference_center(self): options = ["one", "two"] @@ -55,7 +55,7 @@ def test_create_custom_field_with_options_and_visible_in_preference_center(self) "{\"DataType\": \"MultiSelectOne\", \"FieldName\": \"newsletter format\", \"Options\": [\"one\", \"two\"], \"VisibleInPreferenceCenter\": false}") personalisation_tag = self.list.create_custom_field("newsletter format", "MultiSelectOne", options, False) - self.assertEquals(personalisation_tag, "[newdatefield]") + self.assertEqual(personalisation_tag, "[newdatefield]") def test_update_custom_field(self): key = "[mycustomfield]" @@ -64,7 +64,7 @@ def test_update_custom_field(self): "{\"FieldName\": \"my renamed custom field\", \"VisibleInPreferenceCenter\": true}") personalisation_tag = self.list.update_custom_field( key, "my renamed custom field", True) - self.assertEquals(personalisation_tag, "[myrenamedcustomfield]") + self.assertEqual(personalisation_tag, "[myrenamedcustomfield]") def test_delete_custom_field(self): custom_field_key = "[newdatefield]" @@ -84,217 +84,217 @@ def test_details(self): self.list.stub_request("lists/%s.json" % self.list.list_id, "list_details.json") details = self.list.details() - self.assertEquals(details.ConfirmedOptIn, False) - self.assertEquals(details.Title, "a non-basic list :)") - self.assertEquals(details.UnsubscribePage, "") - self.assertEquals(details.ListID, "2fe4c8f0373ce320e2200596d7ef168f") - self.assertEquals(details.ConfirmationSuccessPage, "") + self.assertEqual(details.ConfirmedOptIn, False) + self.assertEqual(details.Title, "a non-basic list :)") + self.assertEqual(details.UnsubscribePage, "") + self.assertEqual(details.ListID, "2fe4c8f0373ce320e2200596d7ef168f") + self.assertEqual(details.ConfirmationSuccessPage, "") def test_custom_fields(self): self.list.stub_request("lists/%s/customfields.json" % self.list.list_id, "custom_fields.json") cfs = self.list.custom_fields() - self.assertEquals(len(cfs), 3) - self.assertEquals(cfs[0].FieldName, "website") - self.assertEquals(cfs[0].Key, "[website]") - self.assertEquals(cfs[0].DataType, "Text") - self.assertEquals(cfs[0].FieldOptions, []) - self.assertEquals(cfs[0].VisibleInPreferenceCenter, True) + self.assertEqual(len(cfs), 3) + self.assertEqual(cfs[0].FieldName, "website") + self.assertEqual(cfs[0].Key, "[website]") + self.assertEqual(cfs[0].DataType, "Text") + self.assertEqual(cfs[0].FieldOptions, []) + self.assertEqual(cfs[0].VisibleInPreferenceCenter, True) def test_custom_fields_utf8(self): self.list.stub_request("lists/%s/customfields.json" % self.list.list_id, "custom_fields_utf8.json") cfs = self.list.custom_fields() - self.assertEquals(len(cfs), 2) - self.assertEquals(cfs[0].FieldName, "salary_range") - self.assertEquals(cfs[0].FieldOptions, [ + self.assertEqual(len(cfs), 2) + self.assertEqual(cfs[0].FieldName, "salary_range") + self.assertEqual(cfs[0].FieldOptions, [ u"£0-20k", u"£20-30k", u"£30k+"]) def test_segments(self): self.list.stub_request("lists/%s/segments.json" % self.list.list_id, "segments.json") segments = self.list.segments() - self.assertEquals(len(segments), 2) - self.assertEquals(segments[0].ListID, + self.assertEqual(len(segments), 2) + self.assertEqual(segments[0].ListID, 'a58ee1d3039b8bec838e6d1482a8a965') - self.assertEquals(segments[0].SegmentID, + self.assertEqual(segments[0].SegmentID, '46aa5e01fd43381863d4e42cf277d3a9') - self.assertEquals(segments[0].Title, 'Segment One') + self.assertEqual(segments[0].Title, 'Segment One') def test_stats(self): self.list.stub_request("lists/%s/stats.json" % self.list.list_id, "list_stats.json") stats = self.list.stats() - self.assertEquals(stats.TotalActiveSubscribers, 6) - self.assertEquals(stats.TotalUnsubscribes, 2) - self.assertEquals(stats.TotalDeleted, 0) - self.assertEquals(stats.TotalBounces, 0) + self.assertEqual(stats.TotalActiveSubscribers, 6) + self.assertEqual(stats.TotalUnsubscribes, 2) + self.assertEqual(stats.TotalDeleted, 0) + self.assertEqual(stats.TotalBounces, 0) def test_active(self): min_date = "2010-01-01" self.list.stub_request("lists/%s/active.json?date=%s&orderfield=email&page=1&pagesize=1000&orderdirection=asc&includetrackingpreference=False" % (self.list.list_id, quote(min_date)), "active_subscribers.json") res = self.list.active(min_date) - self.assertEquals(res.ResultsOrderedBy, "email") - self.assertEquals(res.OrderDirection, "asc") - self.assertEquals(res.PageNumber, 1) - self.assertEquals(res.PageSize, 1000) - self.assertEquals(res.RecordsOnThisPage, 5) - self.assertEquals(res.TotalNumberOfRecords, 5) - self.assertEquals(res.NumberOfPages, 1) - self.assertEquals(len(res.Results), 5) - self.assertEquals(res.Results[0].EmailAddress, + self.assertEqual(res.ResultsOrderedBy, "email") + self.assertEqual(res.OrderDirection, "asc") + self.assertEqual(res.PageNumber, 1) + self.assertEqual(res.PageSize, 1000) + self.assertEqual(res.RecordsOnThisPage, 5) + self.assertEqual(res.TotalNumberOfRecords, 5) + self.assertEqual(res.NumberOfPages, 1) + self.assertEqual(len(res.Results), 5) + self.assertEqual(res.Results[0].EmailAddress, "subs+7t8787Y@example.com") - self.assertEquals(res.Results[0].Name, "Person One") - self.assertEquals(res.Results[0].Date, "2010-10-25 10:28:00") - self.assertEquals(res.Results[0].ListJoinedDate, "2010-10-24 10:28:00") - self.assertEquals(res.Results[0].State, "Active") - self.assertEquals(len(res.Results[0].CustomFields), 5) - self.assertEquals(res.Results[0].CustomFields[0].Key, "website") - self.assertEquals(res.Results[0].CustomFields[ + self.assertEqual(res.Results[0].Name, "Person One") + self.assertEqual(res.Results[0].Date, "2010-10-25 10:28:00") + self.assertEqual(res.Results[0].ListJoinedDate, "2010-10-24 10:28:00") + self.assertEqual(res.Results[0].State, "Active") + self.assertEqual(len(res.Results[0].CustomFields), 5) + self.assertEqual(res.Results[0].CustomFields[0].Key, "website") + self.assertEqual(res.Results[0].CustomFields[ 0].Value, "http://example.com") - self.assertEquals(res.Results[0].CustomFields[ + self.assertEqual(res.Results[0].CustomFields[ 1].Key, "multi select field") - self.assertEquals(res.Results[0].CustomFields[1].Value, "option one") - self.assertEquals(res.Results[0].CustomFields[ + self.assertEqual(res.Results[0].CustomFields[1].Value, "option one") + self.assertEqual(res.Results[0].CustomFields[ 2].Key, "multi select field") - self.assertEquals(res.Results[0].CustomFields[2].Value, "option two") - self.assertEquals(res.Results[0].ReadsEmailWith, "Gmail") + self.assertEqual(res.Results[0].CustomFields[2].Value, "option two") + self.assertEqual(res.Results[0].ReadsEmailWith, "Gmail") def test_active_with_tracking_preference_included(self): min_date = "2010-01-01" self.list.stub_request("lists/%s/active.json?date=%s&orderfield=email&page=1&pagesize=1000&orderdirection=asc&includetrackingpreference=True" % (self.list.list_id, quote(min_date)), "active_subscribers_with_tracking_preference.json") res = self.list.active(min_date, include_tracking_preference=True) - self.assertEquals(res.ResultsOrderedBy, "email") - self.assertEquals(res.OrderDirection, "asc") - self.assertEquals(res.PageNumber, 1) - self.assertEquals(res.PageSize, 1000) - self.assertEquals(res.RecordsOnThisPage, 5) - self.assertEquals(res.TotalNumberOfRecords, 5) - self.assertEquals(res.NumberOfPages, 1) - self.assertEquals(len(res.Results), 5) - self.assertEquals(res.Results[0].EmailAddress, + self.assertEqual(res.ResultsOrderedBy, "email") + self.assertEqual(res.OrderDirection, "asc") + self.assertEqual(res.PageNumber, 1) + self.assertEqual(res.PageSize, 1000) + self.assertEqual(res.RecordsOnThisPage, 5) + self.assertEqual(res.TotalNumberOfRecords, 5) + self.assertEqual(res.NumberOfPages, 1) + self.assertEqual(len(res.Results), 5) + self.assertEqual(res.Results[0].EmailAddress, "subs+7t8787Y@example.com") - self.assertEquals(res.Results[0].Name, "Person One") - self.assertEquals(res.Results[0].Date, "2010-10-25 10:28:00") - self.assertEquals(res.Results[0].ListJoinedDate, "2010-10-24 10:28:00") - self.assertEquals(res.Results[0].State, "Active") - self.assertEquals(len(res.Results[0].CustomFields), 5) - self.assertEquals(res.Results[0].CustomFields[0].Key, "website") - self.assertEquals(res.Results[0].CustomFields[ + self.assertEqual(res.Results[0].Name, "Person One") + self.assertEqual(res.Results[0].Date, "2010-10-25 10:28:00") + self.assertEqual(res.Results[0].ListJoinedDate, "2010-10-24 10:28:00") + self.assertEqual(res.Results[0].State, "Active") + self.assertEqual(len(res.Results[0].CustomFields), 5) + self.assertEqual(res.Results[0].CustomFields[0].Key, "website") + self.assertEqual(res.Results[0].CustomFields[ 0].Value, "http://example.com") - self.assertEquals(res.Results[0].CustomFields[ + self.assertEqual(res.Results[0].CustomFields[ 1].Key, "multi select field") - self.assertEquals(res.Results[0].CustomFields[1].Value, "option one") - self.assertEquals(res.Results[0].CustomFields[ + self.assertEqual(res.Results[0].CustomFields[1].Value, "option one") + self.assertEqual(res.Results[0].CustomFields[ 2].Key, "multi select field") - self.assertEquals(res.Results[0].CustomFields[2].Value, "option two") - self.assertEquals(res.Results[0].ReadsEmailWith, "Gmail") - self.assertEquals(res.Results[0].ConsentToTrack, "Yes") + self.assertEqual(res.Results[0].CustomFields[2].Value, "option two") + self.assertEqual(res.Results[0].ReadsEmailWith, "Gmail") + self.assertEqual(res.Results[0].ConsentToTrack, "Yes") def test_unconfirmed(self): min_date = "2010-01-01" self.list.stub_request("lists/%s/unconfirmed.json?date=%s&orderfield=email&page=1&pagesize=1000&orderdirection=asc&includetrackingpreference=False" % (self.list.list_id, quote(min_date)), "unconfirmed_subscribers.json") res = self.list.unconfirmed(min_date) - self.assertEquals(res.ResultsOrderedBy, "email") - self.assertEquals(res.OrderDirection, "asc") - self.assertEquals(res.PageNumber, 1) - self.assertEquals(res.PageSize, 1000) - self.assertEquals(res.RecordsOnThisPage, 2) - self.assertEquals(res.TotalNumberOfRecords, 2) - self.assertEquals(res.NumberOfPages, 1) - self.assertEquals(len(res.Results), 2) - self.assertEquals(res.Results[0].EmailAddress, + self.assertEqual(res.ResultsOrderedBy, "email") + self.assertEqual(res.OrderDirection, "asc") + self.assertEqual(res.PageNumber, 1) + self.assertEqual(res.PageSize, 1000) + self.assertEqual(res.RecordsOnThisPage, 2) + self.assertEqual(res.TotalNumberOfRecords, 2) + self.assertEqual(res.NumberOfPages, 1) + self.assertEqual(len(res.Results), 2) + self.assertEqual(res.Results[0].EmailAddress, "subs+7t8787Y@example.com") - self.assertEquals(res.Results[0].Name, "Unconfirmed One") - self.assertEquals(res.Results[0].State, "Unconfirmed") + self.assertEqual(res.Results[0].Name, "Unconfirmed One") + self.assertEqual(res.Results[0].State, "Unconfirmed") def test_unsubscribed(self): min_date = "2010-01-01" self.list.stub_request("lists/%s/unsubscribed.json?date=%s&orderfield=email&page=1&pagesize=1000&orderdirection=asc&includetrackingpreference=False" % (self.list.list_id, quote(min_date)), "unsubscribed_subscribers.json") res = self.list.unsubscribed(min_date) - self.assertEquals(res.ResultsOrderedBy, "email") - self.assertEquals(res.OrderDirection, "asc") - self.assertEquals(res.PageNumber, 1) - self.assertEquals(res.PageSize, 1000) - self.assertEquals(res.RecordsOnThisPage, 5) - self.assertEquals(res.TotalNumberOfRecords, 5) - self.assertEquals(res.NumberOfPages, 1) - self.assertEquals(len(res.Results), 5) - self.assertEquals( + self.assertEqual(res.ResultsOrderedBy, "email") + self.assertEqual(res.OrderDirection, "asc") + self.assertEqual(res.PageNumber, 1) + self.assertEqual(res.PageSize, 1000) + self.assertEqual(res.RecordsOnThisPage, 5) + self.assertEqual(res.TotalNumberOfRecords, 5) + self.assertEqual(res.NumberOfPages, 1) + self.assertEqual(len(res.Results), 5) + self.assertEqual( res.Results[0].EmailAddress, "subscriber@example.com") - self.assertEquals(res.Results[0].Name, "Unsub One") - self.assertEquals(res.Results[0].Date, "2010-10-25 13:11:00") - self.assertEquals(res.Results[0].ListJoinedDate, "2010-10-25 13:11:00") - self.assertEquals(res.Results[0].State, "Unsubscribed") - self.assertEquals(len(res.Results[0].CustomFields), 0) - self.assertEquals(res.Results[0].ReadsEmailWith, "Gmail") + self.assertEqual(res.Results[0].Name, "Unsub One") + self.assertEqual(res.Results[0].Date, "2010-10-25 13:11:00") + self.assertEqual(res.Results[0].ListJoinedDate, "2010-10-25 13:11:00") + self.assertEqual(res.Results[0].State, "Unsubscribed") + self.assertEqual(len(res.Results[0].CustomFields), 0) + self.assertEqual(res.Results[0].ReadsEmailWith, "Gmail") def test_deleted(self): min_date = "2010-01-01" self.list.stub_request("lists/%s/deleted.json?date=%s&orderfield=email&page=1&pagesize=1000&orderdirection=asc&includetrackingpreference=False" % (self.list.list_id, quote(min_date)), "deleted_subscribers.json") res = self.list.deleted(min_date) - self.assertEquals(res.ResultsOrderedBy, "email") - self.assertEquals(res.OrderDirection, "asc") - self.assertEquals(res.PageNumber, 1) - self.assertEquals(res.PageSize, 1000) - self.assertEquals(res.RecordsOnThisPage, 5) - self.assertEquals(res.TotalNumberOfRecords, 5) - self.assertEquals(res.NumberOfPages, 1) - self.assertEquals(len(res.Results), 5) - self.assertEquals( + self.assertEqual(res.ResultsOrderedBy, "email") + self.assertEqual(res.OrderDirection, "asc") + self.assertEqual(res.PageNumber, 1) + self.assertEqual(res.PageSize, 1000) + self.assertEqual(res.RecordsOnThisPage, 5) + self.assertEqual(res.TotalNumberOfRecords, 5) + self.assertEqual(res.NumberOfPages, 1) + self.assertEqual(len(res.Results), 5) + self.assertEqual( res.Results[0].EmailAddress, "subscriber@example.com") - self.assertEquals(res.Results[0].Name, "Deleted One") - self.assertEquals(res.Results[0].Date, "2010-10-25 13:11:00") - self.assertEquals(res.Results[0].ListJoinedDate, "2010-10-25 13:11:00") - self.assertEquals(res.Results[0].State, "Deleted") - self.assertEquals(len(res.Results[0].CustomFields), 0) - self.assertEquals(res.Results[0].ReadsEmailWith, "Gmail") + self.assertEqual(res.Results[0].Name, "Deleted One") + self.assertEqual(res.Results[0].Date, "2010-10-25 13:11:00") + self.assertEqual(res.Results[0].ListJoinedDate, "2010-10-25 13:11:00") + self.assertEqual(res.Results[0].State, "Deleted") + self.assertEqual(len(res.Results[0].CustomFields), 0) + self.assertEqual(res.Results[0].ReadsEmailWith, "Gmail") def test_bounced(self): min_date = "2010-01-01" self.list.stub_request("lists/%s/bounced.json?date=%s&orderfield=email&page=1&pagesize=1000&orderdirection=asc&includetrackingpreference=False" % (self.list.list_id, quote(min_date)), "bounced_subscribers.json") res = self.list.bounced(min_date) - self.assertEquals(res.ResultsOrderedBy, "email") - self.assertEquals(res.OrderDirection, "asc") - self.assertEquals(res.PageNumber, 1) - self.assertEquals(res.PageSize, 1000) - self.assertEquals(res.RecordsOnThisPage, 1) - self.assertEquals(res.TotalNumberOfRecords, 1) - self.assertEquals(res.NumberOfPages, 1) - self.assertEquals(len(res.Results), 1) - self.assertEquals(res.Results[0].EmailAddress, + self.assertEqual(res.ResultsOrderedBy, "email") + self.assertEqual(res.OrderDirection, "asc") + self.assertEqual(res.PageNumber, 1) + self.assertEqual(res.PageSize, 1000) + self.assertEqual(res.RecordsOnThisPage, 1) + self.assertEqual(res.TotalNumberOfRecords, 1) + self.assertEqual(res.NumberOfPages, 1) + self.assertEqual(len(res.Results), 1) + self.assertEqual(res.Results[0].EmailAddress, "bouncedsubscriber@example.com") - self.assertEquals(res.Results[0].Name, "Bounced One") - self.assertEquals(res.Results[0].Date, "2010-10-25 13:11:00") - self.assertEquals(res.Results[0].ListJoinedDate, "2010-10-25 13:11:00") - self.assertEquals(res.Results[0].State, "Bounced") - self.assertEquals(len(res.Results[0].CustomFields), 0) - self.assertEquals(res.Results[0].ReadsEmailWith, "") + self.assertEqual(res.Results[0].Name, "Bounced One") + self.assertEqual(res.Results[0].Date, "2010-10-25 13:11:00") + self.assertEqual(res.Results[0].ListJoinedDate, "2010-10-25 13:11:00") + self.assertEqual(res.Results[0].State, "Bounced") + self.assertEqual(len(res.Results[0].CustomFields), 0) + self.assertEqual(res.Results[0].ReadsEmailWith, "") def test_webhooks(self): self.list.stub_request("lists/%s/webhooks.json" % self.list.list_id, "list_webhooks.json") hooks = self.list.webhooks() - self.assertEquals(len(hooks), 2) - self.assertEquals(hooks[0].WebhookID, "943678317049bc13") - self.assertEquals(len(hooks[0].Events), 1) - self.assertEquals(hooks[0].Events[0], "Deactivate") - self.assertEquals(hooks[0].Url, "http://www.postbin.org/d9w8ud9wud9w") - self.assertEquals(hooks[0].Status, "Active") - self.assertEquals(hooks[0].PayloadFormat, "Json") + self.assertEqual(len(hooks), 2) + self.assertEqual(hooks[0].WebhookID, "943678317049bc13") + self.assertEqual(len(hooks[0].Events), 1) + self.assertEqual(hooks[0].Events[0], "Deactivate") + self.assertEqual(hooks[0].Url, "http://www.postbin.org/d9w8ud9wud9w") + self.assertEqual(hooks[0].Status, "Active") + self.assertEqual(hooks[0].PayloadFormat, "Json") def test_create_webhook(self): self.list.stub_request("lists/%s/webhooks.json" % self.list.list_id, "create_list_webhook.json") webhook_id = self.list.create_webhook( ["Unsubscribe", "Spam"], "http://example.com/unsub", "json") - self.assertEquals(webhook_id, "6a783d359bd44ef62c6ca0d3eda4412a") + self.assertEqual(webhook_id, "6a783d359bd44ef62c6ca0d3eda4412a") def test_test_webhook(self): webhook_id = "jiuweoiwueoiwueowiueo" diff --git a/test/test_people.py b/test/test_people.py index a17fb93..c534037 100644 --- a/test/test_people.py +++ b/test/test_people.py @@ -11,34 +11,34 @@ def test_get(self): self.person.stub_request("clients/%s/people.json?email=%s" % (self.client_id, quote(email)), "person_details.json") person = self.person.get(self.client_id, email) - self.assertEquals(person.EmailAddress, email) - self.assertEquals(person.Name, "Person One") - self.assertEquals(person.AccessLevel, 1023) - self.assertEquals(person.Status, "Active") + self.assertEqual(person.EmailAddress, email) + self.assertEqual(person.Name, "Person One") + self.assertEqual(person.AccessLevel, 1023) + self.assertEqual(person.Status, "Active") def test_get_without_args(self): email = "person@example.com" self.person.stub_request("clients/%s/people.json?email=%s" % (self.client_id, quote(email)), "person_details.json") person = self.person.get() - self.assertEquals(person.EmailAddress, email) - self.assertEquals(person.Name, "Person One") - self.assertEquals(person.AccessLevel, 1023) - self.assertEquals(person.Status, "Active") + self.assertEqual(person.EmailAddress, email) + self.assertEqual(person.Name, "Person One") + self.assertEqual(person.AccessLevel, 1023) + self.assertEqual(person.Status, "Active") def test_add(self): self.person.stub_request("clients/%s/people.json" % self.client_id, "add_person.json") result = self.person.add( self.client_id, "person@example.com", "Person Name", 1023, "Password") - self.assertEquals(result.EmailAddress, "person@example.com") + self.assertEqual(result.EmailAddress, "person@example.com") def test_update(self): new_email = "new_email_address@example.com" self.person.stub_request("clients/%s/people.json?email=%s" % (self.client_id, quote(self.person.email_address)), None) self.person.update(new_email, "Person New Name", 31, 'blah') - self.assertEquals(self.person.email_address, new_email) + self.assertEqual(self.person.email_address, new_email) def test_delete(self): self.person.stub_request("clients/%s/people.json?email=%s" % diff --git a/test/test_segment.py b/test/test_segment.py index bfae56d..d14d9dc 100644 --- a/test/test_segment.py +++ b/test/test_segment.py @@ -14,8 +14,8 @@ def test_create(self): s.stub_request("segments/%s.json" % list_id, "create_segment.json", None, "{\"RuleGroups\": [{\"Rules\": [{\"Clause\": \"CONTAINS example.com\", \"RuleType\": \"EmailAddress\"}, {\"Clause\": \"EQUALS subscriber\", \"RuleType\": \"Name\"}]}], \"Title\": \"new segment title\"}") segment_id = s.create(list_id, "new segment title", rulegroups) - self.assertEquals(segment_id, "0246c2aea610a3545d9780bf6ab890061234") - self.assertEquals(s.segment_id, "0246c2aea610a3545d9780bf6ab890061234") + self.assertEqual(segment_id, "0246c2aea610a3545d9780bf6ab890061234") + self.assertEqual(s.segment_id, "0246c2aea610a3545d9780bf6ab890061234") def test_update(self): rulegroups = [ @@ -36,41 +36,41 @@ def test_subscribers(self): self.segment.stub_request("segments/%s/active.json?date=%s&orderfield=email&page=1&pagesize=1000&orderdirection=asc&includetrackinginformation=False" % (self.segment.segment_id, quote(min_date)), "segment_subscribers.json") res = self.segment.subscribers(min_date) - self.assertEquals(res.ResultsOrderedBy, "email") - self.assertEquals(res.OrderDirection, "asc") - self.assertEquals(res.PageNumber, 1) - self.assertEquals(res.PageSize, 1000) - self.assertEquals(res.RecordsOnThisPage, 2) - self.assertEquals(res.TotalNumberOfRecords, 2) - self.assertEquals(res.NumberOfPages, 1) - self.assertEquals(len(res.Results), 2) - self.assertEquals(res.Results[0].EmailAddress, "personone@example.com") - self.assertEquals(res.Results[0].Name, "Person One") - self.assertEquals(res.Results[0].Date, "2010-10-27 13:13:00") - self.assertEquals(res.Results[0].ListJoinedDate, "2010-10-27 13:13:00") - self.assertEquals(res.Results[0].State, "Active") - self.assertEquals(res.Results[0].CustomFields, []) + self.assertEqual(res.ResultsOrderedBy, "email") + self.assertEqual(res.OrderDirection, "asc") + self.assertEqual(res.PageNumber, 1) + self.assertEqual(res.PageSize, 1000) + self.assertEqual(res.RecordsOnThisPage, 2) + self.assertEqual(res.TotalNumberOfRecords, 2) + self.assertEqual(res.NumberOfPages, 1) + self.assertEqual(len(res.Results), 2) + self.assertEqual(res.Results[0].EmailAddress, "personone@example.com") + self.assertEqual(res.Results[0].Name, "Person One") + self.assertEqual(res.Results[0].Date, "2010-10-27 13:13:00") + self.assertEqual(res.Results[0].ListJoinedDate, "2010-10-27 13:13:00") + self.assertEqual(res.Results[0].State, "Active") + self.assertEqual(res.Results[0].CustomFields, []) def test_subscribers_with_tracking_information_included(self): min_date = "2010-01-01" self.segment.stub_request("segments/%s/active.json?date=%s&orderfield=email&page=1&pagesize=1000&orderdirection=asc&includetrackinginformation=True" % (self.segment.segment_id, quote(min_date)), "segment_subscribers_with_tracking_preference.json") res = self.segment.subscribers(min_date, include_tracking_information=True) - self.assertEquals(res.ResultsOrderedBy, "email") - self.assertEquals(res.OrderDirection, "asc") - self.assertEquals(res.PageNumber, 1) - self.assertEquals(res.PageSize, 1000) - self.assertEquals(res.RecordsOnThisPage, 2) - self.assertEquals(res.TotalNumberOfRecords, 2) - self.assertEquals(res.NumberOfPages, 1) - self.assertEquals(len(res.Results), 2) - self.assertEquals(res.Results[0].EmailAddress, "personone@example.com") - self.assertEquals(res.Results[0].Name, "Person One") - self.assertEquals(res.Results[0].Date, "2010-10-27 13:13:00") - self.assertEquals(res.Results[0].ListJoinedDate, "2010-10-27 13:13:00") - self.assertEquals(res.Results[0].State, "Active") - self.assertEquals(res.Results[0].CustomFields, []) - self.assertEquals(res.Results[0].ConsentToTrack, "Yes") + self.assertEqual(res.ResultsOrderedBy, "email") + self.assertEqual(res.OrderDirection, "asc") + self.assertEqual(res.PageNumber, 1) + self.assertEqual(res.PageSize, 1000) + self.assertEqual(res.RecordsOnThisPage, 2) + self.assertEqual(res.TotalNumberOfRecords, 2) + self.assertEqual(res.NumberOfPages, 1) + self.assertEqual(len(res.Results), 2) + self.assertEqual(res.Results[0].EmailAddress, "personone@example.com") + self.assertEqual(res.Results[0].Name, "Person One") + self.assertEqual(res.Results[0].Date, "2010-10-27 13:13:00") + self.assertEqual(res.Results[0].ListJoinedDate, "2010-10-27 13:13:00") + self.assertEqual(res.Results[0].State, "Active") + self.assertEqual(res.Results[0].CustomFields, []) + self.assertEqual(res.Results[0].ConsentToTrack, "Yes") def test_delete(self): self.segment.stub_request("segments/%s.json" % @@ -86,16 +86,16 @@ def test_details(self): self.segment.stub_request("segments/%s.json" % self.segment.segment_id, "segment_details.json") res = self.segment.details() - self.assertEquals(res.ActiveSubscribers, 0) - self.assertEquals(len(res.RuleGroups), 2) - self.assertEquals(res.RuleGroups[0].Rules[0].RuleType, "EmailAddress") - self.assertEquals(res.RuleGroups[0].Rules[ + self.assertEqual(res.ActiveSubscribers, 0) + self.assertEqual(len(res.RuleGroups), 2) + self.assertEqual(res.RuleGroups[0].Rules[0].RuleType, "EmailAddress") + self.assertEqual(res.RuleGroups[0].Rules[ 0].Clause, "CONTAINS @hello.com") - self.assertEquals(res.RuleGroups[1].Rules[0].RuleType, "Name") - self.assertEquals(res.RuleGroups[1].Rules[0].Clause, "PROVIDED") - self.assertEquals(res.ListID, "2bea949d0bf96148c3e6a209d2e82060") - self.assertEquals(res.SegmentID, "dba84a225d5ce3d19105d7257baac46f") - self.assertEquals(res.Title, "My Segment") + self.assertEqual(res.RuleGroups[1].Rules[0].RuleType, "Name") + self.assertEqual(res.RuleGroups[1].Rules[0].Clause, "PROVIDED") + self.assertEqual(res.ListID, "2bea949d0bf96148c3e6a209d2e82060") + self.assertEqual(res.SegmentID, "dba84a225d5ce3d19105d7257baac46f") + self.assertEqual(res.Title, "My Segment") class OAuthSegmentTestCase(unittest.TestCase, SegmentTestCase): diff --git a/test/test_subscriber.py b/test/test_subscriber.py index 766ecf0..bfeaa1c 100644 --- a/test/test_subscriber.py +++ b/test/test_subscriber.py @@ -12,56 +12,56 @@ def test_get(self): self.subscriber.stub_request("subscribers/%s.json?email=%s&includetrackingpreference=False" % (self.list_id, quote(email)), "subscriber_details.json") subscriber = self.subscriber.get(self.list_id, email) - self.assertEquals(subscriber.EmailAddress, email) - self.assertEquals(subscriber.Name, "Subscriber One") - self.assertEquals(subscriber.Date, "2010-10-25 10:28:00") - self.assertEquals(subscriber.ListJoinedDate, "2010-10-25 10:28:00") - self.assertEquals(subscriber.State, "Active") - self.assertEquals(len(subscriber.CustomFields), 3) - self.assertEquals(subscriber.CustomFields[0].Key, 'website') - self.assertEquals(subscriber.CustomFields[ + self.assertEqual(subscriber.EmailAddress, email) + self.assertEqual(subscriber.Name, "Subscriber One") + self.assertEqual(subscriber.Date, "2010-10-25 10:28:00") + self.assertEqual(subscriber.ListJoinedDate, "2010-10-25 10:28:00") + self.assertEqual(subscriber.State, "Active") + self.assertEqual(len(subscriber.CustomFields), 3) + self.assertEqual(subscriber.CustomFields[0].Key, 'website') + self.assertEqual(subscriber.CustomFields[ 0].Value, 'http://example.com') - self.assertEquals(subscriber.ReadsEmailWith, "Gmail") + self.assertEqual(subscriber.ReadsEmailWith, "Gmail") def test_get_without_arguments(self): email = "subscriber@example.com" self.subscriber.stub_request("subscribers/%s.json?email=%s&includetrackingpreference=False" % (self.list_id, quote(email)), "subscriber_details.json") subscriber = self.subscriber.get() - self.assertEquals(subscriber.EmailAddress, email) - self.assertEquals(subscriber.Name, "Subscriber One") - self.assertEquals(subscriber.Date, "2010-10-25 10:28:00") - self.assertEquals(subscriber.ListJoinedDate, "2010-10-25 10:28:00") - self.assertEquals(subscriber.State, "Active") - self.assertEquals(len(subscriber.CustomFields), 3) - self.assertEquals(subscriber.CustomFields[0].Key, 'website') - self.assertEquals(subscriber.CustomFields[ + self.assertEqual(subscriber.EmailAddress, email) + self.assertEqual(subscriber.Name, "Subscriber One") + self.assertEqual(subscriber.Date, "2010-10-25 10:28:00") + self.assertEqual(subscriber.ListJoinedDate, "2010-10-25 10:28:00") + self.assertEqual(subscriber.State, "Active") + self.assertEqual(len(subscriber.CustomFields), 3) + self.assertEqual(subscriber.CustomFields[0].Key, 'website') + self.assertEqual(subscriber.CustomFields[ 0].Value, 'http://example.com') - self.assertEquals(subscriber.ReadsEmailWith, "Gmail") + self.assertEqual(subscriber.ReadsEmailWith, "Gmail") def test_get_with_tracking_preference_included(self): email = "subscriber@example.com" self.subscriber.stub_request("subscribers/%s.json?email=%s&includetrackingpreference=True" % (self.list_id, quote(email)), "subscriber_details_with_tracking_preference.json") subscriber = self.subscriber.get(self.list_id, email, include_tracking_preference=True) - self.assertEquals(subscriber.EmailAddress, email) - self.assertEquals(subscriber.Name, "Subscriber One") - self.assertEquals(subscriber.Date, "2010-10-25 10:28:00") - self.assertEquals(subscriber.ListJoinedDate, "2010-10-25 10:28:00") - self.assertEquals(subscriber.State, "Active") - self.assertEquals(len(subscriber.CustomFields), 3) - self.assertEquals(subscriber.CustomFields[0].Key, 'website') - self.assertEquals(subscriber.CustomFields[ + self.assertEqual(subscriber.EmailAddress, email) + self.assertEqual(subscriber.Name, "Subscriber One") + self.assertEqual(subscriber.Date, "2010-10-25 10:28:00") + self.assertEqual(subscriber.ListJoinedDate, "2010-10-25 10:28:00") + self.assertEqual(subscriber.State, "Active") + self.assertEqual(len(subscriber.CustomFields), 3) + self.assertEqual(subscriber.CustomFields[0].Key, 'website') + self.assertEqual(subscriber.CustomFields[ 0].Value, 'http://example.com') - self.assertEquals(subscriber.ReadsEmailWith, "Gmail") - self.assertEquals(subscriber.ConsentToTrack, "Yes") + self.assertEqual(subscriber.ReadsEmailWith, "Gmail") + self.assertEqual(subscriber.ConsentToTrack, "Yes") def test_add_without_custom_fields(self): self.subscriber.stub_request( "subscribers/%s.json" % self.list_id, "add_subscriber.json") email_address = self.subscriber.add( self.list_id, "subscriber@example.com", "Subscriber", [], True, "Unchanged") - self.assertEquals(email_address, "subscriber@example.com") + self.assertEqual(email_address, "subscriber@example.com") def test_add_with_custom_fields(self): self.subscriber.stub_request( @@ -69,7 +69,7 @@ def test_add_with_custom_fields(self): custom_fields = [{"Key": 'website', "Value": 'http://example.com/'}] email_address = self.subscriber.add( self.list_id, "subscriber@example.com", "Subscriber", custom_fields, True, "No") - self.assertEquals(email_address, "subscriber@example.com") + self.assertEqual(email_address, "subscriber@example.com") def test_add_with_custom_fields_including_multioption(self): self.subscriber.stub_request( @@ -79,7 +79,7 @@ def test_add_with_custom_fields_including_multioption(self): {"Key": 'multioptionselectmany', "Value": 'secondoption'}] email_address = self.subscriber.add( self.list_id, "subscriber@example.com", "Subscriber", custom_fields, True, "Yes") - self.assertEquals(email_address, "subscriber@example.com") + self.assertEqual(email_address, "subscriber@example.com") def test_update_with_custom_fields(self): new_email = "new_email_address@example.com" @@ -87,7 +87,7 @@ def test_update_with_custom_fields(self): (self.list_id, quote(self.subscriber.email_address)), None) custom_fields = [{"Key": 'website', "Value": 'http://example.com/'}] self.subscriber.update(new_email, "Subscriber", custom_fields, True, "Yes") - self.assertEquals(self.subscriber.email_address, new_email) + self.assertEqual(self.subscriber.email_address, new_email) def test_update_with_custom_fields_including_clear_option(self): new_email = "new_email_address@example.com" @@ -96,7 +96,7 @@ def test_update_with_custom_fields_including_clear_option(self): custom_fields = [ {"Key": 'website', "Value": 'http://example.com/', "Clear": True}] self.subscriber.update(new_email, "Subscriber", custom_fields, True, "No") - self.assertEquals(self.subscriber.email_address, new_email) + self.assertEqual(self.subscriber.email_address, new_email) def test_import_subscribers(self): self.subscriber.stub_request( @@ -108,11 +108,11 @@ def test_import_subscribers(self): ] import_result = self.subscriber.import_subscribers( self.list_id, subscribers, True) - self.assertEquals(len(import_result.FailureDetails), 0) - self.assertEquals(import_result.TotalUniqueEmailsSubmitted, 3) - self.assertEquals(import_result.TotalExistingSubscribers, 0) - self.assertEquals(import_result.TotalNewSubscribers, 3) - self.assertEquals(len(import_result.DuplicateEmailsInSubmission), 0) + self.assertEqual(len(import_result.FailureDetails), 0) + self.assertEqual(import_result.TotalUniqueEmailsSubmitted, 3) + self.assertEqual(import_result.TotalExistingSubscribers, 0) + self.assertEqual(import_result.TotalNewSubscribers, 3) + self.assertEqual(len(import_result.DuplicateEmailsInSubmission), 0) def test_import_subscribers_start_subscription_autoresponders(self): self.subscriber.stub_request( @@ -124,11 +124,11 @@ def test_import_subscribers_start_subscription_autoresponders(self): ] import_result = self.subscriber.import_subscribers( self.list_id, subscribers, True, True) - self.assertEquals(len(import_result.FailureDetails), 0) - self.assertEquals(import_result.TotalUniqueEmailsSubmitted, 3) - self.assertEquals(import_result.TotalExistingSubscribers, 0) - self.assertEquals(import_result.TotalNewSubscribers, 3) - self.assertEquals(len(import_result.DuplicateEmailsInSubmission), 0) + self.assertEqual(len(import_result.FailureDetails), 0) + self.assertEqual(import_result.TotalUniqueEmailsSubmitted, 3) + self.assertEqual(import_result.TotalExistingSubscribers, 0) + self.assertEqual(import_result.TotalNewSubscribers, 3) + self.assertEqual(len(import_result.DuplicateEmailsInSubmission), 0) def test_import_subscribers_with_custom_fields_including_clear_option(self): self.subscriber.stub_request( @@ -143,11 +143,11 @@ def test_import_subscribers_with_custom_fields_including_clear_option(self): ] import_result = self.subscriber.import_subscribers( self.list_id, subscribers, True) - self.assertEquals(len(import_result.FailureDetails), 0) - self.assertEquals(import_result.TotalUniqueEmailsSubmitted, 3) - self.assertEquals(import_result.TotalExistingSubscribers, 0) - self.assertEquals(import_result.TotalNewSubscribers, 3) - self.assertEquals(len(import_result.DuplicateEmailsInSubmission), 0) + self.assertEqual(len(import_result.FailureDetails), 0) + self.assertEqual(import_result.TotalUniqueEmailsSubmitted, 3) + self.assertEqual(import_result.TotalExistingSubscribers, 0) + self.assertEqual(import_result.TotalNewSubscribers, 3) + self.assertEqual(len(import_result.DuplicateEmailsInSubmission), 0) def test_import_subscribers_partial_success(self): # Stub request with 400 Bad Request as the expected response status @@ -160,16 +160,16 @@ def test_import_subscribers_partial_success(self): ] import_result = self.subscriber.import_subscribers( self.list_id, subscribers, True) - self.assertEquals(len(import_result.FailureDetails), 1) - self.assertEquals(import_result.FailureDetails[ + self.assertEqual(len(import_result.FailureDetails), 1) + self.assertEqual(import_result.FailureDetails[ 0].EmailAddress, "example+1@example") - self.assertEquals(import_result.FailureDetails[0].Code, 1) - self.assertEquals(import_result.FailureDetails[ + self.assertEqual(import_result.FailureDetails[0].Code, 1) + self.assertEqual(import_result.FailureDetails[ 0].Message, "Invalid Email Address") - self.assertEquals(import_result.TotalUniqueEmailsSubmitted, 3) - self.assertEquals(import_result.TotalExistingSubscribers, 2) - self.assertEquals(import_result.TotalNewSubscribers, 0) - self.assertEquals(len(import_result.DuplicateEmailsInSubmission), 0) + self.assertEqual(import_result.TotalUniqueEmailsSubmitted, 3) + self.assertEqual(import_result.TotalExistingSubscribers, 2) + self.assertEqual(import_result.TotalNewSubscribers, 0) + self.assertEqual(len(import_result.DuplicateEmailsInSubmission), 0) def test_import_subscribers_complete_failure_because_of_bad_request(self): # Stub request with 400 Bad Request as the expected response status @@ -192,15 +192,15 @@ def test_history(self): self.subscriber.stub_request("subscribers/%s/history.json?email=%s" % ( self.list_id, quote(self.subscriber.email_address)), "subscriber_history.json") history = self.subscriber.history() - self.assertEquals(len(history), 1) - self.assertEquals(history[0].Name, "Campaign One") - self.assertEquals(history[0].Type, "Campaign") - self.assertEquals(history[0].ID, "fc0ce7105baeaf97f47c99be31d02a91") - self.assertEquals(len(history[0].Actions), 6) - self.assertEquals(history[0].Actions[0].Event, "Open") - self.assertEquals(history[0].Actions[0].Date, "2010-10-12 13:18:00") - self.assertEquals(history[0].Actions[0].IPAddress, "192.168.126.87") - self.assertEquals(history[0].Actions[0].Detail, "") + self.assertEqual(len(history), 1) + self.assertEqual(history[0].Name, "Campaign One") + self.assertEqual(history[0].Type, "Campaign") + self.assertEqual(history[0].ID, "fc0ce7105baeaf97f47c99be31d02a91") + self.assertEqual(len(history[0].Actions), 6) + self.assertEqual(history[0].Actions[0].Event, "Open") + self.assertEqual(history[0].Actions[0].Date, "2010-10-12 13:18:00") + self.assertEqual(history[0].Actions[0].IPAddress, "192.168.126.87") + self.assertEqual(history[0].Actions[0].Detail, "") def test_delete(self): self.subscriber.stub_request("subscribers/%s.json?email=%s" % diff --git a/test/test_template.py b/test/test_template.py index 40faa5c..e40f1db 100644 --- a/test/test_template.py +++ b/test/test_template.py @@ -11,18 +11,18 @@ def test_create(self): t.stub_request("templates/%s.json" % client_id, "create_template.json") template_id = t.create(client_id, "Template One", "http://templates.org/index.html", "http://templates.org/files.zip") - self.assertEquals(template_id, "98y2e98y289dh89h9383891234") - self.assertEquals(t.template_id, "98y2e98y289dh89h9383891234") + self.assertEqual(template_id, "98y2e98y289dh89h9383891234") + self.assertEqual(t.template_id, "98y2e98y289dh89h9383891234") def test_details(self): self.template.stub_request( "templates/%s.json" % self.template.template_id, "template_details.json") t = self.template.details() - self.assertEquals(t.TemplateID, "98y2e98y289dh89h938389") - self.assertEquals(t.Name, "Template One") - self.assertEquals( + self.assertEqual(t.TemplateID, "98y2e98y289dh89h938389") + self.assertEqual(t.Name, "Template One") + self.assertEqual( t.PreviewURL, "http://preview.createsend.com/createsend/templates/previewTemplate.aspx?ID=01AF532CD8889B33&d=r&c=E816F55BFAD1A753") - self.assertEquals( + self.assertEqual( t.ScreenshotURL, "http://preview.createsend.com/ts/r/14/833/263/14833263.jpg?0318092600") def test_update(self): From 31b532da41d11dfbd6d5502023ca6a6f3151de50 Mon Sep 17 00:00:00 2001 From: Mike Manger Date: Thu, 5 Dec 2024 11:01:25 +0000 Subject: [PATCH 05/15] Use pytest instead of depricated setup.py --- tox.ini | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index f0b97d8..6d50a02 100644 --- a/tox.ini +++ b/tox.ini @@ -10,10 +10,11 @@ env_list = py36, py37, py38, py39, py310, py311, py312, py313 [testenv] install_command=pip install {packages} commands = - coverage run --source=lib setup.py test + coverage run --source=pytest coverage report deps = coverage + pytest -e. [gh] From 5c22ebaa0de5d8932441412b3caedaa8db5a30f4 Mon Sep 17 00:00:00 2001 From: Mike Manger Date: Thu, 5 Dec 2024 11:08:51 +0000 Subject: [PATCH 06/15] Update tox command --- tox.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tox.ini b/tox.ini index 6d50a02..a6ec329 100644 --- a/tox.ini +++ b/tox.ini @@ -1,4 +1,4 @@ -# Tox (http://tox.testrun.org/) is a tool for running tests +# Tox (https://tox.wiki/) is a tool for running tests # in multiple virtualenvs. This configuration file will run the # test suite on all supported python versions. To use it, "pip install tox" # and then run "tox" from this directory. @@ -10,7 +10,7 @@ env_list = py36, py37, py38, py39, py310, py311, py312, py313 [testenv] install_command=pip install {packages} commands = - coverage run --source=pytest + coverage run -m pytest coverage report deps = coverage From 9b4a1f8b9331948d58ec33688da0a307c3f74a5e Mon Sep 17 00:00:00 2001 From: Mike Manger Date: Thu, 5 Dec 2024 11:20:44 +0000 Subject: [PATCH 07/15] Remove unsupported nosetests file --- nosetests.py | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 nosetests.py diff --git a/nosetests.py b/nosetests.py deleted file mode 100644 index c5abf62..0000000 --- a/nosetests.py +++ /dev/null @@ -1,3 +0,0 @@ -import nose - -nose.run() From 5ffd984d86f7839c5385b2e88a7d6452ae3b5d27 Mon Sep 17 00:00:00 2001 From: Mike Manger Date: Thu, 5 Dec 2024 12:00:07 +0000 Subject: [PATCH 08/15] Fix tox config --- tox.ini | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/tox.ini b/tox.ini index a6ec329..4ee3c3f 100644 --- a/tox.ini +++ b/tox.ini @@ -4,18 +4,15 @@ # and then run "tox" from this directory. [tox] -# pip is broken on py32 env_list = py36, py37, py38, py39, py310, py311, py312, py313 [testenv] -install_command=pip install {packages} commands = - coverage run -m pytest - coverage report + pytest --cov=lib deps = - coverage - pytest - -e. + pytest-cov +# This needs to be set to include the test fixtures +use_develop = true [gh] python = From 7b14b77970e09d0b72c167797844c5ff547153a1 Mon Sep 17 00:00:00 2001 From: Mike Manger Date: Thu, 5 Dec 2024 12:02:10 +0000 Subject: [PATCH 09/15] Add note about py 3.6 and lock tox env in workflow --- .github/workflows/tests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index fde9fae..3e9fa58 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -9,6 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: + # Python 3.6 is not supported by ubuntu-latest python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] steps: @@ -20,4 +21,4 @@ jobs: - name: Install dependencies run: pip install tox tox-gh - name: Test with tox - run: tox \ No newline at end of file + run: tox -e ${{ matrix.python-version }} \ No newline at end of file From 5367498baceb245ae7335eb920224329dec428c1 Mon Sep 17 00:00:00 2001 From: Mike Manger Date: Fri, 6 Dec 2024 10:27:59 +0000 Subject: [PATCH 10/15] Add upgrade pip step to workflow --- .github/workflows/tests.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 3e9fa58..24e71f1 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -19,6 +19,8 @@ jobs: with: python-version: ${{ matrix.python-version }} - name: Install dependencies - run: pip install tox tox-gh + run: | + python -m pip install --upgrade pip + pip install tox tox-gh - name: Test with tox run: tox -e ${{ matrix.python-version }} \ No newline at end of file From 026bf30d92a266db1d37f6f33c037ae8e7108ce5 Mon Sep 17 00:00:00 2001 From: Mike Manger Date: Fri, 6 Dec 2024 10:35:57 +0000 Subject: [PATCH 11/15] Correct typo in administrator tests --- test/test_administrator.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/test_administrator.py b/test/test_administrator.py index a6dfb78..fa4d4d1 100644 --- a/test/test_administrator.py +++ b/test/test_administrator.py @@ -42,7 +42,7 @@ def test_delete(self): email_address = self.administrator.delete() -class OAuthAdministatorTestCase(unittest.TestCase, AdministratorTestCase): +class OAuthAdministratorTestCase(unittest.TestCase, AdministratorTestCase): """Test when using OAuth to authenticate""" def setUp(self): @@ -50,7 +50,7 @@ def setUp(self): {"access_token": "ASP95S4aR+9KsgfHB0dapTYxNA==", "refresh_token": "5S4aASP9R+9KsgfHB0dapTYxNA=="}, "admin@example.com") -class ApiKeyAdministatorTestCase(unittest.TestCase, AdministratorTestCase): +class ApiKeyAdministratorTestCase(unittest.TestCase, AdministratorTestCase): """Test when using an API key to authenticate""" def setUp(self): From fafa56a5dd83104b4d67f32241ddc0c04e1f93cc Mon Sep 17 00:00:00 2001 From: Mike Manger Date: Fri, 6 Dec 2024 10:36:26 +0000 Subject: [PATCH 12/15] Fix minor typo in history file --- HISTORY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HISTORY.md b/HISTORY.md index 57f52b4..6f2d121 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -47,7 +47,7 @@ ## v5.0.0 - 10 Apr, 2018 -* Drop offical support for Python 2.6 +* Drop official support for Python 2.6 * Add a client-side timeout setting to `CreateSend` * No breaking changes for Python2.7 or Python3.x From 8def478f69731e6e3614e8bb18c8a52449166c29 Mon Sep 17 00:00:00 2001 From: Mike Manger Date: Fri, 6 Dec 2024 10:39:26 +0000 Subject: [PATCH 13/15] Drop python 3.7 support --- .github/workflows/tests.yml | 3 +-- setup.py | 2 -- tox.ini | 6 +++--- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 24e71f1..8333db7 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -9,8 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - # Python 3.6 is not supported by ubuntu-latest - python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] steps: - uses: actions/checkout@v4 diff --git a/setup.py b/setup.py index f1b2351..ca23681 100644 --- a/setup.py +++ b/setup.py @@ -34,8 +34,6 @@ "Programming Language :: Python :: 3", # Specifically, we support the following releases. - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", diff --git a/tox.ini b/tox.ini index 4ee3c3f..e0e87fe 100644 --- a/tox.ini +++ b/tox.ini @@ -4,20 +4,20 @@ # and then run "tox" from this directory. [tox] -env_list = py36, py37, py38, py39, py310, py311, py312, py313 +env_list = py38, py39, py310, py311, py312, py313 [testenv] commands = pytest --cov=lib deps = + pip pytest-cov # This needs to be set to include the test fixtures use_develop = true [gh] +# Maps python versions for GitHub workflow python = - 3.6: py36 - 3.7: py37 3.8: py38 3.9: py39 3.10: py310 From e05874b77b2c82764536f2089b4a84f9eeb695b1 Mon Sep 17 00:00:00 2001 From: Mike Manger Date: Fri, 6 Dec 2024 10:46:05 +0000 Subject: [PATCH 14/15] Configure dependabot to update GitHub actions. [skip ci] --- .github/dependabot.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..5d065a9 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,14 @@ +# Configure Dependabot scanning. +version: 2 + +updates: + # Check for updates to GitHub Actions. + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 10 + groups: + github-actions: + patterns: + - "*" From 049a06357530d05b53647167c5929008fff641fa Mon Sep 17 00:00:00 2001 From: Mike Manger Date: Fri, 6 Dec 2024 10:48:54 +0000 Subject: [PATCH 15/15] Remove pip as a dep from tox.ini --- tox.ini | 1 - 1 file changed, 1 deletion(-) diff --git a/tox.ini b/tox.ini index e0e87fe..4f04754 100644 --- a/tox.ini +++ b/tox.ini @@ -10,7 +10,6 @@ env_list = py38, py39, py310, py311, py312, py313 commands = pytest --cov=lib deps = - pip pytest-cov # This needs to be set to include the test fixtures use_develop = true